diff --git a/config/definitions.py b/config/definitions.py index 7086a79..326260e 100644 --- a/config/definitions.py +++ b/config/definitions.py @@ -45,6 +45,7 @@ class CustomServiceList(enum.Enum): SYRLINKS = "syrlinks" ACS_ASS = "acs-ass" SUS_ASS = "sus-ass" + TCS = "tcs" TCS_ASS = "tcs-ass" TIME = "time" PROCEDURE = "proc" diff --git a/pus_tc/cmd_definitions.py b/pus_tc/cmd_definitions.py index 783f1b9..6597d84 100644 --- a/pus_tc/cmd_definitions.py +++ b/pus_tc/cmd_definitions.py @@ -12,6 +12,7 @@ from pus_tc.devs.reaction_wheels import add_rw_cmds from pus_tc.devs.bpx_batt import BpxOpCodes from config.definitions import CustomServiceList +from pus_tc.system.tcs import add_tcs_cmds from tmtccmd.config import TmTcDefWrapper, OpCodeEntry from tmtccmd.config.globals import get_default_tmtc_defs @@ -37,6 +38,7 @@ def get_eive_service_op_code_dict() -> TmTcDefWrapper: add_ccsds_cmds(defs=def_wrapper) add_pdec_cmds(defs=def_wrapper) add_heater_cmds(defs=def_wrapper) + add_tcs_cmds(defs=def_wrapper) add_tmp_sens_cmds(def_wrapper) add_proc_cmds(def_wrapper) add_scex_cmds(def_wrapper) @@ -346,21 +348,6 @@ def add_system_cmds(defs: TmTcDefWrapper): op_code_entry=oce, ) - oce = OpCodeEntry() - oce.add( - keys=tcs.OpCodes.TCS_BOARD_ASS_NORMAL, - info=tcs.Info.TCS_BOARD_ASS_NORMAL, - ) - oce.add( - keys=tcs.OpCodes.TCS_BOARD_ASS_OFF, - info=tcs.Info.TCS_BOARD_ASS_OFF, - ) - defs.add_service( - name=CustomServiceList.TCS_ASS.value, - info="TCS Board Assembly", - op_code_entry=oce, - ) - oce = OpCodeEntry() oce.add( keys=controllers.OpCodes.THERMAL_CONTROLLER, diff --git a/pus_tc/procedure_packer.py b/pus_tc/procedure_packer.py index cd5e93c..ffaefd4 100644 --- a/pus_tc/procedure_packer.py +++ b/pus_tc/procedure_packer.py @@ -106,6 +106,8 @@ def handle_default_procedure( return pack_acu_commands(object_id=object_id, q=queue_helper, op_code=op_code) if service == CustomServiceList.BPX_BATTERY.value: return pack_bpx_commands(q=queue_helper, op_code=op_code) + if service == CustomServiceList.TCS.value: + return pack_tcs_sys_commands(q=queue_helper, op_code=op_code) if service == CustomServiceList.TMP1075_1.value: object_id = cast(ObjectIdU32, obj_id_man.get(TMP_1075_1_HANDLER_ID)) return pack_tmp1075_test_into( diff --git a/pus_tc/system/tcs.py b/pus_tc/system/tcs.py index 676cf42..4d95ccb 100644 --- a/pus_tc/system/tcs.py +++ b/pus_tc/system/tcs.py @@ -1,5 +1,7 @@ import enum +from config.definitions import CustomServiceList +from tmtccmd.config import TmTcDefWrapper, OpCodeEntry from tmtccmd.tc import DefaultPusQueueHelper from tmtccmd.tc.pus_200_fsfw_modes import Modes from tmtccmd.tc.pus_3_fsfw_hk import ( @@ -15,7 +17,7 @@ from config.object_ids import TCS_BOARD_ASS_ID, TCS_CONTROLLER class OpCodes: TCS_BOARD_ASS_NORMAL = ["0", "tcs-normal"] TCS_BOARD_ASS_OFF = ["1", "tcs-off"] - REQUEST_ALL_TEMP_HK = ["temp-hk"] + REQUEST_SENSOR_TEMP_SET = ["2", "temp-hk"] class Info: @@ -30,11 +32,33 @@ class SetIds(enum.IntEnum): SUS_TEMP_SENSORS = 2 +def add_tcs_cmds(defs: TmTcDefWrapper): + oce = OpCodeEntry() + oce.add( + keys=OpCodes.TCS_BOARD_ASS_NORMAL, + info=Info.TCS_BOARD_ASS_NORMAL, + ) + oce.add( + keys=OpCodes.TCS_BOARD_ASS_OFF, + info=Info.TCS_BOARD_ASS_OFF, + ) + oce.add(keys=OpCodes.REQUEST_SENSOR_TEMP_SET, info=Info.REQUEST_SENSOR_TEMP_SET) + defs.add_service( + name=CustomServiceList.TCS.value, + info="TCS Board Assembly", + op_code_entry=oce, + ) + + def pack_tcs_sys_commands(q: DefaultPusQueueHelper, op_code: str): - if op_code in OpCodes.REQUEST_ALL_TEMP_HK: + if op_code in OpCodes.REQUEST_SENSOR_TEMP_SET: sensor_set_sid = make_sid(TCS_CONTROLLER, SetIds.PRIMARY_SENSORS) q.add_log_cmd(Info.REQUEST_SENSOR_TEMP_SET) q.add_pus_tc(generate_one_hk_command(sensor_set_sid)) + pack_tcs_ass_cmds(q, op_code) + + +def pack_tcs_ass_cmds(q: DefaultPusQueueHelper, op_code: str): if op_code in OpCodes.TCS_BOARD_ASS_NORMAL: command_mode( object_id=TCS_BOARD_ASS_ID,