Update TMTC commander #37

Closed
muellerr wants to merge 25 commits from mueller/master into develop
4 changed files with 18 additions and 6 deletions
Showing only changes of commit 5e0e51c258 - Show all commits

View File

@ -104,6 +104,11 @@ def add_pl_pcdu_cmds(cmd_dict: ServiceOpCodeDictT):
keys=OpCodes.SWITCH_ALL_ON,
info="Switch all PL PCDU modules on",
)
add_op_code_entry(
op_code_dict=op_code_dict,
keys=OpCodes.UPDATE_DRO_TO_X8_WAIT,
info="Update DRO to X8 wait time",
)
add_service_op_code_entry(
srv_op_code_dict=cmd_dict,
name=CustomServiceList.PL_PCDU.value,

View File

@ -27,7 +27,8 @@ class Submodes(enum.IntEnum):
class ParamIds(enum.IntEnum):
DRO_TO_X8_WAIT_TIME = 17
SSR_TO_DRO_WAIT_TIME = 17
DRO_TO_X8_WAIT_TIME = 18
def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
@ -50,8 +51,10 @@ def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
)
tc_queue.appendleft(mode_cmd.pack_command_tuple())
if op_code in OpCodes.UPDATE_DRO_TO_X8_WAIT:
tc_queue.appendleft((QueueCommands.PRINT, "Updating DRO to X8 wait time"))
wait_time = request_wait_time()
tc_queue.appendleft(
(QueueCommands.PRINT, f"Updating DRO to X8 wait time to {wait_time}")
)
if wait_time is None:
return
param_data = pack_scalar_double_param_app_data(
@ -66,13 +69,14 @@ def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
def request_wait_time() -> Optional[float]:
while True:
wait_time = input("Please enter DRO to X8 wait time in seconds, x to cancel")
wait_time = input("Please enter DRO to X8 wait time in seconds, x to cancel: ")
if wait_time.lower() == "x":
return None
if not wait_time.isnumeric():
try:
wait_time = float(wait_time)
except ValueError:
LOGGER.warning("Invalid input")
continue
wait_time = float(wait_time)
if wait_time <= 0:
LOGGER.warning("Invalid input")
else:

View File

@ -11,6 +11,7 @@ from tmtccmd.pus.service_1_verification import Service1TMExtended
from tmtccmd.pus.service_17_test import Service17TMExtended
from tmtccmd.tm.service_3_housekeeping import Service3TM
from tmtccmd.tm.service_200_mode import Service200TM
from tmtccmd.tm.service_20_parameters import Service20TM
from tmtccmd.tm.service_5_event import Service5TM
from tmtccmd.tm.service_200_mode import Service200TM
from tmtccmd.utility.tmtc_printer import TmTcPrinter, PrintFormats
@ -46,6 +47,8 @@ def pus_factory_hook(raw_tm_packet: bytearray, tmtc_printer: TmTcPrinter):
tm_packet = Service8TM.unpack(raw_telemetry=raw_tm_packet)
if service_type == 17:
tm_packet = Service17TMExtended.unpack(raw_telemetry=raw_tm_packet)
if service_type == 20:
tm_packet = Service20TM.unpack(raw_telemetry=raw_tm_packet)
if service_type == 200:
tm_packet = Service200TM.unpack(raw_telemetry=raw_tm_packet)
if tm_packet is None:

@ -1 +1 @@
Subproject commit 9af8340c0276460128bd343139bc6e20bf020f6a
Subproject commit 8c4315c79fb7b7afecfb8e7ea9ccbf7847698468