From 0178d3ffcff8ef82bb11630b9489a61d73e3e06a Mon Sep 17 00:00:00 2001
From: "Robin.Mueller" <robin.mueller.m@gmail.com>
Date: Sat, 4 Jan 2020 16:43:04 +0100
Subject: [PATCH] Service 1 moved to separate file

---
 tm/OBSW_TmPacket.py   | 70 +-------------------------------------
 tm/OBSW_TmService1.py | 79 +++++++++++++++++++++++++++++++++++++++++++
 tm/OBSW_TmService3.py |  4 +--
 3 files changed, 82 insertions(+), 71 deletions(-)
 create mode 100644 tm/OBSW_TmService1.py

diff --git a/tm/OBSW_TmPacket.py b/tm/OBSW_TmPacket.py
index eb4bb1d..106146f 100644
--- a/tm/OBSW_TmPacket.py
+++ b/tm/OBSW_TmPacket.py
@@ -7,6 +7,7 @@ Author: R.Mueller, S. Gaisser
 """
 
 from tm.OBSW_PusTm import PUSTelemetry
+from tm.OBSW_TmService1 import Service1TM
 from tm.OBSW_TmService3 import Service3TM
 import struct
 # TM Packets use the generic space packet structure provided by OBSWPusPacket to generate individual
@@ -34,75 +35,6 @@ def PUSTelemetryFactory(rawPacket):
     else:
         print("The service " + str(servicetype) + " is not implemented in Telemetry Factory")
         return PUSTelemetry(rawPacket)
-
-
-class Service1TM(PUSTelemetry):
-    def __init__(self, byteArray):
-        super().__init__(byteArray)
-        self.tcErrorCode = False
-        self.isStep = False
-        # Failure Reports with error code
-        self.tcPacketId = self.byteArrayData[0] << 8 | self.byteArrayData[1]
-        self.tcSSC = ((self.byteArrayData[2] & 0x3F) << 8) | self.byteArrayData[3]
-        self.printPacketInfo("Success Verification")
-        if self.dataFieldHeader.subtype % 2 == 0:
-            self.printPacketInfo("Failure Verficiation")
-            self.tcErrorCode = True
-            if self.dataFieldHeader.subtype == 6:
-                self.isStep = True
-                self.appendPacketInfo(" : Step Failure")
-                self.stepNumber = struct.unpack('>B', self.byteArrayData[4:5])[0]
-                self.ErrCode = struct.unpack('>H', self.byteArrayData[5:7])[0]
-                self.errorParam1 = struct.unpack('>I', self.byteArrayData[7:11])[0]
-                self.errorParam2 = struct.unpack('>I', self.byteArrayData[11:15])[0]
-            else:
-                self.ErrCode = struct.unpack('>H', self.byteArrayData[4:6])[0]
-                self.errorParam1 = struct.unpack('>I', self.byteArrayData[6:10])[0]
-                self.errorParam2 = struct.unpack('>I', self.byteArrayData[10:14])[0]
-
-        elif self.dataFieldHeader.subtype == 5:
-            self.isStep = True
-            self.appendPacketInfo(" : Step Success")
-            self.stepNumber = struct.unpack('>B', self.byteArrayData[4:5])[0]
-                
-    def printTelemetryHeader(self, array):
-        super().printTelemetryHeader(array)
-        array.append(str(hex(self.tcPacketId)))
-        array.append(str(self.tcSSC))
-        if self.tcErrorCode:
-            if self.isStep:
-                array.append(str(self.stepNumber))
-            array.append(str(hex(self.ErrCode)))
-            array.append(str(hex(self.errorParam1)))
-            array.append(str(hex(self.errorParam2)))
-        elif self.isStep:
-            array.append(str(self.stepNumber))
-            
-    def printTelemetryColumnHeaders(self, array):
-        super().printTelemetryColumnHeaders(array)
-        array.append("TC Packet ID")
-        array.append("TC SSC")
-        if self.tcErrorCode:
-            if self.isStep:
-                array.append("Step Number")
-            array.append("Return Value")
-            array.append("Error Param 1")
-            array.append("Error Param 2")
-        elif self.isStep:
-            array.append("Step Number")
-
-    def packTmInformation(self):
-        tmInformation = super().packTmInformation()
-        addInformation = {
-            "tcPacketId": self.tcPacketId,
-            "tcSSC": self.tcSSC,
-        }
-        tmInformation.update(addInformation)
-        if self.tcErrorCode:
-            tmInformation.update({"errCode": self.ErrCode})
-        if self.isStep:
-            tmInformation.update({"stepNumber": self.ErrCode})
-        return tmInformation
     
     
 class Service2TM(PUSTelemetry):
diff --git a/tm/OBSW_TmService1.py b/tm/OBSW_TmService1.py
new file mode 100644
index 0000000..bee2f6f
--- /dev/null
+++ b/tm/OBSW_TmService1.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+"""
+Program: OBSW_TmService1.py
+Date: 30.12.2019
+Description: Deserialize Pus Verification TM
+Author: R. Mueller
+"""
+
+from tm.OBSW_PusTm import PUSTelemetry
+import struct
+
+
+class Service1TM(PUSTelemetry):
+    def __init__(self, byteArray):
+        super().__init__(byteArray)
+        self.tcErrorCode = False
+        self.isStep = False
+        # Failure Reports with error code
+        self.tcPacketId = self.byteArrayData[0] << 8 | self.byteArrayData[1]
+        self.tcSSC = ((self.byteArrayData[2] & 0x3F) << 8) | self.byteArrayData[3]
+        self.printPacketInfo("Success Verification")
+        if self.dataFieldHeader.subtype % 2 == 0:
+            self.printPacketInfo("Failure Verficiation")
+            self.tcErrorCode = True
+            if self.dataFieldHeader.subtype == 6:
+                self.isStep = True
+                self.appendPacketInfo(" : Step Failure")
+                self.stepNumber = struct.unpack('>B', self.byteArrayData[4:5])[0]
+                self.ErrCode = struct.unpack('>H', self.byteArrayData[5:7])[0]
+                self.errorParam1 = struct.unpack('>I', self.byteArrayData[7:11])[0]
+                self.errorParam2 = struct.unpack('>I', self.byteArrayData[11:15])[0]
+            else:
+                self.ErrCode = struct.unpack('>H', self.byteArrayData[4:6])[0]
+                self.errorParam1 = struct.unpack('>I', self.byteArrayData[6:10])[0]
+                self.errorParam2 = struct.unpack('>I', self.byteArrayData[10:14])[0]
+
+        elif self.dataFieldHeader.subtype == 5:
+            self.isStep = True
+            self.appendPacketInfo(" : Step Success")
+            self.stepNumber = struct.unpack('>B', self.byteArrayData[4:5])[0]
+
+    def printTelemetryHeader(self, array):
+        super().printTelemetryHeader(array)
+        array.append(str(hex(self.tcPacketId)))
+        array.append(str(self.tcSSC))
+        if self.tcErrorCode:
+            if self.isStep:
+                array.append(str(self.stepNumber))
+            array.append(str(hex(self.ErrCode)))
+            array.append(str(hex(self.errorParam1)))
+            array.append(str(hex(self.errorParam2)))
+        elif self.isStep:
+            array.append(str(self.stepNumber))
+
+    def printTelemetryColumnHeaders(self, array):
+        super().printTelemetryColumnHeaders(array)
+        array.append("TC Packet ID")
+        array.append("TC SSC")
+        if self.tcErrorCode:
+            if self.isStep:
+                array.append("Step Number")
+            array.append("Return Value")
+            array.append("Error Param 1")
+            array.append("Error Param 2")
+        elif self.isStep:
+            array.append("Step Number")
+
+    def packTmInformation(self):
+        tmInformation = super().packTmInformation()
+        addInformation = {
+            "tcPacketId": self.tcPacketId,
+            "tcSSC": self.tcSSC,
+        }
+        tmInformation.update(addInformation)
+        if self.tcErrorCode:
+            tmInformation.update({"errCode": self.ErrCode})
+        if self.isStep:
+            tmInformation.update({"stepNumber": self.ErrCode})
+        return tmInformation
\ No newline at end of file
diff --git a/tm/OBSW_TmService3.py b/tm/OBSW_TmService3.py
index a697e3c..c40b1af 100644
--- a/tm/OBSW_TmService3.py
+++ b/tm/OBSW_TmService3.py
@@ -1,9 +1,9 @@
 # -*- coding: utf-8 -*-
 """
-Program: OBSW_TmPacket.py
+Program: OBSW_TmService3.py
 Date: 30.12.2019
 Description: Deserialize Housekeeping TM
-Author: R.Mueller
+Author: R. Mueller
 """
 
 from tm.OBSW_PusTm import PUSTelemetry
-- 
GitLab