Skip to content
Snippets Groups Projects
Commit 0178d3ff authored by Robin.Mueller's avatar Robin.Mueller
Browse files

Service 1 moved to separate file

parent a668e06c
No related branches found
No related tags found
No related merge requests found
......@@ -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):
......
# -*- 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
# -*- 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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment