WIP ARQ - more fixes

This commit is contained in:
DJ2LS 2023-12-15 16:40:05 +01:00
parent a970f96165
commit 4d59311f66
3 changed files with 4 additions and 5 deletions

View file

@ -18,7 +18,7 @@ class ARQSessionISS(arq_session.ARQSession):
RETRIES_CONNECT = 3
TIMEOUT_CONNECT_ACK = 7
TIMEOUT_TRANSFER = 3
TIMEOUT_TRANSFER = 10
STATE_TRANSITION = {
STATE_OPEN_SENT: {
@ -52,6 +52,7 @@ class ARQSessionISS(arq_session.ARQSession):
def transmit_wait_and_retry(self, frame_or_burst, timeout, retries, mode):
while retries > 0:
self.event_frame_received = threading.Event()
if isinstance(frame_or_burst, list): burst = frame_or_burst
else: burst = [frame_or_burst]
for f in burst:

View file

@ -233,12 +233,11 @@ class DataFrameFactory:
def get_available_data_payload_for_mode(self, type: FR_TYPE, mode:codec2.FREEDV_MODE):
whole_frame_length = self.get_bytes_per_frame(mode)
available = whole_frame_length - 2 # - CRC16
#available = available - 1 # - FRAME TYPE
available = available - 1 # - FRAME TYPE
print(self.template_list[type.value].items())
for field, length in self.template_list[type.value].items():
if field != 'frame_length' and isinstance(length, int):
available -= length
return available
def build_ping(self, destination):

View file

@ -268,7 +268,6 @@ class RF:
"""
self.demodulator.reset_data_sync()
# get freedv instance by mode
mode_transition = {
codec2.FREEDV_MODE.datac0: self.freedv_datac0_tx,