diff --git a/eive_tmtc/tmtc/core.py b/eive_tmtc/tmtc/core.py index 98d4739..b1d0167 100644 --- a/eive_tmtc/tmtc/core.py +++ b/eive_tmtc/tmtc/core.py @@ -20,6 +20,8 @@ _LOGGER = logging.getLogger(__name__) class ActionId(enum.IntEnum): LIST_DIR_INTO_FILE = 0 + ANNOUNCE_VERSION = 1 + ANNOUNCE_CURRENT_IMAGE= 2 SWITCH_REBOOT_FILE_HANDLING = 5 RESET_REBOOT_COUNTER = 6 SWITCH_IMG_LOCK = 7 @@ -39,6 +41,8 @@ class SetId(enum.IntEnum): class OpCode: + ANNOUNCE_VERSION= "announce_version" + ANNOUNCE_CURRENT_IMAGE= "announce_current_image" REBOOT_XSC = ["0", "reboot_xsc"] XSC_REBOOT_SELF = ["1", "reboot_self"] XSC_REBOOT_0_0 = ["2", "reboot_00"] @@ -64,6 +68,8 @@ class OpCode: class Info: + ANNOUNCE_VERSION = "Announce version" + ANNOUNCE_CURRENT_IMAGE = "Announce current image" REBOOT_XSC = "XSC reboot with prompt" REBOOT_FULL = "Full regular reboot" OBSW_UPDATE_FROM_SD_0 = "Update OBSW from SD Card 0" @@ -89,6 +95,8 @@ class Copy(enum.IntEnum): @tmtc_definitions_provider def add_core_controller_definitions(defs: TmtcDefinitionWrapper): oce = OpCodeEntry() + oce.add(keys=OpCode.ANNOUNCE_VERSION, info=Info.ANNOUNCE_VERSION) + oce.add(keys=OpCode.ANNOUNCE_CURRENT_IMAGE, info=Info.ANNOUNCE_CURRENT_IMAGE) oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC) oce.add(keys=OpCode.REBOOT_XSC, info=Info.REBOOT_XSC) oce.add(keys=OpCode.REBOOT_FULL, info=Info.REBOOT_FULL) @@ -142,6 +150,12 @@ def add_core_controller_definitions(defs: TmtcDefinitionWrapper): def pack_core_commands(q: DefaultPusQueueHelper, op_code: str): + if op_code == OpCode.ANNOUNCE_VERSION: + q.add_log_cmd(f"{Info.ANNOUNCE_VERSION}") + q.add_pus_tc(create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_VERSION)) + if op_code == OpCode.ANNOUNCE_CURRENT_IMAGE: + q.add_log_cmd(f"{Info.ANNOUNCE_CURRENT_IMAGE}") + q.add_pus_tc(create_action_cmd(CORE_CONTROLLER_ID, ActionId.ANNOUNCE_CURRENT_IMAGE)) if op_code in OpCode.REBOOT_XSC: reboot_self, chip_select, copy_select = determine_reboot_params() add_xsc_reboot_cmd(