common tmtc folder
This commit is contained in:
parent
bed32bc947
commit
275d79d179
@ -1 +1 @@
|
|||||||
Subproject commit e4879130b09c76dac75265768fc757759e9aedcd
|
Subproject commit 49566cd1301cffad09defd4051b66f0129d82f17
|
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 3a9add82fe56b4b75b0079b48c094e6c4f778c42
|
Subproject commit 66a79cb86c061a7113a43a21035f1fdb1e082729
|
@ -5,19 +5,18 @@ from tmtccmd.com_if.com_interface_base import CommunicationInterface
|
|||||||
from tmtccmd.config.definitions import ServiceOpCodeDictT
|
from tmtccmd.config.definitions import ServiceOpCodeDictT
|
||||||
from tmtccmd.config.hook import TmTcHookBase
|
from tmtccmd.config.hook import TmTcHookBase
|
||||||
from tmtccmd.core.backend import TmTcHandler
|
from tmtccmd.core.backend import TmTcHandler
|
||||||
from tmtccmd.ecss.tm import PusTelemetry
|
|
||||||
from tmtccmd.pus_tc.definitions import TcQueueT
|
from tmtccmd.pus_tc.definitions import TcQueueT
|
||||||
from tmtccmd.pus_tm.service_3_base import Service3Base
|
from tmtccmd.pus_tm.service_3_base import Service3Base
|
||||||
from tmtccmd.ecss.conf import PusVersion
|
from tmtccmd.ecss.conf import PusVersion
|
||||||
from tmtccmd.utility.tmtc_printer import TmTcPrinter
|
from tmtccmd.utility.tmtc_printer import TmTcPrinter
|
||||||
|
|
||||||
from config.definitions import PUS_APID
|
from common_tmtc.config.definitions import PUS_APID
|
||||||
|
|
||||||
|
|
||||||
class FsfwHookBase(TmTcHookBase):
|
class FsfwHookBase(TmTcHookBase):
|
||||||
|
|
||||||
def get_version(self) -> str:
|
def get_version(self) -> str:
|
||||||
from config.version import SW_NAME, SW_VERSION, SW_SUBVERSION, SW_SUBSUBVERSION
|
from common_tmtc.config.version import SW_NAME, SW_VERSION, SW_SUBVERSION, SW_SUBSUBVERSION
|
||||||
return f"{SW_NAME} {SW_VERSION}.{SW_SUBVERSION}.{SW_SUBSUBVERSION}"
|
return f"{SW_NAME} {SW_VERSION}.{SW_SUBVERSION}.{SW_SUBSUBVERSION}"
|
||||||
|
|
||||||
def get_json_config_file_path(self) -> str:
|
def get_json_config_file_path(self) -> str:
|
||||||
@ -35,7 +34,9 @@ class FsfwHookBase(TmTcHookBase):
|
|||||||
|
|
||||||
def add_globals_post_args_parsing(self, args: argparse.Namespace):
|
def add_globals_post_args_parsing(self, args: argparse.Namespace):
|
||||||
from tmtccmd.config.globals import set_default_globals_post_args_parsing
|
from tmtccmd.config.globals import set_default_globals_post_args_parsing
|
||||||
set_default_globals_post_args_parsing(args=args, json_cfg_path=self.get_json_config_file_path())
|
set_default_globals_post_args_parsing(
|
||||||
|
args=args, json_cfg_path=self.get_json_config_file_path()
|
||||||
|
)
|
||||||
|
|
||||||
def assign_communication_interface(
|
def assign_communication_interface(
|
||||||
self, com_if_key: str, tmtc_printer: TmTcPrinter
|
self, com_if_key: str, tmtc_printer: TmTcPrinter
|
||||||
@ -50,18 +51,18 @@ class FsfwHookBase(TmTcHookBase):
|
|||||||
print("No custom mode operation implemented")
|
print("No custom mode operation implemented")
|
||||||
|
|
||||||
def pack_service_queue(self, service: int, op_code: str, service_queue: TcQueueT):
|
def pack_service_queue(self, service: int, op_code: str, service_queue: TcQueueT):
|
||||||
from pus_tc.tc_packing import pack_service_queue_user
|
from common_tmtc.pus_tc.tc_packing import pack_service_queue_user
|
||||||
pack_service_queue_user(service=service, op_code=op_code, tc_queue=service_queue)
|
pack_service_queue_user(service=service, op_code=op_code, tc_queue=service_queue)
|
||||||
|
|
||||||
def get_object_ids(self) -> Dict[bytes, list]:
|
def get_object_ids(self) -> Dict[bytes, list]:
|
||||||
from config.object_ids import get_object_ids
|
from common_tmtc.config.object_ids import get_object_ids
|
||||||
return get_object_ids()
|
return get_object_ids()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def handle_service_8_telemetry(
|
def handle_service_8_telemetry(
|
||||||
object_id: int, action_id: int, custom_data: bytearray
|
object_id: int, action_id: int, custom_data: bytearray
|
||||||
) -> Tuple[list, list]:
|
) -> Tuple[list, list]:
|
||||||
from pus_tm.service_8_handling import custom_service_8_handling
|
from common_tmtc.pus_tm.service_8_handling import custom_service_8_handling
|
||||||
return custom_service_8_handling(
|
return custom_service_8_handling(
|
||||||
object_id=object_id, action_id=action_id, custom_data=custom_data
|
object_id=object_id, action_id=action_id, custom_data=custom_data
|
||||||
)
|
)
|
||||||
@ -70,7 +71,7 @@ class FsfwHookBase(TmTcHookBase):
|
|||||||
def handle_service_3_housekeeping(
|
def handle_service_3_housekeeping(
|
||||||
object_id: bytes, set_id: int, hk_data: bytearray, service3_packet: Service3Base
|
object_id: bytes, set_id: int, hk_data: bytearray, service3_packet: Service3Base
|
||||||
) -> Tuple[list, list, bytearray, int]:
|
) -> Tuple[list, list, bytearray, int]:
|
||||||
from pus_tm.service_3_hk_handling import service_3_hk_handling
|
from common_tmtc.pus_tm import service_3_hk_handling
|
||||||
return service_3_hk_handling(
|
return service_3_hk_handling(
|
||||||
object_id=object_id, set_id=set_id, hk_data=hk_data, service3_packet=service3_packet
|
object_id=object_id, set_id=set_id, hk_data=hk_data, service3_packet=service3_packet
|
||||||
)
|
)
|
@ -10,7 +10,7 @@ from tmtccmd.ecss.tc import PusTelecommand
|
|||||||
from tmtccmd.pus_tc.packer import TcQueueT
|
from tmtccmd.pus_tc.packer import TcQueueT
|
||||||
from tmtccmd.pus_tc.service_200_mode import pack_mode_data
|
from tmtccmd.pus_tc.service_200_mode import pack_mode_data
|
||||||
|
|
||||||
from config.object_ids import TEST_DEVICE_0_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID
|
||||||
|
|
||||||
|
|
||||||
def pack_service_200_commands_into(tc_queue: TcQueueT, op_code: str):
|
def pack_service_200_commands_into(tc_queue: TcQueueT, op_code: str):
|
@ -8,7 +8,7 @@ from tmtccmd.pus_tc.service_20_parameter import pack_type_and_matrix_data, \
|
|||||||
from tmtccmd.pus_tc.service_200_mode import pack_mode_data
|
from tmtccmd.pus_tc.service_200_mode import pack_mode_data
|
||||||
from tmtccmd.utility.logger import get_console_logger
|
from tmtccmd.utility.logger import get_console_logger
|
||||||
|
|
||||||
from config.object_ids import TEST_DEVICE_0_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID
|
||||||
|
|
||||||
LOGGER = get_console_logger()
|
LOGGER = get_console_logger()
|
||||||
|
|
@ -10,10 +10,10 @@ import struct
|
|||||||
from tmtccmd.config.definitions import QueueCommands
|
from tmtccmd.config.definitions import QueueCommands
|
||||||
from tmtccmd.ecss.tc import PusTelecommand
|
from tmtccmd.ecss.tc import PusTelecommand
|
||||||
from tmtccmd.pus_tc.definitions import TcQueueT
|
from tmtccmd.pus_tc.definitions import TcQueueT
|
||||||
from pus_tc.service_200_mode import pack_mode_data
|
from common_tmtc.pus_tc.service_200_mode import pack_mode_data
|
||||||
|
|
||||||
import pus_tc.command_data as cmd_data
|
from common_tmtc import pus_tc as cmd_data
|
||||||
from config.object_ids import TEST_DEVICE_0_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID
|
||||||
|
|
||||||
|
|
||||||
def pack_service_2_commands_into(tc_queue: TcQueueT, op_code: str):
|
def pack_service_2_commands_into(tc_queue: TcQueueT, op_code: str):
|
@ -7,7 +7,7 @@ from tmtccmd.ecss.tc import PusTelecommand
|
|||||||
from tmtccmd.pus_tc.definitions import TcQueueT
|
from tmtccmd.pus_tc.definitions import TcQueueT
|
||||||
from tmtccmd.pus_tc.service_8_functional_cmd import generate_action_command
|
from tmtccmd.pus_tc.service_8_functional_cmd import generate_action_command
|
||||||
|
|
||||||
from config.object_ids import TEST_DEVICE_0_ID, TEST_DEVICE_1_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID, TEST_DEVICE_1_ID
|
||||||
|
|
||||||
|
|
||||||
# Set IDs
|
# Set IDs
|
@ -2,10 +2,10 @@ from tmtccmd.config.definitions import QueueCommands
|
|||||||
from tmtccmd.ecss.tc import PusTelecommand
|
from tmtccmd.ecss.tc import PusTelecommand
|
||||||
from tmtccmd.pus_tc.definitions import TcQueueT
|
from tmtccmd.pus_tc.definitions import TcQueueT
|
||||||
|
|
||||||
import pus_tc.command_data as cmd_data
|
from common_tmtc import pus_tc as cmd_data
|
||||||
from pus_tc.service_200_mode import pack_mode_data
|
from common_tmtc.pus_tc.service_200_mode import pack_mode_data
|
||||||
|
|
||||||
from config.object_ids import TEST_DEVICE_0_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID
|
||||||
|
|
||||||
|
|
||||||
def pack_service_8_commands_into(tc_queue: TcQueueT, op_code: str):
|
def pack_service_8_commands_into(tc_queue: TcQueueT, op_code: str):
|
@ -8,17 +8,17 @@ import os
|
|||||||
from collections import deque
|
from collections import deque
|
||||||
from typing import Union
|
from typing import Union
|
||||||
|
|
||||||
from pus_tc.service_20_parameters import pack_service20_commands_into
|
from common_tmtc.pus_tc.service_20_parameters import pack_service20_commands_into
|
||||||
from pus_tc.service_2_raw_cmd import pack_service_2_commands_into
|
from common_tmtc.pus_tc.service_2_raw_cmd import pack_service_2_commands_into
|
||||||
from pus_tc.service_3_housekeeping import pack_service_3_commands_into
|
from common_tmtc.pus_tc.service_3_housekeeping import pack_service_3_commands_into
|
||||||
from pus_tc.service_17_test import pack_service_17_commands
|
from common_tmtc.pus_tc.service_17_test import pack_service_17_commands
|
||||||
from pus_tc.service_8_func_cmd import pack_service_8_commands_into
|
from common_tmtc.pus_tc.service_8_func_cmd import pack_service_8_commands_into
|
||||||
from tmtccmd.utility.logger import get_console_logger
|
from tmtccmd.utility.logger import get_console_logger
|
||||||
from tmtccmd.pus_tc.definitions import TcQueueT
|
from tmtccmd.pus_tc.definitions import TcQueueT
|
||||||
from tmtccmd.config.definitions import CoreServiceList
|
from tmtccmd.config.definitions import CoreServiceList
|
||||||
from tmtccmd.pus_tc.service_5_event import pack_generic_service5_test_into
|
from tmtccmd.pus_tc.service_5_event import pack_generic_service5_test_into
|
||||||
from tmtccmd.pus_tc.service_17_test import pack_generic_service17_test
|
from tmtccmd.pus_tc.service_17_test import pack_generic_service17_test
|
||||||
from pus_tc.service_200_mode import pack_service_200_commands_into
|
from common_tmtc.pus_tc.service_200_mode import pack_service_200_commands_into
|
||||||
|
|
||||||
LOGGER = get_console_logger()
|
LOGGER = get_console_logger()
|
||||||
|
|
0
tmtc/common_tmtc/pus_tm/__init__.py
Normal file
0
tmtc/common_tmtc/pus_tm/__init__.py
Normal file
@ -16,7 +16,7 @@ from tmtccmd.pus_tm.service_20_parameters import Service20TM
|
|||||||
from tmtccmd.pus_tm.service_200_mode import Service200TM
|
from tmtccmd.pus_tm.service_200_mode import Service200TM
|
||||||
from tmtccmd.utility.tmtc_printer import TmTcPrinter
|
from tmtccmd.utility.tmtc_printer import TmTcPrinter
|
||||||
|
|
||||||
from config.definitions import PUS_APID
|
from common_tmtc.config.definitions import PUS_APID
|
||||||
|
|
||||||
|
|
||||||
LOGGER = get_console_logger()
|
LOGGER = get_console_logger()
|
@ -7,10 +7,10 @@
|
|||||||
import struct
|
import struct
|
||||||
from typing import Tuple
|
from typing import Tuple
|
||||||
from tmtccmd.pus_tm.service_3_housekeeping import Service3Base
|
from tmtccmd.pus_tm.service_3_housekeeping import Service3Base
|
||||||
from tmtccmd.utility.logger import get_logger
|
from tmtccmd.utility.logger import get_console_logger
|
||||||
|
|
||||||
from config.object_ids import TEST_DEVICE_0_ID, TEST_DEVICE_1_ID
|
from common_tmtc.config.object_ids import TEST_DEVICE_0_ID, TEST_DEVICE_1_ID
|
||||||
LOGGER = get_logger()
|
LOGGER = get_console_logger()
|
||||||
|
|
||||||
|
|
||||||
def service_3_hk_handling(
|
def service_3_hk_handling(
|
@ -28,9 +28,9 @@ limitations under the License.
|
|||||||
"""
|
"""
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from config.hook_implementation import FsfwHookBase
|
from common_tmtc.config.hook_implementation import FsfwHookBase
|
||||||
from config.definitions import PUS_APID
|
from common_tmtc.config.definitions import PUS_APID
|
||||||
from pus_tm.factory_hook import ccsds_tm_handler
|
from common_tmtc.pus_tm.factory_hook import ccsds_tm_handler
|
||||||
try:
|
try:
|
||||||
from tmtccmd.runner import run_tmtc_commander, initialize_tmtc_commander, add_ccsds_handler
|
from tmtccmd.runner import run_tmtc_commander, initialize_tmtc_commander, add_ccsds_handler
|
||||||
from tmtccmd.ccsds.handler import CcsdsTmHandler
|
from tmtccmd.ccsds.handler import CcsdsTmHandler
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
@brief TMTC Commander entry point for GUI mode.
|
@brief TMTC Commander entry point for command line mode.
|
||||||
@details
|
@details
|
||||||
This client was developed by KSat for the SOURCE project to test the on-board software but
|
This client was developed by KSat for the SOURCE project to test the on-board software but
|
||||||
has evolved into a more generic tool for satellite developers to perform TMTC (Telemetry and Telecommand)
|
has evolved into a more generic tool for satellite developers to perform TMTC (Telemetry and Telecommand)
|
||||||
@ -26,13 +26,29 @@ limitations under the License.
|
|||||||
|
|
||||||
@author R. Mueller
|
@author R. Mueller
|
||||||
"""
|
"""
|
||||||
from config.hook_implementation import FsfwHookBase
|
import sys
|
||||||
from tmtccmd.runner import run_tmtc_commander, initialize_tmtc_commander
|
|
||||||
|
from common_tmtc.config.hook_implementation import FsfwHookBase
|
||||||
|
from common_tmtc.config.definitions import PUS_APID
|
||||||
|
from common_tmtc.pus_tm.factory_hook import ccsds_tm_handler
|
||||||
|
try:
|
||||||
|
from tmtccmd.runner import run_tmtc_commander, initialize_tmtc_commander, add_ccsds_handler
|
||||||
|
from tmtccmd.ccsds.handler import CcsdsTmHandler
|
||||||
|
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 = FsfwHookBase()
|
hook_obj = FsfwHookBase()
|
||||||
initialize_tmtc_commander(hook_object=hook_obj)
|
initialize_tmtc_commander(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_tmtc_commander(use_gui=True, app_name="TMTC Commander FSFW")
|
run_tmtc_commander(use_gui=True, app_name="TMTC Commander FSFW")
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user