Skip to content
Snippets Groups Projects
Forked from an inaccessible project.
OBSW_PusTm.py 1.30 KiB
from tm.OBSW_PusPacket import OBSWPusPacket
from typing import TypeVar, Dict, Tuple, Deque, List

PusTmT = TypeVar('PusTmT', bound='PUSTelemetry')
pusTmInfoT = Dict[str, any]
pusTmTupleT = Tuple[pusTmInfoT, PusTmT]

pusTmQueueT = Deque[PusTmT]
pusTmListT = List[PusTmT]
pusTmInfoQueueT = Deque[pusTmInfoT]
pusTmTupleQueueT = Deque[pusTmTupleT]


class PUSTelemetry(OBSWPusPacket):
    def __init__(self, byteArray):
        super().__init__(byteArray)
        self.byteArrayData = self.data
        self.printInfo = ""

    def unpackTelemetry(self):
        pass

    def printPacketInfo(self, printInfo):
        self.printInfo = printInfo

    def appendPacketInfo(self, printInfo):
        self.printInfo = self.printInfo + printInfo

    def print_telemetry_header(self, array):
        super().printPusPacketHeader(array)

    def print_telemetry_column_headers(self, array):
        super().printPusPacketHeaderColumnHeaders(array)

    def packTmInformation(self) -> pusTmInfoT:
        tmInformation = {
            "G_SERVICE": self.getService(),
            "subservice": self.getSubservice(),
            "ssc": self.getSSC(),
            "data": self.byteArrayData,
            "crc": self.crc,
            "valid": self.PUSHeader.valid
        }
        return tmInformation