mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
fixed some ARQ timing issues
This commit is contained in:
parent
55017df9cc
commit
99c74cfd74
3 changed files with 18 additions and 14 deletions
|
@ -275,7 +275,7 @@ def arq_transmit(data_out):
|
||||||
|
|
||||||
# --------------------------- START TIMER FOR WAITING FOR ACK ---> IF TIMEOUT REACHED, ACK_TIMEOUT = 1
|
# --------------------------- START TIMER FOR WAITING FOR ACK ---> IF TIMEOUT REACHED, ACK_TIMEOUT = 1
|
||||||
|
|
||||||
logging.info("ARQ | RX | WAITING FOR BURST ACK")
|
logging.debug("ARQ | RX | WAITING FOR BURST ACK")
|
||||||
static.CHANNEL_STATE = 'RECEIVING_SIGNALLING'
|
static.CHANNEL_STATE = 'RECEIVING_SIGNALLING'
|
||||||
|
|
||||||
helpers.arq_reset_timeout(False)
|
helpers.arq_reset_timeout(False)
|
||||||
|
@ -316,7 +316,7 @@ def arq_transmit(data_out):
|
||||||
|
|
||||||
while static.ARQ_ACK_RECEIVED == False and static.ARQ_FRAME_ACK_RECEIVED == False and static.ARQ_RX_RPT_TIMEOUT == False:
|
while static.ARQ_ACK_RECEIVED == False and static.ARQ_FRAME_ACK_RECEIVED == False and static.ARQ_RX_RPT_TIMEOUT == False:
|
||||||
time.sleep(0.01) # lets reduce CPU load a little bit
|
time.sleep(0.01) # lets reduce CPU load a little bit
|
||||||
logging.debug(static.ARQ_STATE)
|
logging.info(static.ARQ_STATE)
|
||||||
|
|
||||||
if static.ARQ_ACK_RECEIVED == True:
|
if static.ARQ_ACK_RECEIVED == True:
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ def arq_transmit(data_out):
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
elif static.ARQ_ACK_RECEIVED == True and static.ARQ_RX_ACK_TIMEOUT == 1:
|
elif static.ARQ_ACK_RECEIVED == False and static.ARQ_RX_ACK_TIMEOUT == True:
|
||||||
logging.warning("ARQ | RX | ACK TIMEOUT!")
|
logging.warning("ARQ | RX | ACK TIMEOUT!")
|
||||||
pass # no break here so we can continue with the next try of repeating the burst
|
pass # no break here so we can continue with the next try of repeating the burst
|
||||||
|
|
||||||
|
@ -356,7 +356,9 @@ def arq_transmit(data_out):
|
||||||
break
|
break
|
||||||
|
|
||||||
else:
|
else:
|
||||||
logging.debug("------------------------------->NO RULE MATCHED!")
|
logging.info("------------------------------->NO RULE MATCHED!")
|
||||||
|
print("ARQ_ACK_RECEIVED " + str(static.ARQ_ACK_RECEIVED))
|
||||||
|
print("ARQ_RX_ACK_TIMEOUT " + str(static.ARQ_RX_ACK_TIMEOUT))
|
||||||
break
|
break
|
||||||
|
|
||||||
# --------------------------------WAITING AREA FOR FRAME ACKs
|
# --------------------------------WAITING AREA FOR FRAME ACKs
|
||||||
|
|
13
helpers.py
13
helpers.py
|
@ -62,14 +62,23 @@ def data_channel_keep_alive_watchdog():
|
||||||
|
|
||||||
if static.ARQ_STATE == 'DATA' and static.TNC_STATE == 'BUSY': # and not static.ARQ_SEND_KEEP_ALIVE:
|
if static.ARQ_STATE == 'DATA' and static.TNC_STATE == 'BUSY': # and not static.ARQ_SEND_KEEP_ALIVE:
|
||||||
time.sleep(0.01)
|
time.sleep(0.01)
|
||||||
if static.ARQ_DATA_CHANNEL_LAST_RECEIVED + 10 > time.time():
|
if static.ARQ_DATA_CHANNEL_LAST_RECEIVED + 30 > time.time():
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
static.ARQ_DATA_CHANNEL_LAST_RECEIVED = 0
|
static.ARQ_DATA_CHANNEL_LAST_RECEIVED = 0
|
||||||
logging.info("DATA [" + str(static.MYCALLSIGN, 'utf-8') + "]<< >>[" + str(static.DXCALLSIGN, 'utf-8') + "] [BER." + str(static.BER) + "]")
|
logging.info("DATA [" + str(static.MYCALLSIGN, 'utf-8') + "]<<T>>[" + str(static.DXCALLSIGN, 'utf-8') + "] [BER." + str(static.BER) + "]")
|
||||||
arq_reset_frame_machine()
|
arq_reset_frame_machine()
|
||||||
|
|
||||||
|
|
||||||
|
#async def set_after_timeout():
|
||||||
|
# """
|
||||||
|
# Author: DJ2LS
|
||||||
|
# """
|
||||||
|
# while True:
|
||||||
|
# time.sleep(1)
|
||||||
|
# static.ARQ_RX_ACK_TIMEOUT = True
|
||||||
|
# await asyncio.sleep(1.1)
|
||||||
|
|
||||||
|
|
||||||
def arq_ack_timeout():
|
def arq_ack_timeout():
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -135,10 +135,7 @@ ARQ_N_SENT_FRAMES = 0 # counter for already sent frames
|
||||||
# SENDING_ACK
|
# SENDING_ACK
|
||||||
# ACK_RECEIVED
|
# ACK_RECEIVED
|
||||||
|
|
||||||
# CONNECTED
|
# DATA
|
||||||
# DISCONNECTED
|
|
||||||
# CONNECTING
|
|
||||||
# DISCONNECTING
|
|
||||||
ARQ_STATE = 'IDLE'
|
ARQ_STATE = 'IDLE'
|
||||||
|
|
||||||
# RECEIVING_SIGNALLING
|
# RECEIVING_SIGNALLING
|
||||||
|
@ -156,10 +153,6 @@ ARQ_READY_FOR_DATA = False
|
||||||
ARQ_DATA_CHANNEL_MODE = 12
|
ARQ_DATA_CHANNEL_MODE = 12
|
||||||
ARQ_DATA_CHANNEL_LAST_RECEIVED = 0
|
ARQ_DATA_CHANNEL_LAST_RECEIVED = 0
|
||||||
|
|
||||||
# SEND KEEP ALIVE ONLY IF WE WANT
|
|
||||||
ARQ_SEND_KEEP_ALIVE = True
|
|
||||||
ARQ_CONNECTION_KEEP_ALIVE_RECEIVED = 0
|
|
||||||
#ARQ_WAIT_FOR_DISCONNECT = False
|
|
||||||
|
|
||||||
# ------- TX BUFFER
|
# ------- TX BUFFER
|
||||||
TX_BUFFER_SIZE = 0
|
TX_BUFFER_SIZE = 0
|
||||||
|
|
Loading…
Reference in a new issue