diff --git a/comIF/obsw_com_interface.py b/comIF/obsw_com_interface.py index cf4447b544b8bd864932d159a22d37340aae765b..dc511097375e15e566902fe2cc57b63037c49a0f 100644 --- a/comIF/obsw_com_interface.py +++ b/comIF/obsw_com_interface.py @@ -67,7 +67,7 @@ class CommunicationInterface: @abstractmethod def data_available(self, parameters: any) -> bool: """ - Check whether _tm_data is available + Check whether TM data is available :param parameters: :return: """ diff --git a/comIF/obsw_dummy_com_if.py b/comIF/obsw_dummy_com_if.py index 6730a5ba07bfc291e9b35860bbc60964fb7a24fe..ac4acc34e7d53c580020770efecc98deb665601d 100644 --- a/comIF/obsw_dummy_com_if.py +++ b/comIF/obsw_dummy_com_if.py @@ -10,9 +10,9 @@ from typing import Tuple from comIF.obsw_com_interface import CommunicationInterface from tc.obsw_pus_tc_base import PusTelecommand, PusTcInfoT, TcDictionaryKeys from tm.obsw_pus_tm_factory import PusTelemetryFactory -from tm.obsw_pus_tm_creator import PusTelemetryCreator from tm.obsw_tm_service_1 import Service1TmPacked + class DummyComIF(CommunicationInterface): def __init__(self, tmtc_printer): super().__init__(tmtc_printer) @@ -31,7 +31,7 @@ class DummyComIF(CommunicationInterface): pass def receive_telemetry(self, parameters: any = 0): - if self.service_sent == 17 and self.reply_pending: + if self.service_sent == 17 or self.service_sent == 5 and self.reply_pending: tm_packer = Service1TmPacked(subservice=1, ssc=0) tm_packet_raw = tm_packer.pack() tm_packet = PusTelemetryFactory.create(tm_packet_raw) diff --git a/comIF/obsw_serial_com_if.py b/comIF/obsw_serial_com_if.py index 14617c58cfd4469c6d6d221d9811b6ed063cb219..29371c183f1fb0899520f8f962367d0405f672b1 100644 --- a/comIF/obsw_serial_com_if.py +++ b/comIF/obsw_serial_com_if.py @@ -47,7 +47,6 @@ class SerialComIF(CommunicationInterface): sys.exit() def send_telecommand(self, tc_packet: bytearray, tc_packet_info: PusTcInfoT = None) -> None: - # self.tmtc_printer.print_telecommand(tc_packet, tc_packet_info) self.serial.write(tc_packet) def receive_telemetry(self, parameters: any = 0) -> PusTmListT: diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py index 167165ad7178b8dff5ec5e29471eec50f32771db..f4974460f5f609d5ac0ad37812f192df076136e3 100644 --- a/obsw_tmtc_client.py +++ b/obsw_tmtc_client.py @@ -124,7 +124,6 @@ class TmTcHandler: logger.info("TMTC Client in idle mode") time.sleep(5) - def handle_action(self): tmtc_printer = TmTcPrinter(g.G_DISPLAY_MODE, g.G_PRINT_TO_FILE, True) if self.mode == g.ModeList.GUIMode: diff --git a/sendreceive/obsw_sequential_sender_receiver.py b/sendreceive/obsw_sequential_sender_receiver.py index 952b54aab6a4e00ac67c38bd21b292e5e66f9592..f0b044a5377555cca6a6d4c93e7d434eb26bf462 100644 --- a/sendreceive/obsw_sequential_sender_receiver.py +++ b/sendreceive/obsw_sequential_sender_receiver.py @@ -12,8 +12,11 @@ from sendreceive.obsw_command_sender_receiver import CommandSenderReceiver from sendreceive.obsw_tm_listener import TmListener from comIF.obsw_com_interface import CommunicationInterface from utility.obsw_tmtc_printer import TmTcPrinter +from utility.obsw_logger import get_logger from tc.obsw_pus_tc_base import TcQueueT +logger = get_logger() + class SequentialCommandSenderReceiver(CommandSenderReceiver): """ @@ -61,9 +64,9 @@ class SequentialCommandSenderReceiver(CommandSenderReceiver): if not self.__mode_op_finished: self._tm_listener.mode_op_finished.set() self.__mode_op_finished = True - print("Sequential SenderReceiver: All replies received!") + logger.info("Sequential SenderReceiver: All replies received!") if g.G_PRINT_TO_FILE: - print("Sequential SenderReceiver: Exporting output to log file.") + logger.info("Sequential SenderReceiver: Exporting output to log file.") self._tmtc_printer.print_to_file("log/tmtc_log.txt", True) def __perform_next_tc_send(self): diff --git a/sendreceive/obsw_tm_listener.py b/sendreceive/obsw_tm_listener.py index 2020545c1859eb20c85aa3fee9000c0ce0d16bca..43ab5ec2e99276872247a10f682efd585b7618a0 100644 --- a/sendreceive/obsw_tm_listener.py +++ b/sendreceive/obsw_tm_listener.py @@ -123,6 +123,7 @@ class TmListener: self.__tm_packet_queue.append(self.com_interface.receive_telemetry()) start_time = time.time() elapsed_time = 0 + logger.info("TmListener: Listening for " + str(self.tm_timeout) + " seconds") while elapsed_time < self.tm_timeout: tm_ready = self.com_interface.data_available(1.0) if tm_ready: diff --git a/tc/obsw_pus_tc_packer.py b/tc/obsw_pus_tc_packer.py index 8a68bd7fe7c91d06b85efe99e23639153b9bd028..81ea745b20f45c1340a419c1454eacde01aed845 100644 --- a/tc/obsw_pus_tc_packer.py +++ b/tc/obsw_pus_tc_packer.py @@ -107,20 +107,19 @@ def pack_service9_test_into(tc_queue: TcQueueT) -> TcQueueT: def pack_service17_test_into(tc_queue: TcQueueT) -> TcQueueT: - tc_queue.appendleft(("print", "Testing Service 17")) + tc_queue.appendleft(("print", "Testing Service 17.")) # ping test - tc_queue.appendleft(("print", "\n\rTesting Service 17: Ping Test")) + tc_queue.appendleft(("print", "Testing Service 17: Ping Test")) command = PusTelecommand(service=17, subservice=1, ssc=1700) tc_queue.appendleft(command.pack_command_tuple()) # enable event - tc_queue.appendleft(("print", "\n\rTesting Service 17: Enable Event")) + tc_queue.appendleft(("print", "Testing Service 17: Enable Event")) command = PusTelecommand(service=5, subservice=5, ssc=52) tc_queue.appendleft(command.pack_command_tuple()) # test event - tc_queue.appendleft(("print", "\n\rTesting Service 17: Trigger event")) + tc_queue.appendleft(("print", "Testing Service 17: Trigger event")) command = PusTelecommand(service=17, subservice=128, ssc=1701) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft(("print", "\r")) tc_queue.appendleft(("export", "log/tmtc_log_service17.txt")) return tc_queue diff --git a/tm/obsw_pus_tm_base.py b/tm/obsw_pus_tm_base.py index 609b447a0c9987dbb4c98bc1ac2223ded6c48237..0a93bfd011ac7f6e4da306e565750133a4d73709 100644 --- a/tm/obsw_pus_tm_base.py +++ b/tm/obsw_pus_tm_base.py @@ -189,6 +189,12 @@ class PusTelemetry: """ logger.info(self.return_data_string(self._tm_data, len(self._tm_data))) + def return_source_data(self): + """ + Returns the source data string + """ + return self.return_data_string(self._tm_data, len(self._tm_data)) + @staticmethod def return_data_string(byte_array: bytearray, length: int) -> str: """ diff --git a/utility/obsw_tmtc_printer.py b/utility/obsw_tmtc_printer.py index 7b0117e923087512e79184d8f6b8018a6268a757..4f69c89bd8e797551488d218311f2c246e7e117e 100644 --- a/utility/obsw_tmtc_printer.py +++ b/utility/obsw_tmtc_printer.py @@ -72,7 +72,7 @@ class TmTcPrinter: def __handle_short_print(self, tm_packet: PusTelemetry): self.print_buffer = "Received TM[" + str(tm_packet.get_service()) + "," + str( tm_packet.get_subservice()) + "]" - print(self.print_buffer) + logger.info(self.print_buffer) self.add_print_buffer_to_file_buffer() def __handle_long_print(self, tm_packet: PusTelemetry): @@ -166,7 +166,7 @@ class TmTcPrinter: break else: self.print_buffer = self.print_buffer + ", " - print(self.print_buffer) + logger.info(self.print_buffer) self.add_print_buffer_to_file_buffer() def __handle_wiretapping_packet(self, wiretapping_packet: PusTelemetry): @@ -179,8 +179,8 @@ class TmTcPrinter: self.print_buffer = "Wiretapping Packet or Raw Reply from TM [" + \ str(wiretapping_packet.get_service()) + "," + \ str(wiretapping_packet.get_subservice()) + "]: " - self.print_buffer = self.print_buffer + wiretapping_packet.return_data_string() - print(self.print_buffer) + self.print_buffer = self.print_buffer + wiretapping_packet.return_source_data() + logger.info(self.print_buffer) self.add_print_buffer_to_file_buffer() def __handle_data_reply_packet(self, tm_packet: PusTelemetry): @@ -192,7 +192,7 @@ class TmTcPrinter: if tm_packet.get_service() == 8 and tm_packet.get_subservice() == 130: self.print_buffer = "Service 8 Direct Command Reply TM[8,130] with TM data: " \ + tm_packet.return_data_string() - print(self.print_buffer) + logger.info(self.print_buffer) def print_data(self, byte_array: bytearray): """ @@ -200,7 +200,7 @@ class TmTcPrinter: :return: None """ string = self.return_data_string(byte_array) - print(string) + logger.info(string) @staticmethod def return_data_string(byte_array: bytearray) -> str: @@ -224,7 +224,7 @@ class TmTcPrinter: :return: """ self.print_buffer = string - print(self.print_buffer) + logger.info(self.print_buffer) if self.do_print_to_file: self.add_print_buffer_to_file_buffer() @@ -244,13 +244,13 @@ class TmTcPrinter: try: file = open(log_name, 'w') except FileNotFoundError: - print("Log directory does not exists, creating log folder.") + logger.info("Log directory does not exists, creating log folder.") os.mkdir('log') file = open(log_name, 'w') file.write(self.file_buffer) if clear_file_buffer: self.file_buffer = "" - print("Log file written to " + log_name) + logger.info("Log file written to " + log_name) file.close() @staticmethod @@ -273,10 +273,10 @@ class TmTcPrinter: """ if self.print_tc: if len(tc_packet) == 0: - print("TMTC Printer: Empty packet was sent, configuration error") - sys.exit() + logger.error("TMTC Printer: Empty packet was sent, configuration error") + return if tc_packet_info is None: - print("TMTC Printer: No packet info supplied to print") + logger.error("TMTC Printer: No packet info supplied to print") return if self.display_mode == DisplayMode.SHORT: self.__handle_short_tc_print(tc_packet_info) @@ -310,5 +310,5 @@ class TmTcPrinter: logger.info(self.print_buffer) self.add_print_buffer_to_file_buffer() - except TypeError: - print("TMTC Printer: Type Error !") + except TypeError as e: + logger.error("TMTC Printer: Type Error! Traceback: " + str(e))