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