imtq update

This commit is contained in:
Robin Müller 2022-12-02 16:06:20 +01:00
parent 742a8a6ae4
commit 15f7b23ac2
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
1 changed files with 27 additions and 19 deletions

View File

@ -6,6 +6,7 @@
@date 25.03.2021
"""
import struct
from typing import List
from eive_tmtc.config.definitions import CustomServiceList
from eive_tmtc.pus_tm.defs import PrintWrapper
@ -265,21 +266,22 @@ def raise_dipole_error(dipole_str: str, value: int):
)
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]",
"MCU Temperature [°C]",
]
ENG_HK_HEADERS = [
"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]",
"MCU Temperature [°C]",
]
def unpack_eng_hk(hk_data: bytes) -> List:
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]
@ -291,8 +293,6 @@ def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes):
coil_y_temperature = struct.unpack("!h", hk_data[26:28])[0]
coil_z_temperature = struct.unpack("!h", hk_data[28:30])[0]
mcu_temperature = struct.unpack("!h", hk_data[30:32])[0]
validity_buffer = hk_data[32:]
content_list = [
digital_voltage,
analog_voltage,
@ -306,8 +306,16 @@ def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes):
coil_z_temperature,
mcu_temperature,
]
num_of_vars = len(header_list)
pw.dlog(str(header_list))
return content_list
def handle_eng_set(printer: FsfwTmTcPrinter, hk_data: bytes):
pw = PrintWrapper(printer)
content_list = unpack_eng_hk(hk_data)
validity_buffer = hk_data[32:]
num_of_vars = len(ENG_HK_HEADERS)
pw.dlog(str(ENG_HK_HEADERS))
pw.dlog(str(content_list))
printer.print_validity_buffer(validity_buffer=validity_buffer, num_vars=num_of_vars)