add plpcdu commands

This commit is contained in:
Robin Mueller 2022-02-25 19:21:32 +01:00
parent 7e24589184
commit b8d666a183
No known key found for this signature in database
GPG Key ID: 11D4952C8CCEF814
3 changed files with 40 additions and 1 deletions

View File

@ -56,6 +56,7 @@ PLOC_UPDATER_ID = bytes([0x44, 0x33, 0x00, 0x00])
PLOC_MEMORY_DUMPER_ID = bytes([0x44, 0x33, 0x00, 0x01])
STR_IMG_HELPER_ID = bytes([0x44, 0x33, 0x00, 0x02])
PLOC_MPSOC_ID = bytes([0x44, 0x33, 0x00, 0x15])
PL_PCDU_ID = bytes([0x44, 0x30, 0x00, 0x00])
def get_object_ids() -> Dict[bytes, list]:

38
pus_tc/plpcdu.py Normal file
View File

@ -0,0 +1,38 @@
import enum
from tmtccmd.config import QueueCommands
from tmtccmd.tc.definitions import TcQueueT
from tmtccmd.tc.service_200_mode import pack_mode_data, Modes, Subservices
from spacepackets.ecss.tc import PusTelecommand
from config.object_ids import PL_PCDU_ID
class OpCodes:
SWITCH_ADC_ON = ["0", "switch-adc-on"]
SWITCH_ALL_ON = ["1", "switch-all-on"]
class Submodes(enum.IntEnum):
ADC_ON = 0
ALL_ON = 1
def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
if op_code in OpCodes.SWITCH_ADC_ON:
tc_queue.appendleft((QueueCommands.PRINT, "Switching PL PCDU ADC module on"))
mode_data = pack_mode_data(
object_id=PL_PCDU_ID, mode=Modes.NORMAL, submode=Submodes.ADC_ON
)
mode_cmd = PusTelecommand(
service=200, subservice=Subservices.SWITCH_MODE, app_data=mode_data
)
tc_queue.appendleft(mode_cmd.pack_command_tuple())
if op_code in OpCodes.SWITCH_ALL_ON:
tc_queue.appendleft((QueueCommands.PRINT, "Switching all PL PCDU modules on"))
mode_data = pack_mode_data(
object_id=PL_PCDU_ID, mode=Modes.NORMAL, submode=Submodes.ALL_ON
)
mode_cmd = PusTelecommand(
service=200, subservice=Subservices.SWITCH_MODE, app_data=mode_data
)
tc_queue.appendleft(mode_cmd.pack_command_tuple())

@ -1 +1 @@
Subproject commit 0a713b8695c54008b28e1314a2618dc4ba051ff5
Subproject commit f7bbf4bd9f6dc169a8b9e6a76fa9ef0aceb341d4