Skip to content
Snippets Groups Projects
Commit 536b8c3d authored by Robin Mueller's avatar Robin Mueller
Browse files

validity buffer printing added

parent 4c8eb518
No related branches found
No related tags found
No related merge requests found
......@@ -88,7 +88,10 @@ class Service3TM(PUSTelemetry):
self.hkContent = [fixMode, svInFix, gnssWeek, timeOfWeek, latitude, longitude, msa, positionX, positionY,
positionZ, vx, vy, vz]
self.validityBuffer = self.byteArrayData[72:]
print("Validity Buffer Length: " + str(self.validityBuffer))
# print(self.validityBuffer)
# print(str(format(self.validityBuffer[0], '#010b')))
# print(str(format(self.validityBuffer[1], '#010b')))
# print("Validity Buffer Length: " + str(len(self.validityBuffer)))
def handleTestHkData(self):
self.numberOfParameters = 6
......@@ -101,4 +104,8 @@ class Service3TM(PUSTelemetry):
floatVector2 = struct.unpack('>f', self.byteArrayData[16:20])[0]
self.hkContent = [testBool, testUint8, testUint16, testUint32, floatVector1, floatVector2]
self.validityBuffer = self.byteArrayData[20:]
print("Validity Buffer Length: " + str(self.validityBuffer))
# print(self.validityBuffer)
# print(str(format(self.validityBuffer[0], '#010b')))
# print("Validity Buffer Length: " + str(len(self.validityBuffer)))
......@@ -13,7 +13,6 @@ import os
from config import OBSW_Config as g
# TODO: Print everything in a file
class TmtcPrinter:
def __init__(self, displayMode="long", doPrintToFile=False, printTc=True):
self.printBuffer = ""
......@@ -71,6 +70,7 @@ class TmtcPrinter:
self.printBuffer = "HK Data from SID "
self.printBuffer = self.printBuffer + str(hex(packet.sid)) + " :"
self.printHk(packet)
self.printValidityBuffer(packet)
def handleHkDefinitionPrint(self, packet):
if g.printHkData:
......@@ -87,7 +87,31 @@ class TmtcPrinter:
self.printBuffer = str(packet.hkContent)
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
def printValidityBuffer(self, packet):
self.printBuffer = "Valid: "
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
self.handleValidityBufferPrint(packet.validityBuffer, packet.numberOfParameters)
def handleValidityBufferPrint(self, validityBuffer, numberOfParameters):
self.printBuffer = "["
parameterCount = 0
for count in range(len(validityBuffer)):
for bit in range(1, 9):
if self.bitExtractor(validityBuffer[count], bit) == 1:
self.printBuffer = self.printBuffer + "Yes"
else:
self.printBuffer = self.printBuffer + "No"
parameterCount = parameterCount + 1
if parameterCount == numberOfParameters:
self.printBuffer = self.printBuffer + "]"
break
else:
self.printBuffer = self.printBuffer + ", "
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
def handleWiretappingPacket(self, packet):
if packet.getService() == 2 and (packet.getSubservice() == 131 or packet.getSubservice() == 130):
self.printBuffer = "Wiretapping Packet or Raw Reply from TM [" + \
......@@ -102,36 +126,6 @@ class TmtcPrinter:
+ self.returnDataString(packet.data)
print(self.printBuffer)
# This function handles the printing of Telecommands
def printTelecommand(self, pusPacket, pusPacketInfo=""):
if self.printTc:
if len(pusPacket) == 0:
print("TMTC Printer: Empty packet was sent, configuration error")
exit()
if pusPacketInfo == "":
print("TMTC Printer: No packet info supplied to print")
return
if self.displayMode == "short":
self.handleShortTcPrint(pusPacketInfo)
else:
self.handleLongTcPrint(pusPacketInfo)
def handleShortTcPrint(self, pusPacketInfo):
self.printBuffer = "Sent TC[" + str(pusPacketInfo["service"]) + "," + str(pusPacketInfo["subservice"]) \
+ "] " + " with SSC " + str(pusPacketInfo["ssc"])
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
def handleLongTcPrint(self, pusPacketInfo):
try:
self.printBuffer = "Telecommand TC[" + str(pusPacketInfo["service"]) + "," + str(pusPacketInfo["subservice"]) \
+ "] with SSC " + str(pusPacketInfo["ssc"]) + " sent with data " \
+ self.returnDataString(pusPacketInfo["data"])
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
except TypeError:
print("TMTC Printer: Type Error !")
def printData(self, byteArray):
string = self.returnDataString(byteArray)
print(string)
......@@ -168,3 +162,38 @@ class TmtcPrinter:
print("Log file written to " + logName)
file.close()
@staticmethod
def bitExtractor(byte, position):
shiftNumber = position + (6 - 2 * (position - 1))
return (byte >> shiftNumber) & 1
# This function handles the printing of Telecommands
def printTelecommand(self, pusPacket, pusPacketInfo=""):
if self.printTc:
if len(pusPacket) == 0:
print("TMTC Printer: Empty packet was sent, configuration error")
exit()
if pusPacketInfo == "":
print("TMTC Printer: No packet info supplied to print")
return
if self.displayMode == "short":
self.handleShortTcPrint(pusPacketInfo)
else:
self.handleLongTcPrint(pusPacketInfo)
def handleShortTcPrint(self, pusPacketInfo):
self.printBuffer = "Sent TC[" + str(pusPacketInfo["service"]) + "," + str(pusPacketInfo["subservice"]) \
+ "] " + " with SSC " + str(pusPacketInfo["ssc"])
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
def handleLongTcPrint(self, pusPacketInfo):
try:
self.printBuffer = "Telecommand TC[" + str(pusPacketInfo["service"]) + "," + str(
pusPacketInfo["subservice"]) \
+ "] with SSC " + str(pusPacketInfo["ssc"]) + " sent with data " \
+ self.returnDataString(pusPacketInfo["data"])
print(self.printBuffer)
self.addPrintBufferToFileBuffer()
except TypeError:
print("TMTC Printer: Type Error !")
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