22 lines
782 B
Python
22 lines
782 B
Python
import struct
|
|
|
|
from pus_tm.defs import PrintWrapper
|
|
from pus_tc.devs.sus import SetIds
|
|
from tmtccmd.utility import ObjectId
|
|
from tmtccmd.utility.tmtc_printer import FsfwTmTcPrinter
|
|
|
|
|
|
def handle_sus_hk(object_id: ObjectId, hk_data: bytes, printer: FsfwTmTcPrinter, set_id: int):
|
|
pw = PrintWrapper(printer)
|
|
pw.dlog(f"Received SUS HK data from {object_id}")
|
|
if set_id == SetIds.HK:
|
|
current_idx = 0
|
|
temperature = struct.unpack('!f', hk_data[current_idx : current_idx + 4])[0]
|
|
current_idx += 4
|
|
channels = []
|
|
for _ in range(6):
|
|
channels.append(struct.unpack('!H', hk_data[current_idx : current_idx + 2]))
|
|
current_idx += 2
|
|
printer.print_validity_buffer(validity_buffer=hk_data[current_idx:], num_vars=7)
|
|
|