TMTC simplification #70
@ -0,0 +1,6 @@
|
|||||||
|
SW_NAME = "eive"
|
||||||
|
VERSION_MAJOR = 1
|
||||||
|
VERSION_MINOR = 9
|
||||||
|
VERSION_SUBMINOR = 0
|
||||||
|
|
||||||
|
__version__ = "1.9.0"
|
@ -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
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
SW_NAME = "eive"
|
|
||||||
VERSION_MAJOR = 1
|
|
||||||
VERSION_MINOR = 9
|
|
||||||
VERSION_SUBMINOR = 0
|
|
||||||
|
|
||||||
__version__ = "1.9.0"
|
|
@ -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__":
|
||||||
|
@ -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):
|
||||||
|
@ -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
|
||||||
|
@ -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
63
tmtcc.py
Normal 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)
|
60
tmtccli.py
60
tmtccli.py
@ -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__":
|
||||||
|
2
tmtccmd
2
tmtccmd
@ -1 +1 @@
|
|||||||
Subproject commit f3b6150d9c4ebf5d01b07f3642a36744580c12ef
|
Subproject commit b08fed474541d2295548e0c3dd8590987f6d3ec1
|
39
tmtcgui.py
39
tmtcgui.py
@ -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__":
|
||||||
|
Loading…
Reference in New Issue
Block a user