TMTC simplification #70

Merged
muellerr merged 6 commits from mueller/tmtc-simplification into develop 2022-05-17 12:53:11 +02:00
11 changed files with 86 additions and 110 deletions
Showing only changes of commit 4b7529d5b7 - Show all commits

View File

@ -0,0 +1,6 @@
SW_NAME = "eive"
VERSION_MAJOR = 1
VERSION_MINOR = 9
VERSION_SUBMINOR = 0
__version__ = "1.9.0"

View File

@ -20,11 +20,7 @@ class EiveHookObject(TmTcHookBase):
super().__init__(json_cfg_path=json_cfg_path) super().__init__(json_cfg_path=json_cfg_path)
def get_service_op_code_dictionary(self) -> ServiceOpCodeDictT: def get_service_op_code_dictionary(self) -> ServiceOpCodeDictT:
from tmtccmd.config.globals import get_default_service_op_code_dict return get_eive_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
def assign_communication_interface( def assign_communication_interface(
self, com_if_key: str self, com_if_key: str

View File

@ -1,6 +0,0 @@
SW_NAME = "eive"
VERSION_MAJOR = 1
VERSION_MINOR = 9
VERSION_SUBMINOR = 0
__version__ = "1.9.0"

View File

@ -30,10 +30,9 @@ except ImportError as error:
) )
sys.exit(1) sys.exit(1)
from config.version import __version__ from config import __version__
from config.definitions import SPACE_PACKET_IDS from config.definitions import SPACE_PACKET_IDS
from tmtccmd.sendreceive.tm_listener import TmListener from tmtccmd.sendreceive.tm_listener import TmListener
from tmtccmd.com_if.tcpip_utilities import determine_tcpip_address
from tmtccmd.com_if.tcpip_tcp_com_if import TcpIpTcpComIF, TcpCommunicationType from tmtccmd.com_if.tcpip_tcp_com_if import TcpIpTcpComIF, TcpCommunicationType
@ -48,7 +47,7 @@ def main():
max_recv_size=1500, max_recv_size=1500,
target_address=("localhost", 1536), target_address=("localhost", 1536),
) )
tm_listener = TmListener(com_if=com_if, tm_timeout=2.0, tc_timeout_factor=2.0) tm_listener = TmListener(com_if=com_if, seq_timeout=2.0)
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -12,7 +12,9 @@ from pus_tc.devs.reaction_wheels import add_rw_cmds
from pus_tc.devs.bpx_batt import BpxOpCodes from pus_tc.devs.bpx_batt import BpxOpCodes
def get_eive_service_op_code_dict(service_op_code_dict: ServiceOpCodeDictT): def get_eive_service_op_code_dict() -> ServiceOpCodeDictT:
from tmtccmd.config.globals import get_default_service_op_code_dict
service_op_code_dict = get_default_service_op_code_dict()
add_bpx_cmd_definitions(cmd_dict=service_op_code_dict) add_bpx_cmd_definitions(cmd_dict=service_op_code_dict)
add_core_controller_definitions(cmd_dict=service_op_code_dict) add_core_controller_definitions(cmd_dict=service_op_code_dict)
add_pl_pcdu_cmds(cmd_dict=service_op_code_dict) add_pl_pcdu_cmds(cmd_dict=service_op_code_dict)
@ -31,6 +33,7 @@ def get_eive_service_op_code_dict(service_op_code_dict: ServiceOpCodeDictT):
add_pdec_cmds(cmd_dict=service_op_code_dict) add_pdec_cmds(cmd_dict=service_op_code_dict)
add_heater_cmds(cmd_dict=service_op_code_dict) add_heater_cmds(cmd_dict=service_op_code_dict)
add_tmp_sens_cmds(cmd_dict=service_op_code_dict) add_tmp_sens_cmds(cmd_dict=service_op_code_dict)
return service_op_code_dict
def add_tmp_sens_cmds(cmd_dict: ServiceOpCodeDictT): def add_tmp_sens_cmds(cmd_dict: ServiceOpCodeDictT):

View File

@ -38,5 +38,4 @@ def pack_service200_test_into(tc_queue: TcQueueT) -> TcQueueT:
mode_data = pack_mode_data(obj_id, Modes.OFF, 0) mode_data = pack_mode_data(obj_id, Modes.OFF, 0)
command = PusTelecommand(service=200, subservice=1, ssc=2030, app_data=mode_data) command = PusTelecommand(service=200, subservice=1, ssc=2030, app_data=mode_data)
tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft(command.pack_command_tuple())
tc_queue.appendleft((QueueCommands.EXPORT_LOG, "log/tmtc_log_service200.txt"))
return tc_queue return tc_queue

View File

@ -3,7 +3,6 @@ import struct
import os import os
import datetime import datetime
from tmtccmd.utility.tmtc_printer import FsfwTmTcPrinter
from tmtccmd.config.definitions import HkReplyUnpacked from tmtccmd.config.definitions import HkReplyUnpacked
from tmtccmd.tm.pus_3_fsfw_hk import ( from tmtccmd.tm.pus_3_fsfw_hk import (
Service3Base, Service3Base,
@ -19,7 +18,7 @@ from tmtccmd.utility.obj_id import ObjectId, ObjectIdDictT
import config.object_ids as obj_ids import config.object_ids as obj_ids
from pus_tm.devs.reaction_wheels import handle_rw_hk_data from pus_tm.devs.reaction_wheels import handle_rw_hk_data
from pus_tm.defs import PrintWrapper, FsfwTmTcPrinter, log_to_both from pus_tm.defs import FsfwTmTcPrinter, log_to_both
LOGGER = get_console_logger() LOGGER = get_console_logger()

63
tmtcc.py Normal file
View File

@ -0,0 +1,63 @@
import argparse
import sys
import traceback
from typing import Optional
try:
import spacepackets
except ImportError as error:
print(error)
print("Python spacepackets module could not be imported")
print(
'Install with "cd spacepackets && python3 -m pip intall -e ." for interative installation'
)
sys.exit(1)
try:
import tmtccmd.runner as tmtccmd
from tmtccmd.logging.pus import create_tmtc_logger
from tmtccmd.ccsds.handler import ApidHandler, CcsdsTmHandler
from tmtccmd.config import SetupArgs, default_json_path
from tmtccmd.config.args import (
create_default_args_parser,
add_default_tmtccmd_args,
parse_default_input_arguments,
)
except ImportError as error:
run_tmtc_commander = None
initialize_tmtc_commander = None
tb = traceback.format_exc()
print(tb)
print("Python tmtccmd submodule could not be imported")
sys.exit(1)
from config import __version__
from config.definitions import PUS_APID
from config.hook_implementations import EiveHookObject
from pus_tm.factory_hook import ccsds_tm_handler
from pus_tc.tc_packer_hook import pre_tc_send_cb
def tmtcc_pre_args() -> EiveHookObject:
print(f"-- eive tmtc v{__version__} --")
print(f"-- spacepackets v{spacepackets.__version__} --")
tmtccmd.init_printout(False)
return EiveHookObject(json_cfg_path=default_json_path())
def tmtcc_post_args(hook_obj: EiveHookObject, use_gui: bool, args: Optional[argparse.Namespace]):
setup_args = SetupArgs(
hook_obj=hook_obj, use_gui=use_gui, apid=PUS_APID, cli_args=args
)
tmtc_file_logger = create_tmtc_logger()
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)
tmtccmd.add_ccsds_handler(ccsds_handler)
tmtc_backend = tmtccmd.create_default_tmtc_backend(
setup_args=setup_args,
tm_handler=ccsds_handler,
)
tmtc_backend.usr_send_wrapper = (pre_tc_send_cb, tmtc_file_logger)
tmtccmd.run(tmtc_backend=tmtc_backend)

View File

@ -26,68 +26,16 @@ limitations under the License.
@author R. Mueller @author R. Mueller
""" """
import sys from tmtcc import tmtcc_post_args, tmtcc_pre_args, create_default_args_parser, \
import traceback add_default_tmtccmd_args, parse_default_input_arguments
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.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
tb = traceback.format_exc()
print(tb)
print("Python tmtccmd submodule could not be imported")
sys.exit(1)
try:
import spacepackets
except ImportError as error:
print(error)
print("Python spacepackets module could not be imported")
print(
'Install with "cd spacepackets && python3 -m pip intall -e ." for interative installation'
)
sys.exit(1)
from config.hook_implementations import EiveHookObject
from config.version import __version__
from config.definitions import PUS_APID
from pus_tc.tc_packer_hook import pre_tc_send_cb
from pus_tm.factory_hook import ccsds_tm_handler
def main(): def main():
print(f"-- eive tmtc version {__version__} --") hook_obj = tmtcc_pre_args()
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() arg_parser = create_default_args_parser()
add_default_tmtccmd_args(arg_parser) add_default_tmtccmd_args(arg_parser)
args = parse_default_input_arguments(arg_parser, hook_obj) args = parse_default_input_arguments(arg_parser, hook_obj)
setup_args = SetupArgs( tmtcc_post_args(hook_obj=hook_obj, use_gui=False, args=args)
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)
tmtccmd.add_ccsds_handler(ccsds_handler)
tmtc_backend = tmtccmd.create_default_tmtc_backend(
setup_args=setup_args,
tm_handler=ccsds_handler,
)
tmtc_backend.usr_send_wrapper = (pre_tc_send_cb, tmtc_file_logger)
tmtccmd.run(tmtc_backend=tmtc_backend)
if __name__ == "__main__": if __name__ == "__main__":

@ -1 +1 @@
Subproject commit f3b6150d9c4ebf5d01b07f3642a36744580c12ef Subproject commit b08fed474541d2295548e0c3dd8590987f6d3ec1

View File

@ -1,4 +1,4 @@
#!/usr/bin/python3 #!/usr/bin/env python3
""" """
@brief TMTC Commander entry point for command line mode. @brief TMTC Commander entry point for command line mode.
@details @details
@ -26,43 +26,12 @@ limitations under the License.
@author R. Mueller @author R. Mueller
""" """
import sys from tmtcc import tmtcc_post_args, tmtcc_pre_args
from config.hook_implementations import EiveHookObject
from config.version import __version__
from config.definitions import PUS_APID
from pus_tm.factory_hook import ccsds_tm_handler
try:
from tmtccmd.runner import (
init_tmtccmd,
run_tmtccmd,
add_ccsds_handler,
)
from tmtccmd.ccsds.handler import CcsdsTmHandler
import spacepackets
except ImportError as error:
run_tmtc_commander = None
initialize_tmtc_commander = None
print(error)
print("Python tmtccmd submodule could not be imported")
print(
'Install with "cd tmtccmd && python3 -m pip install -e ." for interactive installation'
)
sys.exit(0)
def main(): def main():
hook_obj = EiveHookObject() hook_obj = tmtcc_pre_args()
print(f"-- eive tmtc version {__version__}") tmtcc_post_args(hook_obj=hook_obj, use_gui=True, args=None)
print(f"-- spacepackets version {spacepackets.__version__} --")
init_tmtccmd(hook_object=hook_obj)
ccsds_handler = CcsdsTmHandler()
ccsds_handler.add_tm_handler(
apid=PUS_APID, pus_tm_handler=ccsds_tm_handler, max_queue_len=50
)
add_ccsds_handler(ccsds_handler)
run_tmtccmd(use_gui=True)
if __name__ == "__main__": if __name__ == "__main__":