mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
WIP ARQ - adjustments to timeout
This commit is contained in:
parent
6b7df9d0a6
commit
b2a83568e1
1 changed files with 5 additions and 6 deletions
|
@ -68,8 +68,7 @@ class ARQSessionIRS(arq_session.ARQSession):
|
|||
def transmit_and_wait(self, frame, timeout, mode):
|
||||
self.transmit_frame(frame, mode)
|
||||
self.log(f"Waiting {timeout} seconds...")
|
||||
if not self.event_frame_received.wait(timeout):
|
||||
# use case: data burst got lost, we want to send a NACK with updated speed level
|
||||
if timeout and not self.event_frame_received.wait(timeout):
|
||||
if self.state in [self.STATE_BURST_REPLY_SENT, self.STATE_INFO_ACK_SENT]:
|
||||
self.transmitted_acks = 0
|
||||
self.calibrate_speed_settings()
|
||||
|
@ -112,7 +111,7 @@ class ARQSessionIRS(arq_session.ARQSession):
|
|||
self.calibrate_speed_settings()
|
||||
self.set_modem_decode_modes(self.speed_level)
|
||||
nack = self.frame_factory.build_arq_burst_ack(self.id, self.received_bytes, self.speed_level, self.frames_per_burst, self.snr[0])
|
||||
self.transmit_and_wait(nack)
|
||||
self.launch_transmit_and_wait(nack, None, mode=FREEDV_MODE.signalling)
|
||||
|
||||
|
||||
def set_modem_decode_modes(self, speed_level):
|
||||
|
@ -161,13 +160,13 @@ class ARQSessionIRS(arq_session.ARQSession):
|
|||
if not self.all_data_received():
|
||||
# increase ack counter
|
||||
self.transmitted_acks += 1
|
||||
self.transmit_and_wait(ack)
|
||||
self.launch_transmit_and_wait(ack, None, mode=FREEDV_MODE.signalling)
|
||||
self.set_state(self.STATE_BURST_REPLY_SENT)
|
||||
return
|
||||
|
||||
if self.final_crc_check():
|
||||
self.log("All data received successfully!")
|
||||
self.transmit_frame(ack)
|
||||
self.launch_transmit_and_wait(ack, None, mode=FREEDV_MODE.signalling)
|
||||
self.set_state(self.STATE_ENDED)
|
||||
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue