From 03596fa7955e2efb3361c45bbfc0dd6b58199983 Mon Sep 17 00:00:00 2001
From: Robin Mueller <robin.mueller.m@gmail.com>
Date: Sun, 29 Dec 2019 02:06:03 +0100
Subject: [PATCH] tmtc script service 3 init

---
 tm/OBSW_PusPacket.py        | 8 ++++++++
 tm/OBSW_TmPacket.py         | 9 +++++++++
 utility/OBSW_TmTcPrinter.py | 2 +-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/tm/OBSW_PusPacket.py b/tm/OBSW_PusPacket.py
index d664adc..55d2fe3 100644
--- a/tm/OBSW_PusPacket.py
+++ b/tm/OBSW_PusPacket.py
@@ -134,6 +134,14 @@ class OBSWPusPacket:
     def getSSC(self):
         return self.PUSHeader.sourceSequenceCount
 
+    def printData(self):
+        strToPrint = "["
+        for byte in self.data:
+            strToPrint += str(hex(byte)) + " , "
+            strToPrint = strToPrint.rstrip(' , ')
+            strToPrint += ']'
+        return strToPrint
+
 # Structure of a PUS Packet :
 # A PUS packet consists of consecutive bits, the allocation and structure is standardised.
 # Extended information can be found in ECSS-E-70-41A  on p.42
diff --git a/tm/OBSW_TmPacket.py b/tm/OBSW_TmPacket.py
index 2e86c07..b7dbb39 100644
--- a/tm/OBSW_TmPacket.py
+++ b/tm/OBSW_TmPacket.py
@@ -133,13 +133,22 @@ class Service2TM(PUSTelemetry):
 class Service3TM(PUSTelemetry):
     def __init__(self, byteArray):
         super().__init__(byteArray)
+        self.sid = struct.unpack('>I', self.byteArrayData[0:4])[0]
+        if self.getSubservice() == 25:
+            self.paramLength = len(self.byteArrayData) - 4
+        if self.sid == 0x1f00:
+            pass
 
     def printTelemetryHeader(self, array):
         super().printTelemetryHeader(array)
+        array.append(hex(self.sid))
+        array.append(int(self.paramLength))
         return
 
     def printTelemetryColumnHeaders(self, array):
         super().printTelemetryColumnHeaders(array)
+        array.append("SID")
+        array.append("Number of Parameters")
         return
 
 
diff --git a/utility/OBSW_TmTcPrinter.py b/utility/OBSW_TmTcPrinter.py
index 919ff6f..0b97240 100644
--- a/utility/OBSW_TmTcPrinter.py
+++ b/utility/OBSW_TmTcPrinter.py
@@ -13,7 +13,7 @@ import OBSW_Config as g
 
 # TODO: Print everything in a file
 class TmtcPrinter:
-    def __init__(self, displayMode, doPrintToFile, printTc):
+    def __init__(self, displayMode="long", doPrintToFile=False, printTc=True):
         self.printBuffer = ""
         # global print buffer which will be useful to print something to file
         self.fileBuffer = ""
-- 
GitLab