From c9ec1c9ad7188ed22fb1152e6f2c80376e813dd2 Mon Sep 17 00:00:00 2001
From: "Robin.Mueller" <robin.mueller.m@gmail.com>
Date: Sun, 6 Sep 2020 18:46:39 +0200
Subject: [PATCH] preparations for hk parsing

---
 config/obsw_definitions.py     | 3 ++-
 obsw_tmtc_client.py            | 7 +++++--
 tm/obsw_pus_tm_factory_hook.py | 5 ++++-
 tm/obsw_tm_service_3.py        | 7 ++++++-
 4 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/config/obsw_definitions.py b/config/obsw_definitions.py
index bfa7674..738119a 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 bac67ce..4924068 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 7a29580..94899de 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 8e5fb59..a88e799 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
-- 
GitLab