diff --git a/sendreceive/obsw_multiple_commands_sender_receiver.py b/sendreceive/obsw_multiple_commands_sender_receiver.py index 7cc029eae50f6afd338c461a6b711da7250f4693..c6f477d6a42ee5344ba500ae178aa4717cb9f28b 100644 --- a/sendreceive/obsw_multiple_commands_sender_receiver.py +++ b/sendreceive/obsw_multiple_commands_sender_receiver.py @@ -43,7 +43,7 @@ class MultipleCommandSenderReceiver(SequentialCommandSenderReceiver): self.waitIntervals = wait_intervals self.waitTime = wait_time self.printTm = print_tm - self.tmInfoQueue = deque() + self.tmTupleQueue = deque() self.tcInfoQueue = deque() self.pusPacketInfo = [] self.pusPacket = [] @@ -56,7 +56,7 @@ class MultipleCommandSenderReceiver(SequentialCommandSenderReceiver): # TC info queue is set in this function self.__send_all_queue() self.wait_for_last_replies_listening(self._tm_timeout / 1.5) - self.tmInfoQueue = self.__retrieve_listener_tm_info_queue() + self.tmTupleQueue = self.__retrieve_listener_tm_tuple() self._tm_listener.modeOpFinished.set() if g.G_PRINT_TO_FILE: self._tmtc_printer.print_to_file() @@ -64,7 +64,7 @@ class MultipleCommandSenderReceiver(SequentialCommandSenderReceiver): print("Keyboard Interrupt or System Exit detected") exit() - return self.tcInfoQueue, self.tmInfoQueue + return self.tcInfoQueue, self.tmTupleQueue def __handle_tc_resending(self): while not self.__all_replies_received: @@ -93,15 +93,15 @@ class MultipleCommandSenderReceiver(SequentialCommandSenderReceiver): else: time.sleep(self.waitTime) - def __retrieve_listener_tm_info_queue(self): + def __retrieve_listener_tm_tuple(self): if self._tm_listener.replyEvent.is_set(): - return self._tm_listener.tmInfoQueue + return self._tm_listener.tmTupleQueue else: print("Multiple Command SenderReceiver: Configuration error," " reply event not set in TM listener") - def __clear_listener_tm_info_queue(self): - self._tm_listener.tmInfoQueue.clear() + def __clear_listener_tm_tuple(self): + self._tm_listener.tmTupleQueue.clear() @staticmethod def wait_for_last_replies_listening(wait_time: float): diff --git a/sendreceive/obsw_tm_listener.py b/sendreceive/obsw_tm_listener.py index 8954462651acdcedc5de2544cde4d442ea5d0312..ab4e4faee1177025452e3f8cae57b50295541533 100644 --- a/sendreceive/obsw_tm_listener.py +++ b/sendreceive/obsw_tm_listener.py @@ -54,7 +54,7 @@ class TmListener: # if a reply has been received self.replyEvent = threading.Event() # Will be filled for the Unit Test - self.tmInfoQueue = deque() + self.tmTupleQueue = deque() def start(self): self.listenerThread.start() @@ -101,7 +101,7 @@ class TmListener: print("TM Listener: Reply sequence received!") self.replyEvent.set() elif self.modeId == g.ModeList.UnitTest: - self.tmInfoQueue = self.comInterface.receive_telemetry_and_store_info(self.tmInfoQueue) + self.tmTupleQueue = self.comInterface.receive_telemetry_and_store_tuple(self.tmTupleQueue) self.replyEvent.set() def checkForOneTelemetrySequence(self) -> bool: diff --git a/test/obsw_module_test.py b/test/obsw_module_test.py index 39b6d088366f989b4ce2b90498147f33232dfb95..750923b197ba9f5f7625704d15d256e0ba4a5e6e 100644 --- a/test/obsw_module_test.py +++ b/test/obsw_module_test.py @@ -115,7 +115,11 @@ class TestService(unittest.TestCase): com_interface=self.communication_interface, tmtc_printer=self.tmtc_printer, tm_listener=self.tm_listener, tc_queue=self.test_queue, wait_intervals=self.wait_intervals, wait_time=self.wait_time, print_tm=g.G_PRINT_RAW_TM) - (tc_info_queue, tm_info_queue) = module_tester.send_tc_queue_and_return_info() + (tc_info_queue, tm_tuple_queue) = module_tester.send_tc_queue_and_return_info() + tm_info_queue = deque() + while tm_tuple_queue.__len__() != 0: + (tm_info, tm_packet) = tm_tuple_queue.pop() + tm_info_queue.append(tm_info) assertion_dict = self._analyse_tm_tc_info(tm_info_queue, tc_info_queue) return assertion_dict @@ -216,6 +220,7 @@ class TestService(unittest.TestCase): assertion_dict.update({"MiscCount": self.misc_counter}) @classmethod + # we could print out everything here. def tearDownClass(cls): cls.event_counter = 0 cls.tc_verify_counter = 0 diff --git a/test/obsw_pus_service_test.py b/test/obsw_pus_service_test.py index 2e0777e460988d700b43e2e9d9897f736060f6be..7746da36218a5d2250a8146ef17a217279705f32 100644 --- a/test/obsw_pus_service_test.py +++ b/test/obsw_pus_service_test.py @@ -104,7 +104,7 @@ class TestService8(TestService): super().setUpClass() print("Testing Service 8") cls.wait_intervals = [1, 2, 3, 4] - cls.wait_time = [1.5, 1.0, 1.0, 1.0] + cls.wait_time = [1.5, 1.0, 1.0, 1.5] cls.data_reply_count = 0 pack_service8_test_into(cls.test_queue) diff --git a/tm/obsw_tm_service_3.py b/tm/obsw_tm_service_3.py index 0a62a17cfc4fe35f893531d1b0180af093dcf25b..980f8dfa75ff8bcd5e64100ab22717eda4a5cd4d 100644 --- a/tm/obsw_tm_service_3.py +++ b/tm/obsw_tm_service_3.py @@ -16,7 +16,7 @@ PusTm3T = TypeVar('PusTm3T', bound='Service3TM') class Service3TM(PusTelemetry): def __init__(self, byte_array: bytes): super().__init__(byte_array) - print("Length of TM data: " + str(len(self._tm_data))) + # print("Length of TM data: " + str(len(self._tm_data))) self.sid = struct.unpack('>I', self._tm_data[0:4])[0] self.hkHeader = [] self.hkContent = []