45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from ast import Pass
|
|
from tmtccmd.tc.definitions import TcQueueT
|
|
|
|
|
|
|
|
from .common import command_mode
|
|
import config.object_ids as obj_ids
|
|
|
|
|
|
class OpCodes:
|
|
THERMAL_CONTROLLER = [obj_ids.THERMAL_CONTROLLER_ID.hex(), "thermal_controller"]
|
|
CORE_CONTROLLER = [obj_ids.CORE_CONTROLLER_ID.hex(), "core_controller"]
|
|
|
|
|
|
class Info:
|
|
THERMAL_CONTROLLER = "Thermal controller"
|
|
CORE_CONTROLLER = "ACS controller"
|
|
|
|
|
|
def pack_controller_commands(tc_queue: TcQueueT, op_code: str):
|
|
mode = int(input("Specify mode: (OFF = 0; ON = 1; NORMAL = 2) [2] ") or "2")
|
|
print(mode)
|
|
if mode < 0 or mode > 2:
|
|
print("Invalid Mode, defaulting to OFF")
|
|
mode = 0
|
|
submode = int(input("Specify submode [0]: ") or "0")
|
|
command_mode(
|
|
object_id=get_object_from_op_code(op_code),
|
|
mode=mode,
|
|
submode=submode,
|
|
tc_queue=tc_queue,
|
|
info=op_code + " to " + str(mode) + "," + str(submode),
|
|
)
|
|
|
|
def get_object_from_op_code(op_code: str):
|
|
try:
|
|
return bytes.fromhex(op_code)
|
|
except:
|
|
pass
|
|
|
|
if op_code in OpCodes.THERMAL_CONTROLLER:
|
|
return obj_ids.THERMAL_CONTROLLER_ID
|
|
if op_code in OpCodes.CORE_CONTROLLER:
|
|
return obj_ids.CORE_CONTROLLER_ID
|