From a3d05f352119b11cffe98e806f34f41097c5eafc Mon Sep 17 00:00:00 2001 From: Pedro Date: Thu, 14 Dec 2023 17:41:57 +0100 Subject: [PATCH] Improve ARQ setting of failed state --- modem/arq_session_iss.py | 4 +++- tests/test_arq_session.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modem/arq_session_iss.py b/modem/arq_session_iss.py index 995ec295..6b4856d6 100644 --- a/modem/arq_session_iss.py +++ b/modem/arq_session_iss.py @@ -59,9 +59,11 @@ class ARQSessionISS(arq_session.ARQSession): for f in burst: self.transmit_frame(f) if self.event_frame_received.wait(timeout): - self.log("Timeout interrupted due to received frame.") break + self.log("Timeout...") retries = retries - 1 + self.set_state(self.STATE_FAILED) + self.log("Session failed") def launch_twr(self, frame_or_burst, timeout, retries): twr = threading.Thread(target = self.transmit_wait_and_retry, args=[frame_or_burst, timeout, retries]) diff --git a/tests/test_arq_session.py b/tests/test_arq_session.py index 305c5acf..027effce 100644 --- a/tests/test_arq_session.py +++ b/tests/test_arq_session.py @@ -72,7 +72,7 @@ class TestARQSession(unittest.TestCase): def testARQSession(self): # set Packet Error Rate (PER) / frame loss probability - self.loss_probability = 0 + self.loss_probability = 30 self.establishChannels() params = {