diff --git a/config/obsw_definitions.py b/config/obsw_definitions.py index bfa7674b22288d7558282e64901b93f9908cbb19..738119abdf4f43de91c60393b82652efb511962b 100644 --- a/config/obsw_definitions.py +++ b/config/obsw_definitions.py @@ -6,13 +6,14 @@ ethernetAddressT = Tuple[str, int] # Mode options, set by args parser class ModeList(enum.Enum): - GUIMode = 0 + Idle = 0 ListenerMode = 1 SingleCommandMode = 2 ServiceTestMode = 3 SoftwareTestMode = 4 BinaryUploadMode = 5 UnitTest = 6 + GUIMode = 7 PromptMode = 32 diff --git a/obsw_tmtc_client.py b/obsw_tmtc_client.py index bac67ce2f73e50344bc34db8b641c147010aeafc..49240685d10cded979d0bdbca31e89a4715f9a8a 100755 --- a/obsw_tmtc_client.py +++ b/obsw_tmtc_client.py @@ -144,8 +144,11 @@ class TmTcHandler: if self.command_received: self.command_received = False self.handle_action() - LOGGER.info("TMTC Client in idle mode") - time.sleep(5) + if self.mode == g.ModeList.Idle: + LOGGER.info("TMTC Client in idle mode") + time.sleep(5) + if self.mode == g.ModeList.ListenerMode: + time.sleep(1) except KeyboardInterrupt: LOGGER.info("Closing TMTC client.") sys.exit() diff --git a/tm/obsw_pus_tm_factory_hook.py b/tm/obsw_pus_tm_factory_hook.py index 7a295807d3bb73ad0a524b3aacf91948bd6e0ee8..94899de4acb68c275049ca88e28cd29c6be22a96 100644 --- a/tm/obsw_pus_tm_factory_hook.py +++ b/tm/obsw_pus_tm_factory_hook.py @@ -1,9 +1,12 @@ from tmtc_core.tm.obsw_pus_tm_base import PusTelemetry +from tmtc_core.utility.obsw_logger import get_logger from tm.obsw_tm_service_1 import Service1TM from tm.obsw_tm_service_3 import Service3TM from tm.obsw_tm_service_5 import Service5TM import struct +LOGGER = get_logger() + def tm_factory_hook(raw_tm_packet: bytearray) -> PusTelemetry: service_type = raw_tm_packet[7] @@ -23,7 +26,7 @@ def tm_factory_hook(raw_tm_packet: bytearray) -> PusTelemetry: return Service20TM(raw_tm_packet) if service_type == 200: return Service200TM(raw_tm_packet) - print("The service " + str(service_type) + " is not implemented in Telemetry Factory") + LOGGER.info("The service " + str(service_type) + " is not implemented in Telemetry Factory") return PusTelemetry(raw_tm_packet) diff --git a/tm/obsw_tm_service_3.py b/tm/obsw_tm_service_3.py index 8e5fb596c2884d482e1276c03340cec85110fe4d..a88e79972f43f662aeb86ee9deaba2c620250b9b 100644 --- a/tm/obsw_tm_service_3.py +++ b/tm/obsw_tm_service_3.py @@ -8,11 +8,14 @@ Author: R. Mueller from tmtc_core.tm.obsw_pus_tm_base import PusTelemetry from typing import Type +from tmtc_core.utility.obsw_logger import get_logger import struct +LOGGER = get_logger() + class Service3TM(PusTelemetry): - def __init__(self, byte_array: bytes): + def __init__(self, byte_array: bytearray): super().__init__(byte_array) # print("Length of TM data: " + str(len(self._tm_data))) self.sid = struct.unpack('>I', self._tm_data[0:4])[0] @@ -65,6 +68,8 @@ class Service3TM(PusTelemetry): self.handle_gps_hk_data() elif self.sid == 0x4300 or self.sid == 0x4400: self.handle_test_hk_data() + else: + LOGGER.info("Service 3 TM: Parsing for this SID has not been implemented.") def handle_gps_hk_data(self): # TODO: size check. sth not right with gps 0 test