common_power module
This commit is contained in:
107
pus_tc/devs/common_power.py
Normal file
107
pus_tc/devs/common_power.py
Normal file
@ -0,0 +1,107 @@
|
||||
import enum
|
||||
|
||||
from config.object_ids import PDU_1_HANDLER_ID
|
||||
from gomspace.gomspace_common import pack_set_param_command, Channel
|
||||
from gomspace.gomspace_pdu_definitions import PDU_CONFIG_LIST
|
||||
from tmtccmd.tc import DefaultPusQueueHelper
|
||||
from tmtccmd.util import ObjectIdU32
|
||||
|
||||
|
||||
class PowerOpCodes:
|
||||
# PDU 1
|
||||
TCS_ON = ["tcs-on"]
|
||||
TCS_OFF = ["tcs-off"]
|
||||
SYRLINKS_ON = ["syrlinks-on"]
|
||||
SYRLINKS_OFF = ["syrlinks-off"]
|
||||
STAR_TRACKER_ON = ["str-on"]
|
||||
STAR_TRACKER_OFF = ["str-off"]
|
||||
MGT_ON = ["mgt-on"]
|
||||
MGT_OFF = ["mgt-off"]
|
||||
SUS_N_ON = ["sus-on"]
|
||||
SUS_N_OFF = ["sus-off"]
|
||||
SCEX_ON = ["sus-on"]
|
||||
SCEX_OFF = ["sus-off"]
|
||||
PLOC_ON = ["ploc-on"]
|
||||
PLOC_OFF = ["ploc-off"]
|
||||
ACS_A_ON = ["acs-a-on"]
|
||||
ACS_A_OFF = ["acs-a-off"]
|
||||
|
||||
# PDU 2
|
||||
PL_PCDU_VBAT_NOM_ON = ["plpcdu-vbat-nom-on"]
|
||||
PL_PCDU_VBAT_NOM_OFF = ["plpcdu-vbat-nom-off"]
|
||||
RW_ON = ["rw-on"]
|
||||
RW_OFF = ["rw-off"]
|
||||
HEATER_ON = ["heater-on"]
|
||||
HEATER_OFF = ["heater-off"]
|
||||
SUS_R_ON = ["sus-red-on"]
|
||||
SUS_R_OFF = ["sus-red-off"]
|
||||
SOLAR_ARRAY_DEPL_ON = ["sa-depl-on"]
|
||||
SOLAR_ARRAY_DEPL_OFF = ["sa-depl-off"]
|
||||
PL_PCDU_VBAT_RED_ON = ["plpcdu-vbat-red-on"]
|
||||
PL_PCDU_VBAT_RED_OFF = ["plpcdu-vbat-red-off"]
|
||||
ACS_B_ON = ["acs-b-on"]
|
||||
ACS_B_OFF = ["acs-b-off"]
|
||||
|
||||
INFO_CORE = ["info"]
|
||||
INFO_AUX = ["info-aux"]
|
||||
INFO_ALL = ["info-all"]
|
||||
|
||||
|
||||
def get_power_obj_id(op_code: PowerOpCodes) -> ObjectIdU32:
|
||||
pass
|
||||
|
||||
|
||||
def pack_power_commands(q: DefaultPusQueueHelper, op_code: str):
|
||||
if op_code in PowerOpCodes.TCS_ON:
|
||||
object_id = PDU_1_HANDLER_ID
|
||||
tcs_on_cmd(object_id, q)
|
||||
if op_code in PowerOpCodes.TCS_OFF:
|
||||
object_id = PDU_1_HANDLER_ID
|
||||
tcs_off_cmd(object_id, q)
|
||||
if op_code in PowerOpCodes.STAR_TRACKER_ON:
|
||||
object_id = PDU_1_HANDLER_ID
|
||||
tcs_on_cmd(object_id, q)
|
||||
|
||||
|
||||
def tcs_on_cmd(object_id: ObjectIdU32, q: DefaultPusQueueHelper):
|
||||
generic_on_cmd(object_id, q, "PDU1: Turn TCS board on", 0)
|
||||
|
||||
|
||||
def tcs_off_cmd(object_id: ObjectIdU32, q: DefaultPusQueueHelper):
|
||||
generic_off_cmd(object_id, q, "PDU1: Turn TCS board off", 0)
|
||||
|
||||
|
||||
def str_on_cmd(object_id: ObjectIdU32, q: DefaultPusQueueHelper):
|
||||
generic_on_cmd(object_id, q, "PDU1: Turn Star Tracker on", 2)
|
||||
|
||||
|
||||
def str_off_cmd(object_id: ObjectIdU32, q: DefaultPusQueueHelper):
|
||||
generic_off_cmd(object_id, q, "PDU1: Turn Star Tracker off", 2)
|
||||
|
||||
|
||||
def generic_on_cmd(
|
||||
object_id: ObjectIdU32, q: DefaultPusQueueHelper, info_str: str, out_idx: int
|
||||
):
|
||||
q.add_log_cmd(info_str)
|
||||
q.add_pus_tc(
|
||||
pack_set_param_command(
|
||||
object_id.as_bytes,
|
||||
PDU_CONFIG_LIST[out_idx].parameter_address,
|
||||
PDU_CONFIG_LIST[out_idx].parameter_size,
|
||||
Channel.on,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def generic_off_cmd(
|
||||
object_id: ObjectIdU32, q: DefaultPusQueueHelper, info_str: str, out_idx: int
|
||||
):
|
||||
q.add_log_cmd(info_str)
|
||||
q.add_pus_tc(
|
||||
pack_set_param_command(
|
||||
object_id.as_bytes,
|
||||
PDU_CONFIG_LIST[out_idx].parameter_address,
|
||||
PDU_CONFIG_LIST[out_idx].parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
)
|
Reference in New Issue
Block a user