first version of continous operation #69
85
tmtcloop.py
Executable file
85
tmtcloop.py
Executable file
@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""EIVE TMTC Commander"""
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
try:
|
||||||
|
import tmtccmd.runner as tmtccmd
|
||||||
|
from tmtccmd.config import default_json_path, SetupArgs, CoreGlobalIds
|
||||||
|
from tmtccmd.config.definitions import CoreModeList
|
||||||
|
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 get_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.definitions import PUS_APID
|
||||||
|
from pus_tc.tc_packer_hook import pre_tc_send_cb
|
||||||
|
from pus_tm.factory_hook import ccsds_tm_handler
|
||||||
|
from tmtcc import tmtcc_pre_args
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
hook_obj = tmtcc_pre_args()
|
||||||
|
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)
|
||||||
|
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_file_logger = create_tmtc_logger()
|
||||||
|
tmtc_backend.usr_send_wrapper = (pre_tc_send_cb, tmtc_file_logger)
|
||||||
|
|
||||||
|
tmtc_backend.set_mode(CoreModeList.CONTINUOUS_MODE)
|
||||||
|
|
||||||
|
get_console_logger().info("Disabling console logger for continuous operation")
|
||||||
|
get_console_logger().disabled = True
|
||||||
|
|
||||||
|
tmtccmd.init_and_start_daemons(tmtc_backend=tmtc_backend)
|
||||||
|
tmtccmd.performOperation(tmtc_backend=tmtc_backend)
|
||||||
|
|
||||||
|
# remove cmdline args so that we can reuse code
|
||||||
|
sys.argv = sys.argv[:1]
|
||||||
|
|
||||||
|
while True:
|
||||||
|
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
|
||||||
|
)
|
||||||
|
tmtccmd.setup(setup_args=setup_args)
|
||||||
|
tmtc_backend.set_mode(CoreModeList.CONTINUOUS_MODE)
|
||||||
|
|
||||||
|
tmtccmd.performOperation(tmtc_backend=tmtc_backend)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user