Merge branch 'develop' into meier/ploc
This commit is contained in:
@ -29,8 +29,8 @@ class ActionIds:
|
||||
def pack_heater_test_into(object_id: bytearray, tc_queue: TcQueueT):
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "Testing Heater Switching"))
|
||||
|
||||
heater_number = int(input("Type number of heater to switch: "))
|
||||
if heater_number >= SwitchNumbers.NUMBER_OF_SWITCHES:
|
||||
heater_number = int(input("Type number of heater to switch [0-7]: "))
|
||||
if heater_number >= SwitchNumbers.NUMBER_OF_SWITCHES or heater_number < 0:
|
||||
print("Invalid heater switch number")
|
||||
return
|
||||
action = int(input("Turn switch on or off? (0 - off, 1 - on): "))
|
||||
@ -52,7 +52,8 @@ def pack_switch_heater_command(
|
||||
@param switch_action Action to perform. 0 - Sets switch off, 1 - Sets switch on.
|
||||
"""
|
||||
action_id = ActionIds.SWITCH_HEATER
|
||||
command = object_id + action_id
|
||||
command = bytearray()
|
||||
command += object_id + action_id
|
||||
command.append(switch_nr)
|
||||
command.append(switch_action)
|
||||
return command
|
||||
|
@ -7,7 +7,9 @@
|
||||
"""
|
||||
from tmtccmd.config.definitions import QueueCommands
|
||||
from tmtccmd.tc.packer import TcQueueT
|
||||
from tmtccmd.tc.service_3_housekeeping import generate_one_hk_command, make_sid
|
||||
from gomspace.gomspace_common import *
|
||||
from config.object_ids import P60_DOCK_HANDLER
|
||||
|
||||
|
||||
class P60OpCodes(enum.Enum):
|
||||
@ -110,6 +112,11 @@ def pack_p60dock_test_into(object_id: bytearray, tc_queue: TcQueueT, op_code: st
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.REQUEST_HK_ONCE.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "P60 Dock: Requesting HK Table Once"))
|
||||
hk_sid = make_sid(object_id=P60_DOCK_HANDLER, set_id=SetIds.P60_DOCK)
|
||||
command = generate_one_hk_command(sid=hk_sid, ssc=0)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.PRINT_SWITCH_V_I.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "P60 Dock: Print Switches, Voltages, Currents")
|
||||
@ -118,7 +125,12 @@ def pack_p60dock_test_into(object_id: bytearray, tc_queue: TcQueueT, op_code: st
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_SWITCH_V_I
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
return
|
||||
if op_code == GomspaceOpCodes.PRINT_LATCHUPS.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "P60 Dock: Print Latchups"))
|
||||
command = generate_action_command(
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_LATCHUPS
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if P60DockTestProcedure.all or P60DockTestProcedure.reboot:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "P60 Dock: Reboot"))
|
||||
command = pack_reboot_command(object_id)
|
||||
|
@ -5,27 +5,30 @@
|
||||
"""
|
||||
from tmtccmd.config.definitions import QueueCommands
|
||||
from tmtccmd.tc.packer import TcQueueT
|
||||
from tmtccmd.tc.service_3_housekeeping import generate_one_hk_command, make_sid
|
||||
from gomspace.gomspace_common import *
|
||||
from gomspace.gomspace_pdu_definitions import *
|
||||
from config.object_ids import PDU_1_HANDLER_ID
|
||||
|
||||
|
||||
class Pdu1OpCodes(enum.Enum):
|
||||
TESTS = "0"
|
||||
TCS_BOARD_ON = "1"
|
||||
TCS_BOARD_OFF = "2"
|
||||
STAR_TRACKER_ON = "3"
|
||||
STAR_TRACKER_OFF = "4"
|
||||
SUS_NOMINAL_ON = "5"
|
||||
SUS_NOMINAL_OFF = "6"
|
||||
ACS_A_SIDE_ON = "7"
|
||||
ACS_A_SIDE_OFF = "8"
|
||||
SYRLINKS_ON = "9"
|
||||
SYRLINKS_OFF = "10"
|
||||
MGT_ON = "11"
|
||||
MGT_OFF = "12"
|
||||
TCS_BOARD_ON = "0"
|
||||
TCS_BOARD_OFF = "1"
|
||||
STAR_TRACKER_ON = "2"
|
||||
STAR_TRACKER_OFF = "3"
|
||||
SUS_NOMINAL_ON = "4"
|
||||
SUS_NOMINAL_OFF = "5"
|
||||
ACS_A_SIDE_ON = "6"
|
||||
ACS_A_SIDE_OFF = "7"
|
||||
SYRLINKS_ON = "8"
|
||||
SYRLINKS_OFF = "9"
|
||||
MGT_ON = "10"
|
||||
MGT_OFF = "11"
|
||||
# Solar Cell Experiment
|
||||
SCEX_ON = "13"
|
||||
SCEX_OFF = "14"
|
||||
SCEX_ON = "12"
|
||||
SCEX_OFF = "13"
|
||||
|
||||
TESTS = "32"
|
||||
|
||||
|
||||
class PDU1TestProcedure:
|
||||
@ -53,7 +56,7 @@ def pack_pdu1_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_0.parameter_address,
|
||||
PDUConfigTable.out_en_2.parameter_size,
|
||||
PDUConfigTable.out_en_0.parameter_size,
|
||||
Channel.on,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
@ -62,7 +65,7 @@ def pack_pdu1_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_0.parameter_address,
|
||||
PDUConfigTable.out_en_2.parameter_size,
|
||||
PDUConfigTable.out_en_0.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
@ -151,14 +154,6 @@ def pack_pdu1_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.PRINT_SWITCH_V_I.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU1: Print Switches, Voltages, Currents")
|
||||
)
|
||||
command = generate_action_command(
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_SWITCH_V_I
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu1OpCodes.SYRLINKS_ON.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU1: Turn Syrlinks on"))
|
||||
command = pack_set_param_command(
|
||||
@ -195,6 +190,25 @@ def pack_pdu1_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.REQUEST_HK_ONCE.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU1: Requesting HK Table Once"))
|
||||
hk_sid = make_sid(object_id=PDU_1_HANDLER_ID, set_id=SetIds.PDU_1)
|
||||
command = generate_one_hk_command(sid=hk_sid, ssc=0)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.PRINT_SWITCH_V_I.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU1: Print Switches, Voltages, Currents")
|
||||
)
|
||||
command = generate_action_command(
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_SWITCH_V_I
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.PRINT_LATCHUPS.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU1: Print Latchups"))
|
||||
command = generate_action_command(
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_LATCHUPS
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if PDU1TestProcedure.all or PDU1TestProcedure.ping:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU1: Ping Test"))
|
||||
ping_data = bytearray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
|
||||
|
@ -8,8 +8,10 @@
|
||||
"""
|
||||
from tmtccmd.config.definitions import QueueCommands
|
||||
from tmtccmd.tc.packer import TcQueueT
|
||||
from tmtccmd.tc.service_3_housekeeping import generate_one_hk_command, make_sid
|
||||
from gomspace.gomspace_common import *
|
||||
from gomspace.gomspace_pdu_definitions import *
|
||||
from config.object_ids import PDU_2_HANDLER_ID
|
||||
|
||||
|
||||
class Pdu2OpCodes(enum.Enum):
|
||||
@ -19,8 +21,16 @@ class Pdu2OpCodes(enum.Enum):
|
||||
SUS_REDUNDANT_OFF = "4"
|
||||
RW_ON = "5"
|
||||
RW_OFF = "6"
|
||||
PL_PCDU_VBAT_NOM_ON = "7"
|
||||
PL_PCDU_VBAT_NOM_OFF = "8"
|
||||
PL_PCDU_VBAT_RED_ON = "9"
|
||||
PL_PCDU_VBAT_RED_OFF = "10"
|
||||
TCS_HEATER_IN_ON = "11"
|
||||
TCS_HEATER_IN_OFF = "12"
|
||||
SOLAR_ARRAY_DEPL_ON = "13"
|
||||
SOLAR_ARRAY_DEPL_OFF = "14"
|
||||
# There is not really a point of the on command, the SW can not be commanded if the OBC is off
|
||||
Q7S_OFF = "7"
|
||||
Q7S_OFF = "32"
|
||||
|
||||
|
||||
class PDU2TestProcedure:
|
||||
@ -118,6 +128,95 @@ def pack_pdu2_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.PL_PCDU_VBAT_NOM_ON.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn PDU2 PL PCDU Channel 1 on")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_1.parameter_address,
|
||||
PDUConfigTable.out_en_1.parameter_size,
|
||||
Channel.on,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.PL_PCDU_VBAT_NOM_OFF.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn PDU2 PL PCDU Channel 1 off")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_1.parameter_address,
|
||||
PDUConfigTable.out_en_1.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.PL_PCDU_VBAT_RED_ON.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn PDU2 PL PCDU Channel 6 on")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_6.parameter_address,
|
||||
PDUConfigTable.out_en_6.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.PL_PCDU_VBAT_RED_OFF.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn PDU2 PL PCDU Channel 6 off")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_6.parameter_address,
|
||||
PDUConfigTable.out_en_6.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.TCS_HEATER_IN_ON.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU2: Turn TCS Heater Input on"))
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_3.parameter_address,
|
||||
PDUConfigTable.out_en_3.parameter_size,
|
||||
Channel.on,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.TCS_HEATER_IN_OFF.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU2: Turn TCS Heater Input off"))
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_3.parameter_address,
|
||||
PDUConfigTable.out_en_3.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.SOLAR_ARRAY_DEPL_ON.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn Solar Array Deployment On")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_5.parameter_address,
|
||||
PDUConfigTable.out_en_5.parameter_size,
|
||||
Channel.on,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == Pdu2OpCodes.SOLAR_ARRAY_DEPL_OFF.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Turn Solar Array Deployment Off")
|
||||
)
|
||||
command = pack_set_param_command(
|
||||
object_id,
|
||||
PDUConfigTable.out_en_5.parameter_address,
|
||||
PDUConfigTable.out_en_5.parameter_size,
|
||||
Channel.off,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.REQUEST_HK_ONCE.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU2: Requesting HK Table Once"))
|
||||
hk_sid = make_sid(object_id=PDU_2_HANDLER_ID, set_id=SetIds.PDU_2)
|
||||
command = generate_one_hk_command(sid=hk_sid, ssc=0)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if op_code == GomspaceOpCodes.PRINT_SWITCH_V_I.value:
|
||||
tc_queue.appendleft(
|
||||
(QueueCommands.PRINT, "PDU2: Print Switches, Currents, Voltahes")
|
||||
@ -126,7 +225,12 @@ def pack_pdu2_commands(object_id: bytearray, tc_queue: TcQueueT, op_code: str):
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_SWITCH_V_I
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
|
||||
if op_code == GomspaceOpCodes.PRINT_LATCHUPS.value:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU2: Print Latchups"))
|
||||
command = generate_action_command(
|
||||
object_id=object_id, action_id=GomspaceDeviceActionIds.PRINT_LATCHUPS
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
if PDU2TestProcedure.all or PDU2TestProcedure.reboot:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "PDU2: Reboot"))
|
||||
command = pack_reboot_command(object_id)
|
||||
|
@ -82,14 +82,14 @@ def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "Switching PL PCDU on"))
|
||||
mode_data = pack_mode_data(object_id=PL_PCDU_ID, mode=Modes.ON, submode=0)
|
||||
mode_cmd = PusTelecommand(
|
||||
service=200, subservice=Subservices.SWITCH_MODE, app_data=mode_data
|
||||
service=200, subservice=Subservices.COMMAND_MODE_COMMAND, app_data=mode_data
|
||||
)
|
||||
tc_queue.appendleft(mode_cmd.pack_command_tuple())
|
||||
if op_code in OpCodes.SWITCH_OFF:
|
||||
tc_queue.appendleft((QueueCommands.PRINT, "Switching PL PCDU off"))
|
||||
mode_data = pack_mode_data(object_id=PL_PCDU_ID, mode=Modes.OFF, submode=0)
|
||||
mode_cmd = PusTelecommand(
|
||||
service=200, subservice=Subservices.SWITCH_MODE, app_data=mode_data
|
||||
service=200, subservice=Subservices.COMMAND_MODE_COMMAND, app_data=mode_data
|
||||
)
|
||||
tc_queue.appendleft(mode_cmd.pack_command_tuple())
|
||||
if op_code in OpCodes.SWITCH_ADC_NORMAL:
|
||||
@ -100,7 +100,7 @@ def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
|
||||
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
|
||||
service=200, subservice=Subservices.COMMAND_MODE_COMMAND, app_data=mode_data
|
||||
)
|
||||
tc_queue.appendleft(mode_cmd.pack_command_tuple())
|
||||
if op_code in OpCodes.SWITCH_ALL_NORMAL:
|
||||
@ -114,7 +114,7 @@ def pack_pl_pcdu_commands(tc_queue: TcQueueT, op_code: str):
|
||||
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
|
||||
service=200, subservice=Subservices.COMMAND_MODE_COMMAND, app_data=mode_data
|
||||
)
|
||||
tc_queue.appendleft(mode_cmd.pack_command_tuple())
|
||||
if op_code in OpCodes.UPDATE_DRO_TO_X8_WAIT:
|
||||
|
Reference in New Issue
Block a user