diff --git a/sendreceive/OBSW_SequentialSenderReceiver.py b/sendreceive/OBSW_SequentialSenderReceiver.py index e16cf3055f402f71cc1d47d008ca6ed367af4322..4215be1f91c9686212d95833b96101cc7bf179ab 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 94de8744dc523f390ea3b7dc75b9da57714eb4d9..7b377432254f8b23b49569bff9598989c1db52a8 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: