From 58a5c1850eab9ee2452eee8bc8cc4afef6d6dc3c Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Tue, 24 May 2022 18:13:17 +0200 Subject: [PATCH 01/19] added sus procedure --- pus_tc/system/proc.py | 72 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index c2cb707..7ade2e0 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -24,11 +24,22 @@ from pus_tc.devs.gyros import L3gGyroSetIds as GyroSetIds_1_3 from pus_tc.devs.gps import Gnss0SetIds as GnssSetIds_0 from pus_tc.devs.gps import Gnss1SetIds as GnssSetIds_1 from pus_tc.devs.imtq import ImtqSetIds - +from pus_tc.devs.sus import Sus0SetIds +from pus_tc.devs.sus import Sus1SetIds +from pus_tc.devs.sus import Sus2SetIds +from pus_tc.devs.sus import Sus3SetIds +from pus_tc.devs.sus import Sus4SetIds +from pus_tc.devs.sus import Sus5SetIds +from pus_tc.devs.sus import Sus6SetIds +from pus_tc.devs.sus import Sus7SetIds +from pus_tc.devs.sus import Sus8SetIds +from pus_tc.devs.sus import Sus9SetIds +from pus_tc.devs.sus import Sus10SetIds +from pus_tc.devs.sus import Sus11SetIds from pus_tc.system.tcs import pack_tcs_sys_commands from pus_tc.system.controllers import pack_controller_commands -from pus_tc.system.acs import pack_acs_command +from pus_tc.system.acs import pack_acs_command, pack_sus_cmds from pus_tc.devs.imtq import pack_dipole_command @@ -43,6 +54,7 @@ class OpCodes: ACS_FT = ["acs-ft"] MGT_FT = ["mgt-ft"] MGT_FT_DP = ["mgt-ft-dp"] + SUS_FT = ["sus-ft"] class KeyAndInfo: @@ -56,6 +68,7 @@ class KeyAndInfo: ACS_FT = ["ACS", "ACS functional test"] MGT_FT = ["MGT", "MGT functional test"] MGT_FT_DP = ["MGT dipole", "MGT functional test with dipole"] + SUS_FT = ["SUS", "SUS functional test"] KAI = KeyAndInfo @@ -71,6 +84,7 @@ PROC_INFO_DICT = { KAI.MGT_FT[0]: [OpCodes.MGT_FT, KAI.MGT_FT[1], 120.0, 10.0], KAI.MGT_FT_DP[0]: [OpCodes.MGT_FT_DP, KAI.MGT_FT_DP[1], 120.0, 10.0], # collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested + KAI.SUS_FT[0]: [OpCodes.SUS_FT, KAI.SUS_FT[1], 120.0, 10.0], } @@ -264,6 +278,60 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # MISSING: imtq board deactivation to OFF (implementation pending by Jakob) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") + if op_code in OpCodes.SUS_FT: + key = KAI.SUS_FT[0] + + pack_sus_cmds(tc_queue=tc_queue, op_code="sus-nom") + + # SUSs + sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, Sus0SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, Sus1SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, Sus2SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, Sus3SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, Sus4SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, Sus5SetIds.CORE_HK)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False + ) + + pack_acs_command(tc_queue=tc_queue, op_code="sus-off") + tc_queue.appendleft((QueueCommands.WAIT, 5.0)) + pack_sus_cmds(tc_queue=tc_queue, op_code="sus-red") + + # SUSs + sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, Sus6SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, Sus7SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, Sus8SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, Sus9SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_HK)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False + ) + + pack_acs_command(tc_queue=tc_queue, op_code="sus-off") + tc_queue.appendleft((QueueCommands.WAIT, 5.0)) + pack_sus_cmds(tc_queue=tc_queue, op_code="sus-d") + + # SUSs + sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, Sus0SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, Sus1SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, Sus2SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, Sus3SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, Sus4SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, Sus5SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, Sus6SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, Sus7SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, Sus8SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, Sus9SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_HK)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False + ) + + pack_acs_command(tc_queue=tc_queue, op_code="sus-off") + """ def listen_to_hk_for_x_seconds( From 1c3d67aa15ce641f6f9ec80aabb9714c320c24c4 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Tue, 24 May 2022 18:34:25 +0200 Subject: [PATCH 02/19] updated mgt proc --- pus_tc/system/proc.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 7ade2e0..8e9a88b 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -40,7 +40,8 @@ from pus_tc.devs.sus import Sus11SetIds from pus_tc.system.tcs import pack_tcs_sys_commands from pus_tc.system.controllers import pack_controller_commands from pus_tc.system.acs import pack_acs_command, pack_sus_cmds -from pus_tc.devs.imtq import pack_dipole_command +from pus_tc.devs.imtq import pack_imtq_test_into, pack_dipole_command + class OpCodes: @@ -245,10 +246,8 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): if op_code in OpCodes.MGT_FT: key = KAI.MGT_FT[0] - # missing imtq to ON - # mgt 1: imtq und hk - - # MISSING: imtq board activation to ON (implementation pending by Jakob) +# mgt 1: imtq und hk + pack_imtq_test_into(tc_queue=tc_queue, op_code="2") sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) @@ -257,16 +256,14 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False ) - # MISSING: imtq board deactivation to OFF (implementation pending by Jakob) - - # missing imtq to ON - # mgt 2.: imtq + dual side + dipole + pack_imtq_test_into(tc_queue=tc_queue, op_code="0") if op_code in OpCodes.MGT_FT_DP: key = KAI.MGT_FT_DP[0] - pack_acs_command(tc_queue=tc_queue, op_code="acs-d") - # MISSING: imtq board activation to ON (implementation pending by Jakob) + pack_acs_command(tc_queue=tc_queue, op_code="acs-d") +# mgt 2.: imtq + dual side + dipole + pack_imtq_test_into(tc_queue=tc_queue, op_code="2") sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) @@ -275,7 +272,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=True ) - # MISSING: imtq board deactivation to OFF (implementation pending by Jakob) + pack_imtq_test_into(tc_queue=tc_queue, op_code="0") pack_acs_command(tc_queue=tc_queue, op_code="acs-off") if op_code in OpCodes.SUS_FT: From e88bf7e9376edcb04549075206b8ecdfa6476792 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Tue, 24 May 2022 18:56:15 +0200 Subject: [PATCH 03/19] added str proc and str temperature set_id --- pus_tc/devs/star_tracker.py | 4 ++++ pus_tc/system/proc.py | 26 ++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/pus_tc/devs/star_tracker.py b/pus_tc/devs/star_tracker.py index 73bbc37..d8c9a94 100644 --- a/pus_tc/devs/star_tracker.py +++ b/pus_tc/devs/star_tracker.py @@ -85,6 +85,10 @@ class StarTrackerActionIds: FIRMWARE_UPDATE = 84 +class SetIds: + TEMPERATURE = 25 + + class FileDefs: download_path = "/mnt/sd0/startracker" json_file = "/mnt/sd0/startracker/full.json" diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 8e9a88b..d072874 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -36,11 +36,13 @@ from pus_tc.devs.sus import Sus8SetIds from pus_tc.devs.sus import Sus9SetIds from pus_tc.devs.sus import Sus10SetIds from pus_tc.devs.sus import Sus11SetIds +from pus_tc.devs.star_tracker import SetIds as StrSetIds from pus_tc.system.tcs import pack_tcs_sys_commands from pus_tc.system.controllers import pack_controller_commands from pus_tc.system.acs import pack_acs_command, pack_sus_cmds from pus_tc.devs.imtq import pack_imtq_test_into, pack_dipole_command +from pus_tc.devs.star_tracker import pack_star_tracker_commands @@ -56,6 +58,7 @@ class OpCodes: MGT_FT = ["mgt-ft"] MGT_FT_DP = ["mgt-ft-dp"] SUS_FT = ["sus-ft"] + STR_FT = ["str-ft"] class KeyAndInfo: @@ -70,6 +73,7 @@ class KeyAndInfo: MGT_FT = ["MGT", "MGT functional test"] MGT_FT_DP = ["MGT dipole", "MGT functional test with dipole"] SUS_FT = ["SUS", "SUS functional test"] + STR_FT = ["STR", "STR functional test"] KAI = KeyAndInfo @@ -86,6 +90,7 @@ PROC_INFO_DICT = { KAI.MGT_FT_DP[0]: [OpCodes.MGT_FT_DP, KAI.MGT_FT_DP[1], 120.0, 10.0], # collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested 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], } @@ -247,7 +252,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): key = KAI.MGT_FT[0] # mgt 1: imtq und hk - pack_imtq_test_into(tc_queue=tc_queue, op_code="2") + pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="2") sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) @@ -256,14 +261,14 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False ) - pack_imtq_test_into(tc_queue=tc_queue, op_code="0") + pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") if op_code in OpCodes.MGT_FT_DP: key = KAI.MGT_FT_DP[0] pack_acs_command(tc_queue=tc_queue, op_code="acs-d") # mgt 2.: imtq + dual side + dipole - pack_imtq_test_into(tc_queue=tc_queue, op_code="2") + pack_imtq_test_into(object_id=oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="2") sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) @@ -272,7 +277,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=True ) - pack_imtq_test_into(tc_queue=tc_queue, op_code="0") + pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") pack_acs_command(tc_queue=tc_queue, op_code="acs-off") if op_code in OpCodes.SUS_FT: @@ -329,6 +334,19 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_acs_command(tc_queue=tc_queue, op_code="sus-off") + if op_code in OpCodes.STR_FT: + key = KAI.STR_FT[0] + + pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="2") + + # STR + sid_list.append(make_sid(oids.STAR_TRACKER_ID, StrSetIds.TEMPERATURE)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False + ) + + pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="3") + """ def listen_to_hk_for_x_seconds( From b4604951b39a4023fe124c8386a8ad9649a9a250 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 10:03:47 +0200 Subject: [PATCH 04/19] added preliminary rw proc --- pus_tc/system/proc.py | 200 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 197 insertions(+), 3 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index d072874..fc378b2 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -37,12 +37,14 @@ from pus_tc.devs.sus import Sus9SetIds from pus_tc.devs.sus import Sus10SetIds from pus_tc.devs.sus import Sus11SetIds from pus_tc.devs.star_tracker import SetIds as StrSetIds +from pus_tc.devs.reaction_wheels import RwSetIds from pus_tc.system.tcs import pack_tcs_sys_commands from pus_tc.system.controllers import pack_controller_commands from pus_tc.system.acs import pack_acs_command, pack_sus_cmds from pus_tc.devs.imtq import pack_imtq_test_into, pack_dipole_command from pus_tc.devs.star_tracker import pack_star_tracker_commands +from pus_tc.devs.reaction_wheels import pack_rw_ass_cmds, pack_set_speed_command @@ -59,6 +61,8 @@ class OpCodes: MGT_FT_DP = ["mgt-ft-dp"] SUS_FT = ["sus-ft"] STR_FT = ["str-ft"] + RW_FT_ONE_RW = ["rw-ft-one-rw"] + RW_FT_TWO_RWS = ["rw-ft-two-rws"] class KeyAndInfo: @@ -74,6 +78,8 @@ class KeyAndInfo: MGT_FT_DP = ["MGT dipole", "MGT functional test with dipole"] SUS_FT = ["SUS", "SUS functional test"] STR_FT = ["STR", "STR functional test"] + RW_FT_ONE_RW = ["RW ONE RW", "RW functional test with one RW"] + RW_FT_TWO_RWS = ["RW TWO RWS", "RW functional test with two RWs"] KAI = KeyAndInfo @@ -87,10 +93,14 @@ PROC_INFO_DICT = { KAI.TCS_FT_OFF[0]: [OpCodes.TCS_FT_OFF, KAI.TCS_FT_OFF[1], 120.0, 10.0], KAI.ACS_FT[0]: [OpCodes.ACS_FT, KAI.ACS_FT[1], 120.0, 10.0], KAI.MGT_FT[0]: [OpCodes.MGT_FT, KAI.MGT_FT[1], 120.0, 10.0], - KAI.MGT_FT_DP[0]: [OpCodes.MGT_FT_DP, KAI.MGT_FT_DP[1], 120.0, 10.0], - # collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested +# collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested + KAI.MGT_FT_DP[0]: [OpCodes.MGT_FT_DP, KAI.MGT_FT_DP[1], 10.0, 10.0], 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], +# 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], } @@ -125,6 +135,16 @@ def pack_generic_hk_listening_cmds( tc_queue=tc_queue, ) + elif one_rw is True: + activate_one_rw_in_sequence( + tc_queue=tc_queue, + ) + + elif two_rws is True: + activate_two_rws_in_sequence( + tc_queue=tc_queue, + ) + else: pass @@ -147,7 +167,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): key = KAI.BAT_FT[0] sid_list.append(make_sid(oids.BPX_HANDLER_ID, BpxSetIds.GET_HK_SET)) 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, ) if op_code in OpCodes.CORE_FT: @@ -347,6 +367,41 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="3") + if op_code in OpCodes.RW_FT_ONE_RW: + key = KAI.RW_FT_ONE_RW[0] +# 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)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=True, + ) +# 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 + if op_code in OpCodes.: + key = KAI.[0] +# 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)) + pack_generic_hk_listening_cmds( + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=True, + ) +# 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( @@ -466,3 +521,142 @@ def activate_mgts_alternately( ) tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + + +def activate_one_rw_in_sequence( + tc_queue: TcQueueT, +): +# RW1 speed cmd + tc_queue.appendleft((QueueCommands.WAIT, 5.0)) + command = pack_set_speed_command( + object_id=oids.RW1_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.RW1_ID, + speed=1000, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + tc_queue.appendleft((QueueCommands.WAIT, 5.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, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + tc_queue.appendleft((QueueCommands.WAIT, 5.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, + 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 +): + # RW1+3 speed cmd + tc_queue.appendleft((QueueCommands.WAIT, 5.0)) + command = pack_set_speed_command( + object_id=oids.RW1_ID, + speed=20000, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + 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.RW1_ID, + speed=1000, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + command = pack_set_speed_command( + object_id=oids.RW3_ID, + speed=1000, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + tc_queue.appendleft((QueueCommands.WAIT, 5.0)) + # RW2+4 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()) + 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.RW2_ID, + speed=1000, + ramp_time=10000, + ) + tc_queue.appendleft(command.pack_command_tuple()) + 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)) + From 81b3db694a7c547b1e41d552608bafc3c9d389c9 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 10:13:31 +0200 Subject: [PATCH 05/19] added missing flags --- pus_tc/system/proc.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index fc378b2..592fbcf 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -116,6 +116,8 @@ def pack_generic_hk_listening_cmds( sid_list: list[bytearray], diag: bool, mgt: bool, + one_rw: bool, + two_rws: bool, ): info = PROC_INFO_DICT[proc_key] collection_time = info[2] @@ -167,7 +169,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): key = KAI.BAT_FT[0] sid_list.append(make_sid(oids.BPX_HANDLER_ID, BpxSetIds.GET_HK_SET)) 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.CORE_FT: @@ -188,14 +190,14 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.PDU_2_HANDLER_ID, GsSetIds.PDU_2_AUX)) sid_list.append(make_sid(oids.ACU_HANDLER_ID, GsSetIds.ACU_AUX)) 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.RAD_SEN_FT: key = KAI.RAD_SEN_FT[0] sid_list.append(make_sid(oids.RAD_SENSOR_ID, RadSetIds.RAD_SEN_CORE)) 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.TCS_FT_ON: @@ -223,7 +225,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # GNSS0 sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -240,7 +242,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # GNSS1 sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -263,7 +265,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_HK)) sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -278,7 +280,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.RAW_MTM_SET)) 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, ) pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") @@ -313,7 +315,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, Sus4SetIds.CORE_HK)) sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, Sus5SetIds.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -328,7 +330,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -349,7 +351,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_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, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -362,7 +364,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # STR sid_list.append(make_sid(oids.STAR_TRACKER_ID, StrSetIds.TEMPERATURE)) 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, ) pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="3") @@ -378,14 +380,14 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.LAST_RESET)) sid_list.append(make_sid(oids.RW_ASSEMBLY, 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, + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=True, two_rws=False, ) # 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 - if op_code in OpCodes.: - key = KAI.[0] + if op_code in OpCodes.RW_FT_TWO_RWS: + key = KAI.RW_FT_TWO_RWS[0] # RW NORMAL pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="nml") @@ -395,7 +397,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.RW_ASSEMBLY, RwSetIds.LAST_RESET)) sid_list.append(make_sid(oids.RW_ASSEMBLY, 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, + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=False, one_rw=False, two_rws=True, ) # RW off pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="off") From aa01fe4401d005820ee9bae937911ad92dc915b7 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 10:14:57 +0200 Subject: [PATCH 06/19] more missing flags --- pus_tc/system/proc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 592fbcf..7c67057 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -296,7 +296,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.RAW_MTM_SET)) pack_generic_hk_listening_cmds( - tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=True + tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=True, one_rw=False, two_rws=False, ) pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") From ebf44e8b0ed2d36ffdb4cdb6135670572467ce00 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 10:53:39 +0200 Subject: [PATCH 07/19] more missing flags and finalized rw proc --- pus_tc/devs/reaction_wheels.py | 3 +- pus_tc/system/proc.py | 115 +++++++++++++++++++-------------- 2 files changed, 67 insertions(+), 51 deletions(-) diff --git a/pus_tc/devs/reaction_wheels.py b/pus_tc/devs/reaction_wheels.py index a74e27c..4e16197 100644 --- a/pus_tc/devs/reaction_wheels.py +++ b/pus_tc/devs/reaction_wheels.py @@ -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 diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 7c67057..a5e8212 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -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()) From a107506b88506f8a344a6fe1f854ddf9a3b02d36 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 11:10:57 +0200 Subject: [PATCH 08/19] apply black and add sus set ID --- config/object_ids.py | 2 +- pus_tc/devs/reaction_wheels.py | 4 +- pus_tc/devs/sus.py | 2 + pus_tc/system/proc.py | 230 ++++++++++++++++++++++----------- 4 files changed, 161 insertions(+), 77 deletions(-) create mode 100644 pus_tc/devs/sus.py diff --git a/config/object_ids.py b/config/object_ids.py index d8f3298..60647bd 100644 --- a/config/object_ids.py +++ b/config/object_ids.py @@ -117,7 +117,7 @@ SUS_3_N_LOC_XFYBZF_PT_YF = bytes([0x44, 0x12, 0x00, 0x35]) SUS_9_R_LOC_XBYBZB_PT_YF = bytes([0x44, 0x12, 0x00, 0x41]) SUS_4_N_LOC_XMYFZF_PT_ZF = bytes([0x44, 0x12, 0x00, 0x36]) -SUS_10_N_LOC_XMYBZF_PT_ZF = bytes([0x44, 0x12, 0x00, 0x42]) +SUS_10_R_LOC_XMYBZF_PT_ZF = bytes([0x44, 0x12, 0x00, 0x42]) SUS_5_N_LOC_XFYMZB_PT_ZB = bytes([0x44, 0x12, 0x00, 0x37]) SUS_11_R_LOC_XBYMZB_PT_ZB = bytes([0x44, 0x12, 0x00, 0x43]) diff --git a/pus_tc/devs/reaction_wheels.py b/pus_tc/devs/reaction_wheels.py index 4e16197..9a03e71 100644 --- a/pus_tc/devs/reaction_wheels.py +++ b/pus_tc/devs/reaction_wheels.py @@ -196,7 +196,9 @@ 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) -> PusTelecommand: +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 diff --git a/pus_tc/devs/sus.py b/pus_tc/devs/sus.py new file mode 100644 index 0000000..be99fc1 --- /dev/null +++ b/pus_tc/devs/sus.py @@ -0,0 +1,2 @@ +class SetIds: + HK = 3 diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index a5e8212..2f9735b 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -24,18 +24,7 @@ from pus_tc.devs.gyros import L3gGyroSetIds as GyroSetIds_1_3 from pus_tc.devs.gps import Gnss0SetIds as GnssSetIds_0 from pus_tc.devs.gps import Gnss1SetIds as GnssSetIds_1 from pus_tc.devs.imtq import ImtqSetIds -from pus_tc.devs.sus import Sus0SetIds -from pus_tc.devs.sus import Sus1SetIds -from pus_tc.devs.sus import Sus2SetIds -from pus_tc.devs.sus import Sus3SetIds -from pus_tc.devs.sus import Sus4SetIds -from pus_tc.devs.sus import Sus5SetIds -from pus_tc.devs.sus import Sus6SetIds -from pus_tc.devs.sus import Sus7SetIds -from pus_tc.devs.sus import Sus8SetIds -from pus_tc.devs.sus import Sus9SetIds -from pus_tc.devs.sus import Sus10SetIds -from pus_tc.devs.sus import Sus11SetIds +from pus_tc.devs.sus import SetIds from pus_tc.devs.star_tracker import SetIds as StrSetIds from pus_tc.devs.reaction_wheels import RwSetIds @@ -47,7 +36,6 @@ from pus_tc.devs.star_tracker import pack_star_tracker_commands from pus_tc.devs.reaction_wheels import pack_rw_ass_cmds, pack_set_speed_command - class OpCodes: HEATER = ["0", "heater"] BAT_FT = ["bat-ft"] @@ -93,13 +81,13 @@ PROC_INFO_DICT = { KAI.TCS_FT_OFF[0]: [OpCodes.TCS_FT_OFF, KAI.TCS_FT_OFF[1], 120.0, 10.0], KAI.ACS_FT[0]: [OpCodes.ACS_FT, KAI.ACS_FT[1], 120.0, 10.0], KAI.MGT_FT[0]: [OpCodes.MGT_FT, KAI.MGT_FT[1], 120.0, 10.0], -# collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested + # collection_time for KAI.MGT_FT_DP maybe be reduced as a full 120seconds is not needed after MGTs are tested KAI.MGT_FT_DP[0]: [OpCodes.MGT_FT_DP, KAI.MGT_FT_DP[1], 10.0, 10.0], 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 + # 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, 1.0], -# collection_time for KAI.RW_FT_ONE_RW maybe be reduced as a full 120seconds is not needed after RWs are tested + # 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, 1.0], } @@ -169,14 +157,26 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): key = KAI.BAT_FT[0] sid_list.append(make_sid(oids.BPX_HANDLER_ID, BpxSetIds.GET_HK_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=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.CORE_FT: 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, one_rw=False, two_rws=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: @@ -190,14 +190,26 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.PDU_2_HANDLER_ID, GsSetIds.PDU_2_AUX)) sid_list.append(make_sid(oids.ACU_HANDLER_ID, GsSetIds.ACU_AUX)) 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=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.RAD_SEN_FT: key = KAI.RAD_SEN_FT[0] sid_list.append(make_sid(oids.RAD_SENSOR_ID, RadSetIds.RAD_SEN_CORE)) 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=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.TCS_FT_ON: @@ -225,7 +237,13 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # GNSS0 sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -242,7 +260,13 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): # GNSS1 sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -265,7 +289,13 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_HK)) sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="acs-off") @@ -273,14 +303,20 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): if op_code in OpCodes.MGT_FT: key = KAI.MGT_FT[0] -# mgt 1: imtq und hk + # mgt 1: imtq und hk pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="2") sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.RAW_MTM_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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") @@ -289,14 +325,22 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): key = KAI.MGT_FT_DP[0] pack_acs_command(tc_queue=tc_queue, op_code="acs-d") -# mgt 2.: imtq + dual side + dipole - pack_imtq_test_into(object_id=oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="2") + # mgt 2.: imtq + dual side + dipole + pack_imtq_test_into( + object_id=oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="2" + ) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.ENG_HK_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.CAL_MTM_SET)) sid_list.append(make_sid(oids.IMTQ_HANDLER_ID, ImtqSetIds.RAW_MTM_SET)) pack_generic_hk_listening_cmds( - tc_queue=tc_queue, proc_key=key, sid_list=sid_list, diag=False, mgt=True, one_rw=False, two_rws=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=True, + one_rw=False, + two_rws=False, ) pack_imtq_test_into(oids.IMTQ_HANDLER_ID, tc_queue=tc_queue, op_code="0") @@ -308,14 +352,20 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-nom") # SUSs - sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, Sus0SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, Sus1SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, Sus2SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, Sus3SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, Sus4SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, Sus5SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, SetIds.HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -323,14 +373,20 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-red") # SUSs - sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, Sus6SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, Sus7SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, Sus8SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, Sus9SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, SetIds.HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -338,20 +394,26 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-d") # SUSs - sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, Sus0SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, Sus1SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, Sus2SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, Sus3SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, Sus4SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, Sus5SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, Sus6SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, Sus7SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, Sus8SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, Sus9SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, Sus10SetIds.CORE_HK)) - sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, Sus11SetIds.CORE_HK)) + sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, SetIds.HK)) + sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, SetIds.HK)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) pack_acs_command(tc_queue=tc_queue, op_code="sus-off") @@ -359,19 +421,29 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): if op_code in OpCodes.STR_FT: key = KAI.STR_FT[0] - pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="2") + pack_star_tracker_commands( + object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="2" + ) # STR sid_list.append(make_sid(oids.STAR_TRACKER_ID, StrSetIds.TEMPERATURE)) 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=False, + tc_queue=tc_queue, + proc_key=key, + sid_list=sid_list, + diag=False, + mgt=False, + one_rw=False, + two_rws=False, ) - pack_star_tracker_commands(object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="3") + pack_star_tracker_commands( + object_id=oids.STAR_TRACKER_ID, tc_queue=tc_queue, op_code="3" + ) if op_code in OpCodes.RW_FT_ONE_RW: key = KAI.RW_FT_ONE_RW[0] -# RW NORMAL + # RW NORMAL pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="nml") # RW HK für alle RWs nur einzeln @@ -393,15 +465,21 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): 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, + 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 + # ass command with 2 rws to speed if op_code in OpCodes.RW_FT_TWO_RWS: key = KAI.RW_FT_TWO_RWS[0] -# RW NORMAL + # RW NORMAL pack_rw_ass_cmds(object_id=oids.RW_ASSEMBLY, tc_queue=tc_queue, op_code="nml") # RW @@ -422,13 +500,18 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): 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, + 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, @@ -550,9 +633,9 @@ def activate_mgts_alternately( def activate_one_rw_in_sequence( - tc_queue: TcQueueT, + tc_queue: TcQueueT, ): -# RW1 speed cmd + # RW1 speed cmd tc_queue.appendleft((QueueCommands.WAIT, 5.0)) command = pack_set_speed_command( object_id=oids.RW1_ID, @@ -569,7 +652,7 @@ def activate_one_rw_in_sequence( tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft((QueueCommands.WAIT, 10.0)) -# RW2 speed cmd + # RW2 speed cmd command = pack_set_speed_command( object_id=oids.RW2_ID, speed=20000, @@ -585,7 +668,7 @@ def activate_one_rw_in_sequence( tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft((QueueCommands.WAIT, 10.0)) -# RW3 speed cmd + # RW3 speed cmd command = pack_set_speed_command( object_id=oids.RW3_ID, speed=20000, @@ -601,7 +684,7 @@ def activate_one_rw_in_sequence( tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft((QueueCommands.WAIT, 10.0)) -# RW4 speed cmd + # RW4 speed cmd command = pack_set_speed_command( object_id=oids.RW4_ID, speed=20000, @@ -618,9 +701,7 @@ def activate_one_rw_in_sequence( tc_queue.appendleft((QueueCommands.WAIT, 5.0)) -def activate_two_rws_in_sequence( - tc_queue: TcQueueT -): +def activate_two_rws_in_sequence(tc_queue: TcQueueT): # RW1+3 speed cmd tc_queue.appendleft((QueueCommands.WAIT, 5.0)) command = pack_set_speed_command( @@ -676,4 +757,3 @@ def activate_two_rws_in_sequence( ) tc_queue.appendleft(command.pack_command_tuple()) tc_queue.appendleft((QueueCommands.WAIT, 5.0)) - From 72e258308e265bdb59d18f8ed7493b52469981ec Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 11:16:24 +0200 Subject: [PATCH 09/19] made some code more brief --- pus_tc/system/proc.py | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 2f9735b..bc86093 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -351,13 +351,25 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-nom") + sus_n_ids = [ + oids.SUS_0_N_LOC_XFYFZM_PT_XF, + oids.SUS_1_N_LOC_XBYFZM_PT_XB, + oids.SUS_2_N_LOC_XFYBZB_PT_YB, + oids.SUS_3_N_LOC_XFYBZF_PT_YF, + oids.SUS_4_N_LOC_XMYFZF_PT_ZF, + oids.SUS_5_N_LOC_XFYMZB_PT_ZB, + ] + sus_r_ids = [ + oids.SUS_6_R_LOC_XFYBZM_PT_XF, + oids.SUS_7_R_LOC_XBYBZM_PT_XB, + oids.SUS_8_R_LOC_XBYBZB_PT_YB, + oids.SUS_9_R_LOC_XBYBZB_PT_YF, + oids.SUS_10_R_LOC_XMYBZF_PT_ZF, + oids.SUS_11_R_LOC_XBYMZB_PT_ZB, + ] # SUSs - sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, SetIds.HK)) + for nom_sus in sus_n_ids: + sid_list.append(make_sid(nom_sus, SetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -373,12 +385,8 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-red") # SUSs - sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, SetIds.HK)) + for red_sus in sus_r_ids: + sid_list.append(make_sid(red_sus, SetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -394,18 +402,10 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): pack_sus_cmds(tc_queue=tc_queue, op_code="sus-d") # SUSs - sid_list.append(make_sid(oids.SUS_0_N_LOC_XFYFZM_PT_XF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_1_N_LOC_XBYFZM_PT_XB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_2_N_LOC_XFYBZB_PT_YB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_3_N_LOC_XFYBZF_PT_YF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_4_N_LOC_XMYFZF_PT_ZF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_5_N_LOC_XFYMZB_PT_ZB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_6_R_LOC_XFYBZM_PT_XF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_7_R_LOC_XBYBZM_PT_XB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_8_R_LOC_XBYBZB_PT_YB, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_9_R_LOC_XBYBZB_PT_YF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_10_R_LOC_XMYBZF_PT_ZF, SetIds.HK)) - sid_list.append(make_sid(oids.SUS_11_R_LOC_XBYMZB_PT_ZB, SetIds.HK)) + for nom_sus in sus_n_ids: + sid_list.append(make_sid(nom_sus, SetIds.HK)) + for red_sus in sus_r_ids: + sid_list.append(make_sid(red_sus, SetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, From 55a6e98850402c132e341a81a0e56343dfaff853 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 11:35:11 +0200 Subject: [PATCH 10/19] rw proc 2 to negative values and mgt wait duration changed --- pus_tc/system/proc.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index bc86093..522c75a 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -579,7 +579,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) command = pack_dipole_command( object_id=oids.IMTQ_HANDLER_ID, @@ -589,7 +589,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) command = pack_dipole_command( object_id=oids.IMTQ_HANDLER_ID, @@ -599,7 +599,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) command = pack_dipole_command( object_id=oids.IMTQ_HANDLER_ID, @@ -609,7 +609,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) command = pack_dipole_command( object_id=oids.IMTQ_HANDLER_ID, @@ -619,7 +619,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) command = pack_dipole_command( object_id=oids.IMTQ_HANDLER_ID, @@ -629,7 +629,7 @@ def activate_mgts_alternately( duration=30000, ) tc_queue.appendleft(command.pack_command_tuple()) - tc_queue.appendleft((QueueCommands.WAIT, 10.0)) + tc_queue.appendleft((QueueCommands.WAIT, 40.0)) def activate_one_rw_in_sequence( @@ -706,13 +706,13 @@ def activate_two_rws_in_sequence(tc_queue: TcQueueT): tc_queue.appendleft((QueueCommands.WAIT, 5.0)) command = pack_set_speed_command( object_id=oids.RW1_ID, - speed=20000, + speed=-20000, ramp_time=10000, ) tc_queue.appendleft(command.pack_command_tuple()) command = pack_set_speed_command( object_id=oids.RW3_ID, - speed=20000, + speed=-20000, ramp_time=10000, ) tc_queue.appendleft(command.pack_command_tuple()) @@ -733,13 +733,13 @@ def activate_two_rws_in_sequence(tc_queue: TcQueueT): # RW2+4 speed cmd command = pack_set_speed_command( object_id=oids.RW2_ID, - speed=20000, + speed=-20000, ramp_time=10000, ) tc_queue.appendleft(command.pack_command_tuple()) command = pack_set_speed_command( object_id=oids.RW4_ID, - speed=20000, + speed=-20000, ramp_time=10000, ) tc_queue.appendleft(command.pack_command_tuple()) From 5b25f910aecb34aece9c0edecd9301ed75fcd821 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 11:53:34 +0200 Subject: [PATCH 11/19] RW update --- pus_tc/devs/reaction_wheels.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pus_tc/devs/reaction_wheels.py b/pus_tc/devs/reaction_wheels.py index 9a03e71..970f964 100644 --- a/pus_tc/devs/reaction_wheels.py +++ b/pus_tc/devs/reaction_wheels.py @@ -136,8 +136,7 @@ def pack_single_rw_test_into( speed = int(input("Specify speed [0.1 RPM]: ")) ramp_time = int(input("Specify ramp time [ms]: ")) tc_queue.appendleft((QueueCommands.PRINT, f"RW {rw_idx}: {InfoDevs.SPEED}")) - command = pack_set_speed_command(object_id, speed, ramp_time) - command = PusTelecommand(service=8, subservice=128, ssc=40, app_data=command) + command = pack_set_speed_command(object_id, speed, ramp_time, 40) tc_queue.appendleft(command.pack_command_tuple()) if op_code in OpCodesDevs.ON: @@ -197,19 +196,20 @@ def pack_rw_ass_cmds(tc_queue: TcQueueT, object_id: bytes, op_code: str): def pack_set_speed_command( - object_id: bytes, speed: int, ramp_time: int + object_id: bytes, speed: int, ramp_time: int, ssc: 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 specified in 0.1 * RPM - :param ramp_time: The time after which the reaction wheel will reached the commanded speed. + :param ramp_time: The time after which the reaction wheel will reach the commanded speed. Valid times are 10 - 10000 ms + :param ssc: Source sequence count """ command_id = RwCommandIds.SET_SPEED command = bytearray() 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) + command = PusTelecommand(service=8, subservice=128, ssc=ssc, app_data=command) return command From 1841dbd35d7aed045d263dee492704e6877a3f4e Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 12:06:17 +0200 Subject: [PATCH 12/19] added set id for gnss hk --- pus_tc/devs/gps.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pus_tc/devs/gps.py b/pus_tc/devs/gps.py index d0f3f21..7cb8a3a 100644 --- a/pus_tc/devs/gps.py +++ b/pus_tc/devs/gps.py @@ -12,6 +12,10 @@ class GpsOpCodes(enum.Enum): RESET_GNSS = "5" +class SetIds: + HK = 0 + + def pack_gps_command(object_id: bytes, tc_queue: TcQueueT, op_code: str): if op_code == GpsOpCodes.RESET_GNSS.value: if object_id == GPS_HANDLER_0_ID: From a439a51842316415ad19acb8fb3f459de6cc00df Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 12:08:37 +0200 Subject: [PATCH 13/19] bump tmtccmd and proc update --- pus_tc/system/proc.py | 13 +++++++------ tmtccmd | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 522c75a..925b811 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -21,8 +21,7 @@ from pus_tc.devs.mgms import MgmLis3SetIds as MgmSetIds_0_2 from pus_tc.devs.mgms import MgmRm3100SetIds as MgmSetIds_1_3 from pus_tc.devs.gyros import AdisGyroSetIds as GyroSetIds_0_2 from pus_tc.devs.gyros import L3gGyroSetIds as GyroSetIds_1_3 -from pus_tc.devs.gps import Gnss0SetIds as GnssSetIds_0 -from pus_tc.devs.gps import Gnss1SetIds as GnssSetIds_1 +from pus_tc.devs.gps import SetIds as GnssSetIds from pus_tc.devs.imtq import ImtqSetIds from pus_tc.devs.sus import SetIds from pus_tc.devs.star_tracker import SetIds as StrSetIds @@ -235,7 +234,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_0_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_1_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS0 - sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_HK)) + sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -258,7 +257,8 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_2_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_3_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS1 - sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_HK)) + # TODO: Replace Set ID + sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, 0)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -286,8 +286,9 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_2_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_3_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS0+1 - sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds_0.CORE_HK)) - sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds_1.CORE_HK)) + # TODO: Replace Set IDS + sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, 0)) + sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, 0)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, diff --git a/tmtccmd b/tmtccmd index 0adb957..0ea7df5 160000 --- a/tmtccmd +++ b/tmtccmd @@ -1 +1 @@ -Subproject commit 0adb957c5037721d602d7ab47199f7d4ff42a87e +Subproject commit 0ea7df5f46b069da95fbe795e1541f28071b6371 From ef36e65223be8424ed4ef80da3506429c839b448 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 12:09:04 +0200 Subject: [PATCH 14/19] proc update --- pus_tc/system/proc.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 925b811..8a5a846 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -257,8 +257,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_2_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_3_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS1 - # TODO: Replace Set ID - sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, 0)) + sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, From 44b673dd2640841c6791ce80270ddecfbf5caa09 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 13:32:18 +0200 Subject: [PATCH 15/19] added cmd definitions --- pus_tc/cmd_definitions.py | 32 +------------------------------- pus_tc/system/proc.py | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/pus_tc/cmd_definitions.py b/pus_tc/cmd_definitions.py index 63e4df0..42daa1c 100644 --- a/pus_tc/cmd_definitions.py +++ b/pus_tc/cmd_definitions.py @@ -1,3 +1,4 @@ +from pus_tc.system.proc import add_proc_cmds from tmtccmd.config import ( add_op_code_entry, add_service_op_code_entry, @@ -482,37 +483,6 @@ def add_ploc_supv_cmds(cmd_dict: ServiceOpCodeDictT): ] = service_ploc_memory_dumper_tuple -def add_proc_cmds(cmd_dict: ServiceOpCodeDictT): - from pus_tc.system.proc import OpCodes, KAI - - op_code_dict = dict() - add_op_code_entry( - op_code_dict=op_code_dict, keys=OpCodes.HEATER, info=KAI.HEATER[1] - ) - add_service_op_code_entry( - srv_op_code_dict=cmd_dict, - name=CustomServiceList.PROCEDURE.value, - info="Procedures", - op_code_entry=op_code_dict, - ) - op_code_dict = dict() - add_op_code_entry( - op_code_dict=op_code_dict, keys=OpCodes.BAT_FT, info=KAI.BAT_FT[1] - ) - add_op_code_entry( - op_code_dict=op_code_dict, keys=OpCodes.PCDU_FT, info=KAI.PCDU_FT[1] - ) - add_op_code_entry( - op_code_dict=op_code_dict, keys=OpCodes.CORE_FT, info=KAI.CORE_FT[1], options={} - ) - add_service_op_code_entry( - srv_op_code_dict=cmd_dict, - name=CustomServiceList.PROCEDURE.value, - info="TV Test Procedures", - op_code_entry=op_code_dict, - ) - - def add_system_cmds(cmd_dict: ServiceOpCodeDictT): from pus_tc.system.acs import AcsOpCodes, SusOpCodes import pus_tc.system.tcs as tcs diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 8a5a846..1c89ffb 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -1,4 +1,5 @@ -from tmtccmd.config import QueueCommands +from config.definitions import CustomServiceList +from tmtccmd.config import QueueCommands, ServiceOpCodeDictT, add_op_code_entry, add_service_op_code_entry from tmtccmd.tc.definitions import TcQueueT from tmtccmd.tc.pus_3_fsfw_hk import * @@ -87,7 +88,7 @@ PROC_INFO_DICT = { # 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, 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, 1.0], + KAI.RW_FT_TWO_RWS[0]: [OpCodes.RW_FT_TWO_RWS, KAI.RW_FT_TWO_RWS[1], 10.0, 1.0], } @@ -97,6 +98,21 @@ def generic_print(tc_queue: TcQueueT, info: dict): ) +def add_proc_cmds(cmd_dict: ServiceOpCodeDictT): + + op_code_dict = dict() + for proc_entry in PROC_INFO_DICT.values(): + add_op_code_entry( + op_code_dict=op_code_dict, keys=proc_entry[0], info=proc_entry[1] + ) + add_service_op_code_entry( + srv_op_code_dict=cmd_dict, + name=CustomServiceList.PROCEDURE.value, + info="TV Test Procedures", + op_code_entry=op_code_dict, + ) + + def pack_generic_hk_listening_cmds( tc_queue: TcQueueT, proc_key: str, From 7ec3c51cceb5b1c60145ffc35f111860960881e3 Mon Sep 17 00:00:00 2001 From: Markus Kranz Date: Wed, 25 May 2022 13:49:51 +0200 Subject: [PATCH 16/19] updated gnss --- pus_tc/system/proc.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index 1c89ffb..de8dc56 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -22,7 +22,7 @@ from pus_tc.devs.mgms import MgmLis3SetIds as MgmSetIds_0_2 from pus_tc.devs.mgms import MgmRm3100SetIds as MgmSetIds_1_3 from pus_tc.devs.gyros import AdisGyroSetIds as GyroSetIds_0_2 from pus_tc.devs.gyros import L3gGyroSetIds as GyroSetIds_1_3 -from pus_tc.devs.gps import SetIds as GnssSetIds +from pus_tc.devs.gps import SetIds as GpsSetIds from pus_tc.devs.imtq import ImtqSetIds from pus_tc.devs.sus import SetIds from pus_tc.devs.star_tracker import SetIds as StrSetIds @@ -250,7 +250,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_0_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_1_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS0 - sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GnssSetIds.HK)) + sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GpsSetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -273,7 +273,7 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_2_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_3_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS1 - sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GnssSetIds.HK)) + sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GpsSetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, @@ -301,9 +301,8 @@ def pack_proc_commands(tc_queue: TcQueueT, op_code: str): sid_list.append(make_sid(oids.GYRO_2_ADIS_HANDLER_ID, GyroSetIds_0_2.CFG_HK)) sid_list.append(make_sid(oids.GYRO_3_L3G_HANDLER_ID, GyroSetIds_1_3.CORE_HK)) # GNSS0+1 - # TODO: Replace Set IDS - sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, 0)) - sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, 0)) + sid_list.append(make_sid(oids.GPS_HANDLER_0_ID, GpsSetIds.HK)) + sid_list.append(make_sid(oids.GPS_HANDLER_1_ID, GpsSetIds.HK)) pack_generic_hk_listening_cmds( tc_queue=tc_queue, proc_key=key, From 0131499a6ac6e77fb8d9334b676280300bddf811 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 14:31:55 +0200 Subject: [PATCH 17/19] bump tmtccmd --- tmtccmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmtccmd b/tmtccmd index 0adb957..0ea7df5 160000 --- a/tmtccmd +++ b/tmtccmd @@ -1 +1 @@ -Subproject commit 0adb957c5037721d602d7ab47199f7d4ff42a87e +Subproject commit 0ea7df5f46b069da95fbe795e1541f28071b6371 From 1790ac632967d1330ea4ed48279de31c88c5cb9a Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 14:59:06 +0200 Subject: [PATCH 18/19] bump required tmtccmd version --- requirements.txt | 2 +- setup.cfg | 2 +- tmtccmd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index f444d16..68c11ef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -tmtccmd >= 2.2.1 +tmtccmd >= 2.2.2 diff --git a/setup.cfg b/setup.cfg index c4fd97e..10d173c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -27,7 +27,7 @@ classifiers = [options] install_requires = - tmtccmd >= 2.2.1 + tmtccmd >= 2.2.2 packages = find: python_requires = >=3.8 diff --git a/tmtccmd b/tmtccmd index 0ea7df5..2354f5d 160000 --- a/tmtccmd +++ b/tmtccmd @@ -1 +1 @@ -Subproject commit 0ea7df5f46b069da95fbe795e1541f28071b6371 +Subproject commit 2354f5d2778c7681ddf6602766dd4e68b943e1c0 From ec13c2032573bb7c6eb7022572acf241616619b4 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 25 May 2022 14:59:30 +0200 Subject: [PATCH 19/19] afmt --- pus_tc/system/proc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pus_tc/system/proc.py b/pus_tc/system/proc.py index de8dc56..1790416 100644 --- a/pus_tc/system/proc.py +++ b/pus_tc/system/proc.py @@ -1,5 +1,10 @@ from config.definitions import CustomServiceList -from tmtccmd.config import QueueCommands, ServiceOpCodeDictT, add_op_code_entry, add_service_op_code_entry +from tmtccmd.config import ( + QueueCommands, + ServiceOpCodeDictT, + add_op_code_entry, + add_service_op_code_entry, +) from tmtccmd.tc.definitions import TcQueueT from tmtccmd.tc.pus_3_fsfw_hk import *