diff --git a/eive_tmtc/pus_tc/cmd_definitions.py b/eive_tmtc/pus_tc/cmd_definitions.py index bf2659d..cb52228 100644 --- a/eive_tmtc/pus_tc/cmd_definitions.py +++ b/eive_tmtc/pus_tc/cmd_definitions.py @@ -21,68 +21,3 @@ def get_eive_service_op_code_dict() -> TmtcDefinitionWrapper: ) call_all_definitions_providers(def_wrapper) return def_wrapper - - -@tmtc_definitions_provider -def add_str_cmds(defs: TmtcDefinitionWrapper): - oce = OpCodeEntry() - oce.add("0", "Star Tracker: Mode On, Submode Bootloader") - oce.add("1", "Star Tracker: Mode On, Submode Firmware") - oce.add("2", "Star Tracker: Mode Normal") - oce.add("3", "Star Tracker: Mode Off") - oce.add("4", "Star Tracker: Mode Raw") - oce.add("5", "Star Tracker: Ping") - oce.add("6", "Star Tracker: Switch to bootloader program") - oce.add("7", "Star Tracker: Request temperature") - oce.add("8", "Star Tracker: Request version") - oce.add("9", "Star Tracker: Request interface") - oce.add("10", "Star Tracker: Request power") - oce.add("11", "Star Tracker: Set subscription parameters") - oce.add("12", "Star Tracker: Boot image (requires bootloader mode)") - oce.add("13", "Star Tracker: Request time") - oce.add("14", "Star Tracker: Request solution") - oce.add("15", "Star Tracker: Upload image") - oce.add("16", "Star Tracker: Download image") - oce.add("17", "Star Tracker: Set limit parameters") - oce.add("17", "Star Tracker: Set limit parameters") - oce.add("18", "Star Tracker: Set tracking parameters") - oce.add("19", "Star Tracker: Set mounting parameters") - oce.add("20", "Star Tracker: Set camera parameters") - oce.add("22", "Star Tracker: Set centroiding parameters") - oce.add("23", "Star Tracker: Set LISA parameters") - oce.add("24", "Star Tracker: Set matching parameters") - oce.add("25", "Star Tracker: Set validation parameters") - oce.add("26", "Star Tracker: Set algo parameters") - oce.add("27", "Star Tracker: Take image") - oce.add("28", "Star Tracker: Stop str helper") - oce.add("30", "Star Tracker: Set name of download image") - oce.add("31", "Star Tracker: Request histogram") - oce.add("32", "Star Tracker: Request contrast") - oce.add("33", "Star Tracker: Set json filename") - oce.add("35", "Star Tracker: Flash read") - oce.add("36", "Star Tracker: Set flash read filename") - oce.add("37", "Star Tracker: Get checksum") - oce.add("49", "Star Tracker: Request camera parameter") - oce.add("50", "Star Tracker: Request limits") - oce.add("51", "Star Tracker: Set image processor parameters") - oce.add("52", "Star Tracker: (EGSE only) Load camera ground config") - oce.add("53", "Star Tracker: (EGSE only) Load camera flight config") - oce.add("54", "Star Tracker: Request log level parameters") - oce.add("55", "Star Tracker: Request mounting parameters") - oce.add("56", "Star Tracker: Request image processor parameters") - oce.add("57", "Star Tracker: Request centroiding parameters") - oce.add("58", "Star Tracker: Request lisa parameters") - oce.add("59", "Star Tracker: Request matching parameters") - oce.add("60", "Star Tracker: Request tracking parameters") - oce.add("61", "Star Tracker: Request validation parameters") - oce.add("62", "Star Tracker: Request algo parameters") - oce.add("63", "Star Tracker: Request subscription parameters") - oce.add("64", "Star Tracker: Request log subscription parameters") - oce.add("65", "Star Tracker: Request debug camera parameters") - oce.add("66", "Star Tracker: Set log level parameters") - oce.add("67", "Star Tracker: Set log subscription parameters") - oce.add("68", "Star Tracker: Set debug camera parameters") - oce.add("69", "Star Tracker: Firmware update") - oce.add("70", "Star Tracker: Disable timestamp generation") - oce.add("71", "Star Tracker: Enable timestamp generation") - defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce) diff --git a/eive_tmtc/tmtc/acs/imtq.py b/eive_tmtc/tmtc/acs/imtq.py index 1d19d47..1c6eeff 100644 --- a/eive_tmtc/tmtc/acs/imtq.py +++ b/eive_tmtc/tmtc/acs/imtq.py @@ -96,10 +96,14 @@ def add_imtq_cmds(defs: TmtcDefinitionWrapper): oce.add(OpCode.ON, "Mode On") oce.add(OpCode.NORMAL, "Mode Normal") oce.add(OpCode.REQUEST_ENG_HK_NO_TORQUE, "Request Engineering HK One Shot") - oce.add(OpCode.REQUEST_MGM_RAW_NO_TORQUE, "Request MGM Raw Without Torque HK One Shot") + oce.add( + OpCode.REQUEST_MGM_RAW_NO_TORQUE, "Request MGM Raw Without Torque HK One Shot" + ) oce.add(OpCode.ENABLE_MGM_RAW_NO_TORQUE, "Enable MGM Raw Without Torque HK") oce.add(OpCode.DISABLE_MGM_RAW_NO_TORQUE, "Disable MGM Raw Without Torque HK") - oce.add(OpCode.REQUEST_MGM_RAW_WITH_TORQUE, "Request MGM Raw With Torque HK One Shot") + oce.add( + OpCode.REQUEST_MGM_RAW_WITH_TORQUE, "Request MGM Raw With Torque HK One Shot" + ) oce.add(OpCode.ENABLE_MGM_RAW_WITH_TORQUE, "Enable MGM Raw With Torque HK") oce.add(OpCode.DISABLE_MGM_RAW_WITH_TORQUE, "Disable MGM Raw With Torque HK") oce.add(OpCode.POS_X_SELF_TEST, "IMTQ perform pos X self test") diff --git a/eive_tmtc/tmtc/acs/star_tracker.py b/eive_tmtc/tmtc/acs/star_tracker.py index bcda1c5..70c00fb 100644 --- a/eive_tmtc/tmtc/acs/star_tracker.py +++ b/eive_tmtc/tmtc/acs/star_tracker.py @@ -9,7 +9,10 @@ import enum import logging import struct +from eive_tmtc.config.definitions import CustomServiceList from spacepackets.ecss.tc import PusTelecommand +from tmtccmd.config import TmtcDefinitionWrapper, OpCodeEntry +from tmtccmd.config.tmtc import tmtc_definitions_provider from tmtccmd.tc.pus_200_fsfw_mode import pack_mode_data, Mode from tmtccmd.tc import DefaultPusQueueHelper @@ -87,7 +90,11 @@ class StarTrackerActionId(enum.IntEnum): class OpCodes: - NORMAL = ["2", "nml"] + ON_BOOTLOADER = "on_bootloader" + ON_FIRMWARE = "on_firmware" + NORMAL = "nml" + OFF = "off" + PING = "ping" class SetId(enum.IntEnum): @@ -172,19 +179,19 @@ def pack_star_tracker_commands( f"Generate command for star tracker with object id: {object_id.as_hex_string}" ) obyt = object_id.as_bytes - if op_code == "0": + if op_code == OpCodes.ON_BOOTLOADER: q.add_log_cmd("Star tracker: Mode On, Submode Bootloader") data = pack_mode_data(obyt, Mode.ON, Submode.BOOTLOADER) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) - if op_code == "1": + if op_code == OpCodes.ON_FIRMWARE: q.add_log_cmd("Star tracker: Mode On, Submode Firmware") data = pack_mode_data(obyt, Mode.ON, Submode.FIRMWARE) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) - if op_code == "2": + if op_code == OpCodes.NORMAL: q.add_log_cmd("Star tracker: Mode Normal") data = pack_mode_data(obyt, Mode.NORMAL, 0) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) - if op_code == "3": + if op_code == OpCodes.OFF: q.add_log_cmd("Star tracker: Mode Off") data = pack_mode_data(obyt, Mode.OFF, 0) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) @@ -192,7 +199,7 @@ def pack_star_tracker_commands( q.add_log_cmd("Star tracker: Mode Raw") data = pack_mode_data(obyt, Mode.RAW, 0) q.add_pus_tc(PusTelecommand(service=200, subservice=1, app_data=data)) - if op_code == "5": + if op_code == OpCodes.PING: q.add_log_cmd("Star tracker: Ping") data = obyt + struct.pack("!I", StarTrackerActionId.PING) q.add_pus_tc(PusTelecommand(service=8, subservice=128, app_data=data)) @@ -668,3 +675,68 @@ def get_upload_image() -> str: key = input_helper.get_key() image = upload_image_dict[key][1] return image + + +@tmtc_definitions_provider +def add_str_cmds(defs: TmtcDefinitionWrapper): + oce = OpCodeEntry() + oce.add(OpCodes.ON_BOOTLOADER, "Star Tracker: Mode On, Submode Bootloader") + oce.add(OpCodes.ON_FIRMWARE, "Star Tracker: Mode On, Submode Firmware") + oce.add(OpCodes.NORMAL, "Star Tracker: Mode Normal") + oce.add(OpCodes.OFF, "Star Tracker: Mode Off") + oce.add("4", "Star Tracker: Mode Raw") + oce.add(OpCodes.PING, "Star Tracker: Ping") + oce.add("6", "Star Tracker: Switch to bootloader program") + oce.add("7", "Star Tracker: Request temperature") + oce.add("8", "Star Tracker: Request version") + oce.add("9", "Star Tracker: Request interface") + oce.add("10", "Star Tracker: Request power") + oce.add("11", "Star Tracker: Set subscription parameters") + oce.add("12", "Star Tracker: Boot image (requires bootloader mode)") + oce.add("13", "Star Tracker: Request time") + oce.add("14", "Star Tracker: Request solution") + oce.add("15", "Star Tracker: Upload image") + oce.add("16", "Star Tracker: Download image") + oce.add("17", "Star Tracker: Set limit parameters") + oce.add("17", "Star Tracker: Set limit parameters") + oce.add("18", "Star Tracker: Set tracking parameters") + oce.add("19", "Star Tracker: Set mounting parameters") + oce.add("20", "Star Tracker: Set camera parameters") + oce.add("22", "Star Tracker: Set centroiding parameters") + oce.add("23", "Star Tracker: Set LISA parameters") + oce.add("24", "Star Tracker: Set matching parameters") + oce.add("25", "Star Tracker: Set validation parameters") + oce.add("26", "Star Tracker: Set algo parameters") + oce.add("27", "Star Tracker: Take image") + oce.add("28", "Star Tracker: Stop str helper") + oce.add("30", "Star Tracker: Set name of download image") + oce.add("31", "Star Tracker: Request histogram") + oce.add("32", "Star Tracker: Request contrast") + oce.add("33", "Star Tracker: Set json filename") + oce.add("35", "Star Tracker: Flash read") + oce.add("36", "Star Tracker: Set flash read filename") + oce.add("37", "Star Tracker: Get checksum") + oce.add("49", "Star Tracker: Request camera parameter") + oce.add("50", "Star Tracker: Request limits") + oce.add("51", "Star Tracker: Set image processor parameters") + oce.add("52", "Star Tracker: (EGSE only) Load camera ground config") + oce.add("53", "Star Tracker: (EGSE only) Load camera flight config") + oce.add("54", "Star Tracker: Request log level parameters") + oce.add("55", "Star Tracker: Request mounting parameters") + oce.add("56", "Star Tracker: Request image processor parameters") + oce.add("57", "Star Tracker: Request centroiding parameters") + oce.add("58", "Star Tracker: Request lisa parameters") + oce.add("59", "Star Tracker: Request matching parameters") + oce.add("60", "Star Tracker: Request tracking parameters") + oce.add("61", "Star Tracker: Request validation parameters") + oce.add("62", "Star Tracker: Request algo parameters") + oce.add("63", "Star Tracker: Request subscription parameters") + oce.add("64", "Star Tracker: Request log subscription parameters") + oce.add("65", "Star Tracker: Request debug camera parameters") + oce.add("66", "Star Tracker: Set log level parameters") + oce.add("67", "Star Tracker: Set log subscription parameters") + oce.add("68", "Star Tracker: Set debug camera parameters") + oce.add("69", "Star Tracker: Firmware update") + oce.add("70", "Star Tracker: Disable timestamp generation") + oce.add("71", "Star Tracker: Enable timestamp generation") + defs.add_service(CustomServiceList.STAR_TRACKER.value, "Star Tracker", oce)