from config.definitions import CustomServiceList from tmtccmd.config import ( ServiceOpCodeDictT, add_op_code_entry, add_service_op_code_entry, OpCodeDictKeys, ) from pus_tc.devs.p60dock import P60OpCodes, GomspaceOpCodes, Info from pus_tc.devs.pdu1 import Pdu1OpCodes from pus_tc.devs.pdu2 import Pdu2OpCodes from pus_tc.devs.acu import add_acu_cmds from gomspace.gomspace_common import Info as GsInfo def add_p60_cmds(cmd_dict: ServiceOpCodeDictT): op_code_dict = dict() add_op_code_entry( op_code_dict=op_code_dict, keys=P60OpCodes.STACK_3V3_ON, info=Info.STACK_3V3_ON, ) add_op_code_entry( op_code_dict=op_code_dict, keys=P60OpCodes.STACK_3V3_OFF, info=Info.STACK_3V3_OFF, ) add_op_code_entry( op_code_dict=op_code_dict, keys=P60OpCodes.STACK_5V_ON, info=Info.STACK_5V_ON, ) add_op_code_entry( op_code_dict=op_code_dict, keys=P60OpCodes.STACK_5V_OFF, info=Info.STACK_5V_OFF, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="P60 Dock: Print Switches, Voltages, Currents", ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_LATCHUPS, info="P60 Dock: Print Latchups", ) add_op_code_entry(op_code_dict=op_code_dict, keys=P60OpCodes.TEST, info="P60 Tests") add_service_op_code_entry( srv_op_code_dict=cmd_dict, name=CustomServiceList.P60DOCK.value, info="P60 Device", op_code_entry=op_code_dict, ) def add_pdu1_cmds(cmd_dict: ServiceOpCodeDictT): op_code_dict = dict() add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.TCS_BOARD_OFF.value, info="PDU1: Turn TCS board off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.STAR_TRACKER_ON.value, info="PDU1: Turn star tracker on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.STAR_TRACKER_OFF.value, info="PDU1: Turn star tracker off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SUS_NOMINAL_ON.value, info="PDU1: Turn SUS nominal on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SUS_NOMINAL_OFF.value, info="PDU1: Turn SUS nominal off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.ACS_A_SIDE_ON.value, info="PDU1: Turn ACS A side on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.ACS_A_SIDE_OFF.value, info="PDU1: Turn ACS A side off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SYRLINKS_ON.value, info="PDU1: Turn Syrlinks on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SYRLINKS_OFF.value, info="PDU1: Turn Syrlinks off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.MGT_ON.value, info="PDU1: Turn MGT on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.MGT_OFF.value, info="PDU1: Turn MGT off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.PLOC_ON.value, info="PDU1: Turn PLOC on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.PLOC_OFF.value, info="PDU1: Turn PLOC off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SCEX_ON.value, info="PDU1: Turn Solar Cell Experiment on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.SCEX_OFF.value, info="PDU1: Turn Solar Cell Experiment off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="PDU1: Print Switches, Voltages, Currents", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.TCS_BOARD_ON.value, info="PDU1: Turn TCS board on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_LATCHUPS, info="PDU1: Print Latchups", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu1OpCodes.TESTS.value, info="PDU1 Tests" ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.SET_PARAM, info="Set parameter" ) add_service_op_code_entry( srv_op_code_dict=cmd_dict, name=CustomServiceList.PDU1.value, info="PDU1 Device", op_code_entry=op_code_dict, ) def add_pdu2_cmds(cmd_dict: ServiceOpCodeDictT): op_code_dict = dict() add_op_code_entry(op_code_dict=op_code_dict, keys="0", info="PDU2 Tests") add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.ACS_SIDE_B_ON.value, info="PDU2: Turn ACS Side B on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.ACS_SIDE_B_OFF.value, info="PDU2: Turn ACS Side B off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.SUS_REDUNDANT_ON.value, info="PDU2: Turn SUS redundant on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.SUS_REDUNDANT_OFF.value, info="PDU2: Turn SUS redundant off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.RW_ON.value, info="PDU2: Turn reaction wheels on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.RW_OFF.value, info="PDU2: Turn reaction wheels off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_PCDU_VBAT_NOM_ON.value, info="PDU2: PL PCDU Switch Channel Nominal (1) on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_PCDU_VBAT_NOM_OFF.value, info="PDU2: PL PCDU Switch Channel Nominal (1) off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_PCDU_VBAT_RED_ON.value, info="PDU2: PL PCDU Switch Channel Redundant (1) on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_PCDU_VBAT_RED_OFF.value, info="PDU2: PL PCDU Switch Channel Redundant (1) off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.TCS_HEATER_IN_ON.value, info="PDU2: Switch TCS Heater Input on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.TCS_HEATER_IN_OFF.value, info="PDU2: Switch TCS Heater Input off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.SOLAR_ARRAY_DEPL_ON.value, info="PDU2: Switch Solar Array Deployment On", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.SOLAR_ARRAY_DEPL_OFF.value, info="PDU2: Switch Solar Array Deployment Off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_CAMERA_ON.value, info="PDU2: Turn payload camera on", ) add_op_code_entry( op_code_dict=op_code_dict, keys=Pdu2OpCodes.PL_CAMERA_OFF.value, info="PDU2: Turn payload camera off", ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="PDU2: Print Switches, Voltages, Currents", options={OpCodeDictKeys.TIMEOUT: 2.0}, ) add_op_code_entry( op_code_dict=op_code_dict, keys=GomspaceOpCodes.PRINT_LATCHUPS, info="PDU2: Print Latchups", ) add_service_op_code_entry( srv_op_code_dict=cmd_dict, name="pdu2", info="PDU2 Device", op_code_entry=op_code_dict, ) def add_pcdu_cmds(cmd_dict: ServiceOpCodeDictT): add_p60_cmds(cmd_dict) add_pdu1_cmds(cmd_dict) add_pdu2_cmds(cmd_dict) add_acu_cmds(cmd_dict)