import enum from tmtccmd.tc.definitions import TcQueueT from spacepackets.ecss.definitions import PusServices from tmtccmd.tc.service_200_mode import pack_mode_data, Modes from tmtccmd.tc.packer import PusTelecommand from config.object_ids import ( MGM_0_HANDLER_ID, MGM_1_HANDLER_ID, MGM_2_HANDLER_ID, MGM_3_HANDLER_ID, ) from pus_tc.pdu1 import pack_pdu1_commands, Pdu1OpCodes from pus_tc.pdu2 import pack_pdu2_commands, Pdu2OpCodes class AcsOpCodes(enum.Enum): ALL_ON = "0" ALL_OFF = "1" POWER_CYCLE = "2" # Switch on A side ON_MGM_0 = "12" ON_MGM_1 = "13" ON_GYRO_0 = "14" ON_GYRO_1 = "15" # Switch on B side ON_MGM_2 = "16" ON_MGM_3 = "17" ON_GYRO_2 = "18" ON_GYRO_3 = "19" def pack_acs_command(tc_queue: TcQueueT, op_code: str): if op_code == AcsOpCodes.ALL_ON: pass if op_code == AcsOpCodes.ON_MGM_0.value: app_data = pack_mode_data(object_id=MGM_0_HANDLER_ID, mode=Modes.ON, submode=0) # return PusTelecommand(service=PusServices.SERVICE_200_MODE, subservice=)