from config.definitions import CustomServiceList from tmtccmd.config import TmTcDefWrapper, OpCodeEntry 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(defs: TmTcDefWrapper): oce = OpCodeEntry() oce.add(keys=P60OpCodes.STACK_3V3_ON, info=Info.STACK_3V3_ON) oce.add(keys=P60OpCodes.STACK_3V3_OFF, info=Info.STACK_3V3_OFF) oce.add(keys=P60OpCodes.STACK_5V_ON, info=Info.STACK_5V_ON) oce.add(keys=P60OpCodes.STACK_5V_OFF, info=Info.STACK_5V_OFF) oce.add(keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE) oce.add(keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE) oce.add( keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="P60 Dock: Print Switches, Voltages, Currents", ) oce.add(keys=GomspaceOpCodes.PRINT_LATCHUPS, info="P60 Dock: Print Latchups") oce.add(keys=P60OpCodes.TEST, info="P60 Tests") defs.add_service( name=CustomServiceList.P60DOCK.value, info="P60 Device", op_code_entry=oce ) def add_pdu1_cmds(defs: TmTcDefWrapper): oce = OpCodeEntry() oce.add(keys=Pdu1OpCodes.TCS_BOARD_OFF.value, info="PDU1: Turn TCS board off") oce.add(keys=Pdu1OpCodes.STAR_TRACKER_ON.value, info="PDU1: Turn star tracker on") oce.add(keys=Pdu1OpCodes.STAR_TRACKER_OFF.value, info="PDU1: Turn star tracker off") oce.add(keys=Pdu1OpCodes.SUS_NOMINAL_ON.value, info="PDU1: Turn SUS nominal on") oce.add(keys=Pdu1OpCodes.SUS_NOMINAL_OFF.value, info="PDU1: Turn SUS nominal off") oce.add(keys=Pdu1OpCodes.ACS_A_SIDE_ON.value, info="PDU1: Turn ACS A side on") oce.add(keys=Pdu1OpCodes.ACS_A_SIDE_OFF.value, info="PDU1: Turn ACS A side off") oce.add(keys=Pdu1OpCodes.SYRLINKS_ON.value, info="PDU1: Turn Syrlinks on") oce.add(keys=Pdu1OpCodes.SYRLINKS_OFF.value, info="PDU1: Turn Syrlinks off") oce.add(keys=Pdu1OpCodes.MGT_ON.value, info="PDU1: Turn MGT on") oce.add(keys=Pdu1OpCodes.MGT_OFF.value, info="PDU1: Turn MGT off") oce.add(keys=Pdu1OpCodes.PLOC_ON.value, info="PDU1: Turn PLOC on") oce.add(keys=Pdu1OpCodes.PLOC_OFF.value, info="PDU1: Turn PLOC off") oce.add(keys=Pdu1OpCodes.SCEX_ON.value, info="PDU1: Turn Solar Cell Experiment on") oce.add( keys=Pdu1OpCodes.SCEX_OFF.value, info="PDU1: Turn Solar Cell Experiment off" ) oce.add(keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE) oce.add(keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE) oce.add( keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="PDU1: Print Switches, Voltages, Currents", ) oce.add(keys=Pdu1OpCodes.TCS_BOARD_ON.value, info="PDU1: Turn TCS board on") oce.add(keys=GomspaceOpCodes.PRINT_LATCHUPS, info="PDU1: Print Latchups") oce.add(keys=Pdu1OpCodes.TESTS.value, info="PDU1 Tests") oce.add(keys=GomspaceOpCodes.SET_PARAM, info="Set parameter") defs.add_service( name=CustomServiceList.PDU1.value, info="PDU1 Device", op_code_entry=oce, ) def add_pdu2_cmds(defs: TmTcDefWrapper): oce = OpCodeEntry() oce.add(keys="0", info="PDU2 Tests") oce.add(keys=Pdu2OpCodes.ACS_SIDE_B_ON.value, info="PDU2: Turn ACS Side B on") oce.add(keys=Pdu2OpCodes.ACS_SIDE_B_OFF.value, info="PDU2: Turn ACS Side B off") oce.add(keys=Pdu2OpCodes.SUS_REDUNDANT_ON.value, info="PDU2: Turn SUS redundant on") oce.add( keys=Pdu2OpCodes.SUS_REDUNDANT_OFF.value, info="PDU2: Turn SUS redundant off" ) oce.add(keys=Pdu2OpCodes.RW_ON.value, info="PDU2: Turn reaction wheels on") oce.add(keys=Pdu2OpCodes.RW_OFF.value, info="PDU2: Turn reaction wheels off") oce.add( keys=Pdu2OpCodes.PL_PCDU_VBAT_NOM_ON.value, info="PDU2: PL PCDU Switch Channel Nominal (1) on", ) oce.add( keys=Pdu2OpCodes.PL_PCDU_VBAT_NOM_OFF.value, info="PDU2: PL PCDU Switch Channel Nominal (1) off", ) oce.add( keys=Pdu2OpCodes.PL_PCDU_VBAT_RED_ON.value, info="PDU2: PL PCDU Switch Channel Redundant (1) on", ) oce.add( keys=Pdu2OpCodes.PL_PCDU_VBAT_RED_OFF.value, info="PDU2: PL PCDU Switch Channel Redundant (1) off", ) oce.add( keys=Pdu2OpCodes.TCS_HEATER_IN_ON.value, info="PDU2: Switch TCS Heater Input on", ) oce.add( keys=Pdu2OpCodes.TCS_HEATER_IN_OFF.value, info="PDU2: Switch TCS Heater Input off", ) oce.add( keys=Pdu2OpCodes.SOLAR_ARRAY_DEPL_ON.value, info="PDU2: Switch Solar Array Deployment On", ) oce.add( keys=Pdu2OpCodes.SOLAR_ARRAY_DEPL_OFF.value, info="PDU2: Switch Solar Array Deployment Off", ) oce.add( keys=Pdu2OpCodes.PL_CAMERA_ON.value, info="PDU2: Turn payload camera on", ) oce.add( keys=Pdu2OpCodes.PL_CAMERA_OFF.value, info="PDU2: Turn payload camera off", ) oce.add( keys=GomspaceOpCodes.REQUEST_CORE_HK_ONCE, info=GsInfo.REQUEST_CORE_HK_ONCE, ) oce.add( keys=GomspaceOpCodes.REQUEST_AUX_HK_ONCE, info=GsInfo.REQUEST_AUX_HK_ONCE, ) oce.add( keys=GomspaceOpCodes.PRINT_SWITCH_V_I, info="PDU2: Print Switches, Voltages, Currents", ) oce.add( keys=GomspaceOpCodes.PRINT_LATCHUPS, info="PDU2: Print Latchups", ) defs.add_service( name="pdu2", info="PDU2 Device", op_code_entry=oce, ) def add_pcdu_cmds(defs: TmTcDefWrapper): add_p60_cmds(defs) add_pdu1_cmds(defs) add_pdu2_cmds(defs) add_acu_cmds(defs)