Compare commits

...

6 Commits

Author SHA1 Message Date
95b27b889d new argument parsing 2022-08-19 12:38:18 +02:00
7e2ea08277 correctly parse isis mgm values 2022-08-18 18:15:48 +02:00
7a309b4dc1 bump deps 2022-08-18 16:59:47 +02:00
ee85033e6a some cleaning 2022-08-18 16:26:10 +02:00
a72025c79c use new dlog class of verificator 2022-08-18 16:25:20 +02:00
aef9af3096 print some more info for PUS1 verif failures 2022-08-18 16:19:09 +02:00
6 changed files with 30 additions and 19 deletions

2
deps/tmtccmd vendored

View File

@@ -11,7 +11,7 @@ from tmtccmd.tm.pus_17_test import Service17TmExtended
from tmtccmd.util.tmtc_printer import FsfwTmTcPrinter
from .event_handler import handle_event_packet
from .verification_handler import handle_service_1_packet
from .verification_handler import handle_service_1_fsfw_packet
from .hk_handling import handle_hk_packet
from .action_reply_handler import handle_action_reply
@@ -38,7 +38,7 @@ def pus_factory_hook(
obj_id_dict = get_object_ids()
dedicated_handler = True
if service == 1:
handle_service_1_packet(wrapper=verif_wrapper, raw_tm=packet)
handle_service_1_fsfw_packet(wrapper=verif_wrapper, raw_tm=packet)
elif service == 3:
handle_hk_packet(printer=printer, raw_tm=packet, obj_id_dict=obj_id_dict)
elif service == 5:

View File

@@ -1,18 +1,20 @@
from spacepackets.ecss.pus_1_verification import UnpackParams
from spacepackets.ecss.pus_1_verification import UnpackParams, Service1Tm
from tmtccmd.logging import get_console_logger
from tmtccmd.pus import VerificationWrapper
from tmtccmd.tm.pus_1_verification import Service1TmExtended
from tmtccmd.tm.pus_1_verification import Service1FsfwWrapper
from config.retvals import get_retval_dict
LOGGER = get_console_logger()
def handle_service_1_packet(wrapper: VerificationWrapper, raw_tm: bytes):
def handle_service_1_fsfw_packet(wrapper: VerificationWrapper, raw_tm: bytes):
if wrapper.console_logger is None or wrapper.file_logger is None:
raise ValueError(
"Console logger or file logger not valid. Please set a valid one"
)
tm_packet = Service1TmExtended.unpack(data=raw_tm, params=UnpackParams(1, 1))
# Error code with length 2 is FSFW specific
tm_packet = Service1Tm.unpack(data=raw_tm, params=UnpackParams(1, 2))
fsfw_wrapper = Service1FsfwWrapper(tm_packet)
res = wrapper.verificator.add_tm(tm_packet)
if res is None:
LOGGER.info(
@@ -34,8 +36,17 @@ def handle_service_1_packet(wrapper: VerificationWrapper, raw_tm: bytes):
)
else:
retval_string = (
f"Error Code information for code {tm_packet.error_code} | "
f"Error Code information for code {tm_packet.error_code.val:#06x} | "
f"Name: {retval_info.name} | Info: {retval_info.info}"
)
wrapper.console_logger.info(retval_string)
wrapper.file_logger.info(retval_string)
error_param_1_str = (
f"Error Parameter 1: hex {fsfw_wrapper.error_param_1:#010x} "
f"dec{fsfw_wrapper.error_param_1} "
)
error_param_2_str = (
f"Error Parameter 2: hex {fsfw_wrapper.error_param_2:#010x} "
f"dec {fsfw_wrapper.error_param_2}"
)
wrapper.dlog(retval_string)
wrapper.dlog(error_param_1_str)
wrapper.dlog(error_param_2_str)

View File

@@ -109,13 +109,8 @@ def handle_acs_ctrl_mgm_data(printer: FsfwTmTcPrinter, hk_data: bytes):
mgm_1_rm3100_floats_ut, current_idx = unpack_float_tuple(current_idx)
mgm_2_lis3_floats_ut, current_idx = unpack_float_tuple(current_idx)
mgm_3_rm3100_floats_ut, current_idx = unpack_float_tuple(current_idx)
i32_tuple_fmt = "!iii"
imtq_mgm_nt = struct.unpack(
i32_tuple_fmt,
hk_data[current_idx : current_idx + struct.calcsize(i32_tuple_fmt)],
)
imtq_mgm_ut = tuple(val / 1000.0 for val in imtq_mgm_nt)
current_idx += struct.calcsize(i32_tuple_fmt)
isis_floats_nt, current_idx = unpack_float_tuple(current_idx)
imtq_mgm_ut = tuple(val / 1000.0 for val in isis_floats_nt)
pw.dlog("ACS CTRL HK: MGM values [X,Y,Z] in floating point uT: ")
mgm_lists = [
mgm_0_lis3_floats_ut,

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python3
import argparse
import logging
import sys
import time
@@ -50,7 +51,8 @@ from tmtccmd.tc import (
from tmtccmd.config import default_json_path, SetupWrapper
from tmtccmd.config.args import (
SetupParams,
ArgParserWrapper,
ArgParserWrapper, create_default_args_parser, add_default_com_if_arguments,
add_default_mode_arguments, add_generic_arguments, add_ethernet_arguments,
)
from config import __version__
from config.definitions import PUS_APID
@@ -152,6 +154,9 @@ def setup_params() -> SetupWrapper:
hook_obj = EiveHookObject(default_json_path())
params = SetupParams()
parser_wrapper = ArgParserWrapper(hook_obj)
parser_wrapper.create_default_parent_parser()
parser_wrapper.create_default_parser()
parser_wrapper.add_def_proc_and_cfdp_as_subparsers()
parser_wrapper.parse()
tmtccmd.init_printout(parser_wrapper.use_gui)
parser_wrapper.set_params(params)