more missing flags and finalized rw proc
This commit is contained in:
parent
aa01fe4401
commit
ebf44e8b0e
@ -196,7 +196,7 @@ def pack_rw_ass_cmds(tc_queue: TcQueueT, object_id: bytes, op_code: str):
|
||||
tc_queue.appendleft(cmd.pack_command_tuple())
|
||||
|
||||
|
||||
def pack_set_speed_command(object_id: bytes, speed: int, ramp_time: int) -> bytearray:
|
||||
def pack_set_speed_command(object_id: bytes, speed: int, ramp_time: int) -> PusTelecommand:
|
||||
"""With this function a command is packed to set the speed of a reaction wheel
|
||||
:param object_id: The object id of the reaction wheel handler.
|
||||
:param speed: Valid speeds are [-65000, -1000] and [1000, 65000]. Values are
|
||||
@ -209,4 +209,5 @@ def pack_set_speed_command(object_id: bytes, speed: int, ramp_time: int) -> byte
|
||||
command += object_id + command_id
|
||||
command = command + struct.pack("!i", speed)
|
||||
command = command + ramp_time.to_bytes(length=2, byteorder="big")
|
||||
command = PusTelecommand(service=8, subservice=128, ssc=22, app_data=command)
|
||||
return command
|
||||
|
@ -98,9 +98,9 @@ PROC_INFO_DICT = {
|
||||
KAI.SUS_FT[0]: [OpCodes.SUS_FT, KAI.SUS_FT[1], 120.0, 10.0],
|
||||
KAI.STR_FT[0]: [OpCodes.STR_FT, KAI.STR_FT[1], 120.0, 10.0],
|
||||
# collection_time for KAI.RW_FT_ONE_RW maybe be reduced as a full 120seconds is not needed after RWs are tested
|
||||
KAI.RW_FT_ONE_RW[0]: [OpCodes.RW_FT_ONE_RW, KAI.RW_FT_ONE_RW[1], 10.0, 10.0],
|
||||
KAI.RW_FT_ONE_RW[0]: [OpCodes.RW_FT_ONE_RW, KAI.RW_FT_ONE_RW[1], 10.0, 1.0],
|
||||
# collection_time for KAI.RW_FT_ONE_RW maybe be reduced as a full 120seconds is not needed after RWs are tested
|
||||
KAI.RW_FT_ONE_RW[0]: [OpCodes.RW_FT_ONE_RW, KAI.RW_FT_ONE_RW[1], 10.0, 10.0],
|
||||
KAI.RW_FT_ONE_RW[0]: [OpCodes.RW_FT_ONE_RW, KAI.RW_FT_ONE_RW[1], 10.0, 1.0],
|
||||
}
|
||||
|
||||
|
||||
@ -176,7 +176,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str):
|
||||
key = KAI.CORE_FT[0]
|
||||
sid_list.append(make_sid(oids.CORE_CONTROLLER_ID, CoreSetIds.HK))
|
||||
pack_generic_hk_listening_cmds(
|
||||
tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False
|
||||
tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=False, two_rws=False,
|
||||
)
|
||||
|
||||
if op_code in OpCodes.PCDU_FT:
|
||||
@ -374,15 +374,28 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str):
|
||||
# RW NORMAL
|
||||
pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="nml")
|
||||
|
||||
# RW
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.TM_SET))
|
||||
# RW HK für alle RWs nur einzeln
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.TM_SET))
|
||||
|
||||
pack_generic_hk_listening_cmds(
|
||||
tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=True, two_rws=False,
|
||||
)
|
||||
# RW off
|
||||
# RW OFF
|
||||
pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="off")
|
||||
|
||||
# ass command with 2 rws to speed
|
||||
@ -392,19 +405,30 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str):
|
||||
pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="nml")
|
||||
|
||||
# RW
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW1_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW2_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW3_ID, RwSetIds.TM_SET))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.STATUS_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.TEMPERATURE_SET_ID))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.LAST_RESET))
|
||||
sid_list.append(make_sid(oids.RW4_ID, RwSetIds.TM_SET))
|
||||
pack_generic_hk_listening_cmds(
|
||||
tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=False, two_rws=True,
|
||||
)
|
||||
# RW off
|
||||
# RW OFF
|
||||
pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="off")
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
def listen_to_hk_for_x_seconds(
|
||||
tc_queue: TcQueueT,
|
||||
@ -536,69 +560,63 @@ def activate_one_rw_in_sequence(
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW1_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 10.0))
|
||||
|
||||
# RW2 speed cmd
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW2_ID,
|
||||
speed=20000,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW2_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 10.0))
|
||||
|
||||
# RW3 speed cmd
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW3_ID,
|
||||
speed=20000,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW3_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 10.0))
|
||||
|
||||
# RW4 speed cmd
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW4_ID,
|
||||
speed=20000,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW4_ID,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
|
||||
# RW4 speed cmd
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW4_ID,
|
||||
speed=20000,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW4_ID,
|
||||
speed=1000,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
|
||||
def activate_two_rws_in_sequence(
|
||||
tc_queue: TcQueueT
|
||||
@ -617,23 +635,21 @@ def activate_two_rws_in_sequence(
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW1_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW3_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 10.0))
|
||||
# RW2+4 speed cmd
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 5.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW2_ID,
|
||||
speed=20000,
|
||||
@ -646,17 +662,16 @@ def activate_two_rws_in_sequence(
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
# WRONG: should be RW INIT command from datasheet
|
||||
tc_queue.appendleft((QueueCommands.WAIT, 70.0))
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW2_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
command = pack_set_speed_command(
|
||||
object_id=oids.RW4_ID,
|
||||
speed=1000,
|
||||
speed=0,
|
||||
ramp_time=10000,
|
||||
)
|
||||
tc_queue.appendleft(command.pack_command_tuple())
|
||||
|
Loading…
Reference in New Issue
Block a user