imtq hk parsing
This commit is contained in:
@ -4,6 +4,104 @@ from pus_tm.defs import PrintWrapper
|
||||
from tmtccmd.utility.tmtc_printer import FsfwTmTcPrinter
|
||||
|
||||
|
||||
def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes):
|
||||
pw = PrintWrapper(printer)
|
||||
header_list = [
|
||||
"Digital Voltage [mV]",
|
||||
"Analog Voltage [mV]",
|
||||
"Digital Current [mA]",
|
||||
"Analog Current [mA]",
|
||||
"Coil Current X [mA]",
|
||||
"Coil Current Y [mA]",
|
||||
"Coil Current Z [mA]",
|
||||
"Coil X Temperature [°C]",
|
||||
"Coil Y Temperature [°C]",
|
||||
"Coil Z Temperature [°C]",
|
||||
"Coil Z Temperature [°C]",
|
||||
"MCU Temperature [°C]",
|
||||
]
|
||||
digital_voltage = struct.unpack("!H", hk_data[0:2])[0]
|
||||
analog_voltage = struct.unpack("!H", hk_data[2:4])[0]
|
||||
digital_current = struct.unpack("!f", hk_data[4:8])[0]
|
||||
analog_current = struct.unpack("!f", hk_data[8:12])[0]
|
||||
coil_x_current = struct.unpack("!f", hk_data[12:16])[0]
|
||||
coil_y_current = struct.unpack("!f", hk_data[16:20])[0]
|
||||
coil_z_current = struct.unpack("!f", hk_data[20:24])[0]
|
||||
coil_x_temperature = struct.unpack("!H", hk_data[24:26])[0]
|
||||
coil_y_temperature = struct.unpack("!H", hk_data[26:28])[0]
|
||||
coil_z_temperature = struct.unpack("!H", hk_data[30:32])[0]
|
||||
mcu_temperature = struct.unpack("!H", hk_data[32:34])[0]
|
||||
|
||||
validity_buffer = hk_data[42:]
|
||||
content_list = [
|
||||
digital_voltage,
|
||||
analog_voltage,
|
||||
digital_current,
|
||||
analog_current,
|
||||
coil_x_current,
|
||||
coil_y_current,
|
||||
coil_z_current,
|
||||
coil_x_temperature,
|
||||
coil_y_temperature,
|
||||
coil_z_temperature,
|
||||
mcu_temperature
|
||||
]
|
||||
num_of_vars = len(header_list)
|
||||
pw.dlog(str(header_list))
|
||||
pw.dlog(str(content_list))
|
||||
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)
|
||||
|
||||
|
||||
def handle_calibrated_mtm_measurement(printer: FsfwTmTcPrinter, hk_data: bytes):
|
||||
pw = PrintWrapper(printer)
|
||||
header_list = [
|
||||
"Calibrated MTM X [nT]",
|
||||
"Calibrated MTM Y [nT]",
|
||||
"Calibrated MTM Z [nT]",
|
||||
"Coild actuation status"
|
||||
]
|
||||
mtm_x = struct.unpack("!I", hk_data[0:4])[0]
|
||||
mtm_y = struct.unpack("!I", hk_data[4:8])[0]
|
||||
mtm_z = struct.unpack("!I", hk_data[8:12])[0]
|
||||
coil_actuation_status = hk_data[12]
|
||||
validity_buffer = hk_data[12:]
|
||||
content_list = [
|
||||
mtm_x,
|
||||
mtm_y,
|
||||
mtm_z,
|
||||
coil_actuation_status
|
||||
]
|
||||
num_of_vars = len(header_list)
|
||||
pw.dlog(str(header_list))
|
||||
pw.dlog(str(content_list))
|
||||
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)
|
||||
|
||||
|
||||
def handle_raw_mtm_measurement(printer: FsfwTmTcPrinter, hk_data: bytes):
|
||||
pw = PrintWrapper(printer)
|
||||
header_list = [
|
||||
"Raw MTM X [nT]",
|
||||
"Raw MTM Y [nT]",
|
||||
"Raw MTM Z [nT]",
|
||||
"Coild actuation status"
|
||||
]
|
||||
mtm_x = struct.unpack("!f", hk_data[0:4])[0]
|
||||
mtm_y = struct.unpack("!f", hk_data[4:8])[0]
|
||||
mtm_z = struct.unpack("!f", hk_data[8:12])[0]
|
||||
coil_actuation_status = hk_data[12]
|
||||
validity_buffer = hk_data[12:]
|
||||
content_list = [
|
||||
mtm_x,
|
||||
mtm_y,
|
||||
mtm_z,
|
||||
coil_actuation_status
|
||||
]
|
||||
num_of_vars = len(header_list)
|
||||
pw.dlog(str(header_list))
|
||||
pw.dlog(str(content_list))
|
||||
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)
|
||||
|
||||
|
||||
def handle_self_test_data(printer: FsfwTmTcPrinter, hk_data: bytes):
|
||||
pw = PrintWrapper(printer)
|
||||
header_list = [
|
||||
|
Reference in New Issue
Block a user