From 504c15f5ef8267cfe07d93abde88478f82959e7a Mon Sep 17 00:00:00 2001
From: Robin Mueller <robin.mueller.m@gmail.com>
Date: Mon, 9 Mar 2020 23:34:40 +0100
Subject: [PATCH] tmtc refactoring continued

---
 sendreceive/OBSW_SequentialSenderReceiver.py | 16 ++++------------
 sendreceive/OBSW_TmListener.py               |  4 ++--
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/sendreceive/OBSW_SequentialSenderReceiver.py b/sendreceive/OBSW_SequentialSenderReceiver.py
index e16cf30..4215be1 100644
--- a/sendreceive/OBSW_SequentialSenderReceiver.py
+++ b/sendreceive/OBSW_SequentialSenderReceiver.py
@@ -119,23 +119,15 @@ class SequentialCommandSenderReceiver(CommandSenderReceiver):
 
     def handleReplyListening(self):
         if self.firstReplyReceived:
-            tmReady = self.comInterface.dataAvailable(1.0)
-            if tmReady:
-                self.handleTelemetrySequence()
-        else:
-            self.handleFirstReplyListening()
-
-    def handleTelemetrySequence(self):
-        if self.seqSenderActive.is_set():
-            success = self.tmListener.checkForOneTelemetrySequence()
-            if success:
-                # set this flag so the other thread can send the next telecommand
+            if self.tmListener.replyEvent.is_set():
                 self.replyReceived = True
                 self.tmListener.replyEvent.clear()
             if self.tcQueue.empty():
-                print("Receiver: All replies received")
+                print("All replies recevied !")
                 self.tmListener.modeOpFinished.set()
                 self.allRepliesReceived = True
+        else:
+            self.handleFirstReplyListening()
 
     def handleFirstReplyListening(self):
         while not self.firstReplyReceived and self.seqSenderActive.is_set():
diff --git a/sendreceive/OBSW_TmListener.py b/sendreceive/OBSW_TmListener.py
index 94de874..7b37743 100644
--- a/sendreceive/OBSW_TmListener.py
+++ b/sendreceive/OBSW_TmListener.py
@@ -58,7 +58,7 @@ class TmListener:
         self.comInterface.pollInterface()
         if self.modeChangeEvent.is_set():
             # TODO: We should put this in a timeout.. Each mode operation up until now only takes
-            #       a maximum specified time. Otherwise, this is a permanent loop
+            #       a maximum specified time (software test 5 minutes maybe?). Otherwise, this is a permanent loop
             self.modeChangeEvent.clear()
             self.modeId = g.modeList[1]  # After Mode Operation, mode will be listener mode.
             while not self.modeOpFinished.is_set():
@@ -85,7 +85,7 @@ class TmListener:
                 print("Reply sequence received!")
                 self.replyEvent.set()
 
-    def checkForOneTelemetrySequence(self):
+    def checkForOneTelemetrySequence(self) -> bool:
         """
         Receive all telemetry for a specified time period.
         :return:
-- 
GitLab