diff --git a/.idea/runConfigurations/tmtccli_example.xml b/.idea/runConfigurations/tmtccli_example.xml new file mode 100644 index 0000000..4760217 --- /dev/null +++ b/.idea/runConfigurations/tmtccli_example.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/tmtcgui_example.xml b/.idea/runConfigurations/tmtcgui_example.xml new file mode 100644 index 0000000..7234a88 --- /dev/null +++ b/.idea/runConfigurations/tmtcgui_example.xml @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/config/globals_config.py b/config/globals_config.py index f9602df..bb2640b 100644 --- a/config/globals_config.py +++ b/config/globals_config.py @@ -12,9 +12,7 @@ import argparse from config.definitions import CustomServiceList, PUS_APID from config.custom_mode_op import CustomModeList from tmtccmd.config.definitions import CoreComInterfaces -from tmtccmd.config.globals import ( - set_default_globals_pre_args_parsing -) +from tmtccmd.config.globals import set_default_globals_pre_args_parsing from tmtccmd.logging import get_console_logger LOGGER = get_console_logger() diff --git a/config/hook_implementations.py b/config/hook_implementations.py index d684ac5..aa7bdf8 100644 --- a/config/hook_implementations.py +++ b/config/hook_implementations.py @@ -26,6 +26,7 @@ class EiveHookObject(TmTcHookBase): def get_service_op_code_dictionary(self) -> ServiceOpCodeDictT: from tmtccmd.config.globals import get_default_service_op_code_dict + service_op_code_dict = get_default_service_op_code_dict() get_eive_service_op_code_dict(service_op_code_dict=service_op_code_dict) return service_op_code_dict diff --git a/pus_tc/tc_packer_hook.py b/pus_tc/tc_packer_hook.py index ea62640..fa43901 100644 --- a/pus_tc/tc_packer_hook.py +++ b/pus_tc/tc_packer_hook.py @@ -1,15 +1,19 @@ """Hook function which packs telecommands based on service and operation code string """ +import logging import os from collections import deque from typing import Union +from spacepackets.ecss import PusTelecommand +from tmtccmd.com_if.com_interface_base import CommunicationInterface from tmtccmd.config.definitions import CoreServiceList from tmtccmd.logging import get_console_logger from tmtccmd.logging.pus import log_raw_pus_tc from tmtccmd.tc.definitions import TcQueueT from tmtccmd.tc.service_5_event import pack_generic_service5_test_into from tmtccmd.pus.service_17_test import pack_service_17_ping_command +from tmtccmd.logging import get_time_string from pus_tc.service_200_mode import pack_service200_test_into from pus_tc.devs.p60dock import pack_p60dock_test_into @@ -69,10 +73,19 @@ from config.object_ids import ( LOGGER = get_console_logger() -def pre_tc_send_cb(packet: bytes, user_args: any): - service = packet[7] - subservice = packet[8] - log_raw_pus_tc(packet=packet, srv_subservice=(service, subservice)) +def pre_tc_send_cb( + packet: bytes, + com_if: CommunicationInterface, + pus_info: Union[PusTelecommand, any], + file_logger: logging.Logger, +): + log_raw_pus_tc( + packet=packet, srv_subservice=(pus_info.service, pus_info.subservice) + ) + tc_info_string = f"Sent {pus_info}" + LOGGER.info(tc_info_string) + file_logger.info(f"{get_time_string(True)}: {tc_info_string}") + com_if.send(data=packet) def pack_service_queue_user( diff --git a/pus_tm/factory_hook.py b/pus_tm/factory_hook.py index bae7577..01b5cab 100644 --- a/pus_tm/factory_hook.py +++ b/pus_tm/factory_hook.py @@ -14,9 +14,7 @@ from tmtccmd.logging.pus import ( ) from tmtccmd.pus.service_17_test import Service17TMExtended -from tmtccmd.tm.service_3_fsfw_housekeeping import Service3FsfwTm from tmtccmd.tm.service_20_fsfw_parameters import Service20FsfwTm -from tmtccmd.tm.service_5_event import Service5Tm from tmtccmd.tm.service_200_fsfw_mode import Service200FsfwTm from tmtccmd.utility.tmtc_printer import PrintFormats, FsfwTmTcPrinter diff --git a/spacepackets b/spacepackets index dff986c..0501a26 160000 --- a/spacepackets +++ b/spacepackets @@ -1 +1 @@ -Subproject commit dff986ca150099ce3d174cd627993c91981f09fc +Subproject commit 0501a26b6f347cf48e0875658ac4eaca8cc7d819 diff --git a/tmtccli.py b/tmtccli.py index c89c8fa..0cbd11a 100755 --- a/tmtccli.py +++ b/tmtccli.py @@ -32,10 +32,14 @@ import traceback try: import tmtccmd.runner as tmtccmd from tmtccmd.config import default_json_path, SetupArgs - from tmtccmd.config.args import create_default_args_parser, add_default_tmtccmd_args, \ - parse_default_input_arguments + from tmtccmd.config.args import ( + create_default_args_parser, + add_default_tmtccmd_args, + parse_default_input_arguments, + ) from tmtccmd.ccsds.handler import CcsdsTmHandler, ApidHandler from tmtccmd.logging import init_console_logger + from tmtccmd.logging.pus import create_tmtc_logger except ImportError as error: run_tmtc_commander = None initialize_tmtc_commander = None @@ -65,14 +69,15 @@ def main(): print(f"-- eive tmtc version {__version__} --") print(f"-- spacepackets version {spacepackets.__version__} --") tmtccmd.init_printout(False) + tmtc_file_logger = create_tmtc_logger() hook_obj = EiveHookObject(json_cfg_path=default_json_path()) arg_parser = create_default_args_parser() add_default_tmtccmd_args(arg_parser) args = parse_default_input_arguments(arg_parser, hook_obj) - setup_args = SetupArgs(hook_obj=hook_obj, use_gui=False, apid=PUS_APID, cli_args=args) - apid_handler = ApidHandler( - cb=ccsds_tm_handler, queue_len=50, user_args=None + setup_args = SetupArgs( + hook_obj=hook_obj, use_gui=False, apid=PUS_APID, cli_args=args ) + apid_handler = ApidHandler(cb=ccsds_tm_handler, queue_len=50, user_args=None) ccsds_handler = CcsdsTmHandler() ccsds_handler.add_tm_handler(apid=PUS_APID, handler=apid_handler) tmtccmd.setup(setup_args=setup_args) @@ -81,7 +86,7 @@ def main(): setup_args=setup_args, tm_handler=ccsds_handler, ) - tmtc_backend.set_pre_send_cb(callable=pre_tc_send_cb, user_args=None) + tmtc_backend.usr_send_wrapper = (pre_tc_send_cb, tmtc_file_logger) tmtccmd.run(tmtc_backend=tmtc_backend) diff --git a/tmtccmd b/tmtccmd index aeb7b6c..6f88d6a 160000 --- a/tmtccmd +++ b/tmtccmd @@ -1 +1 @@ -Subproject commit aeb7b6ccb60765cb5f1f474aeb2459c60066689c +Subproject commit 6f88d6a11003962e552392f1eabf7f7ca73eac32