From 49ccb4be8d42d6916be00ff9d8462a1f65481a6c Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 24 Jan 2023 19:07:11 +0100 Subject: [PATCH] add enable/disable for TX regs as well --- CHANGELOG.md | 1 + eive_tmtc/pus_tc/procedure_packer.py | 3 ++- eive_tmtc/tmtc/syrlinks_hk_handler.py | 21 +++++++++++++++++++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d34c9f9..91292fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ list yields a list of all related PRs for each release. # [unreleased] +- Bugfix for CCSDS handler commanding: Pass correct object ID - Added command to request switcher set from PCDU handler. - Move Star Tracker module to `tmtc` folder and add some set IDs. Rename `SetIds` to `SetId`. diff --git a/eive_tmtc/pus_tc/procedure_packer.py b/eive_tmtc/pus_tc/procedure_packer.py index 00dd31d..c680c41 100644 --- a/eive_tmtc/pus_tc/procedure_packer.py +++ b/eive_tmtc/pus_tc/procedure_packer.py @@ -166,8 +166,9 @@ def handle_default_procedure( object_id=oids.GPS_CONTROLLER, q=queue_helper, op_code=op_code ) if service == CustomServiceList.CCSDS_HANDLER.value: + object_id = cast(ObjectIdU32, obj_id_man.get(CCSDS_HANDLER_ID)) return pack_ccsds_handler_test( - object_id=CCSDS_HANDLER_ID, q=queue_helper, op_code=op_code + object_id=object_id, q=queue_helper, op_code=op_code ) if service == CustomServiceList.PDEC_HANDLER.value: return pack_ccsds_handler_test( diff --git a/eive_tmtc/tmtc/syrlinks_hk_handler.py b/eive_tmtc/tmtc/syrlinks_hk_handler.py index ede52e4..99645ad 100644 --- a/eive_tmtc/tmtc/syrlinks_hk_handler.py +++ b/eive_tmtc/tmtc/syrlinks_hk_handler.py @@ -46,6 +46,8 @@ class OpCode: HK_RX_REGS = "hk_rx_regs" ENABLE_HK_RX_REGS = "enable_hk_rx" DISABLE_HK_RX_REGS = "disable_hk_rx" + ENABLE_HK_TX_REGS = "enable_hk_tx" + DISABLE_HK_TX_REGS = "disable_hk_tx" HK_TX_REGS = "hk_tx_regs" TX_STATUS = "tx_status" RX_STATUS = "rx_status" @@ -56,7 +58,8 @@ class Info: HK_TX_REGS = "Request TX register set" ENABLE_HK_RX_REGS = "Enable periodic RX register HK" DISABLE_HK_RX_REGS = "Disable periodic RX register HK" - EMABLE_HK_TX_REGS = "Enable periodic TX register HK" + ENABLE_HK_TX_REGS = "Enable periodic TX register HK" + DISABLE_HK_TX_REGS = "Disable periodic TX register HK" TX_STATUS = "Read TX status (always read in normal mode)" RX_STATUS = "Read RX status (always read in normal mode)" SET_CW = "Set TX carrier wave" @@ -95,6 +98,8 @@ def add_syrlinks_cmds(defs: TmtcDefinitionWrapper): oce.add(OpCode.RX_STATUS, Info.RX_STATUS) oce.add(OpCode.ENABLE_HK_RX_REGS, Info.ENABLE_HK_RX_REGS) oce.add(OpCode.DISABLE_HK_RX_REGS, Info.DISABLE_HK_RX_REGS) + oce.add(OpCode.ENABLE_HK_TX_REGS, Info.ENABLE_HK_TX_REGS) + oce.add(OpCode.DISABLE_HK_TX_REGS, Info.DISABLE_HK_TX_REGS) oce.add("7", "Syrlinks Handler: Read TX waveform") oce.add("8", "Syrlinks Handler: Read TX AGC value high byte") oce.add("9", "Syrlinks Handler: Read TX AGC value low byte") @@ -145,13 +150,25 @@ def pack_syrlinks_command( if op_code in OpCode.ENABLE_HK_RX_REGS: q.add_log_cmd(f"{prefix}: {Info.ENABLE_HK_RX_REGS}") sid = make_sid(obyt, SetId.RX_REGISTERS_DATASET) - cmds = create_enable_periodic_hk_command_with_interval(True, sid, 2.0) + interval = float(input("HK interval in floating point seconds")) + cmds = create_enable_periodic_hk_command_with_interval(True, sid, interval) for cmd in cmds: q.add_pus_tc(cmd) if op_code in OpCode.DISABLE_HK_RX_REGS: q.add_log_cmd(f"{prefix}: {Info.DISABLE_HK_RX_REGS}") sid = make_sid(obyt, SetId.RX_REGISTERS_DATASET) q.add_pus_tc(create_disable_periodic_hk_command(True, sid)) + if op_code in OpCode.ENABLE_HK_TX_REGS: + q.add_log_cmd(f"{prefix}: {Info.ENABLE_HK_TX_REGS}") + sid = make_sid(obyt, SetId.TX_REGISTERS_DATASET) + interval = float(input("HK interval in floating point seconds")) + cmds = create_enable_periodic_hk_command_with_interval(True, sid, interval) + for cmd in cmds: + q.add_pus_tc(cmd) + if op_code in OpCode.DISABLE_HK_TX_REGS: + q.add_log_cmd(f"{prefix}: {Info.DISABLE_HK_TX_REGS}") + sid = make_sid(obyt, SetId.TX_REGISTERS_DATASET) + q.add_pus_tc(create_disable_periodic_hk_command(True, sid)) if op_code in OpCode.HK_TX_REGS: q.add_log_cmd(f"{prefix}: {Info.HK_TX_REGS}") sid = make_sid(obyt, SetId.TX_REGISTERS_DATASET)