From 72def77d401ba512d8a4c92287e8612a5407e1ac Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 15 Aug 2023 14:15:06 +0200 Subject: [PATCH 1/4] parse ploc supv HK --- eive_tmtc/tmtc/payload/ploc_supervisor.py | 34 ++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/eive_tmtc/tmtc/payload/ploc_supervisor.py b/eive_tmtc/tmtc/payload/ploc_supervisor.py index b696ecf..98573b2 100644 --- a/eive_tmtc/tmtc/payload/ploc_supervisor.py +++ b/eive_tmtc/tmtc/payload/ploc_supervisor.py @@ -722,10 +722,42 @@ def get_event_buffer_path() -> str: return file +class SocState(enum.IntEnum): + OFF = 0 + BOOTING = 1 + OPERATIONAL = 2 + SHUTDOWN = 3 + + def handle_supv_hk_data(set_id: int, hk_data: bytes, pw: PrintWrapper): current_idx = 0 if set_id == SetIds.HK_REPORT: - pass + fmt_str = "!IIIQIIIIIBBBB" + inc_len = struct.calcsize(fmt_str) + ( + temp_ps, + temp_pl, + temp_sup, + uptime, + cpu_load, + avail_heap, + num_tcs, + num_tms, + soc_state, + nvm_0_1_state, + nvm_3_state, + mission_io_state, + fmc_state + ) = struct.unpack(fmt_str, hk_data) + pw.dlog(f"Temp PS {temp_ps} | Temp PL {temp_pl} | Temp SUP {temp_sup}") + pw.dlog(f"Uptime {uptime} | CPU Load {cpu_load} | Avail Heap {avail_heap}") + pw.dlog(f"Number TCs {num_tcs} | Number TMs {num_tms}") + pw.dlog(f"SOC state {SocState(soc_state)}") + pw.dlog(f"NVM 01 State {nvm_0_1_state}") + pw.dlog(f"NVM 3 State {nvm_3_state}") + pw.dlog(f"Mission IO state {mission_io_state}") + pw.dlog(f"FMC state {fmc_state}") + FsfwTmTcPrinter.print_validity_buffer(hk_data[inc_len:], 13) elif set_id == SetIds.BOOT_STATUS_REPORT: fmt_str = "!BBIIBBBBBB" inc_len = struct.calcsize(fmt_str) From 2f8bed4581e05628a3945756cef57ea1602514cb Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 15 Aug 2023 14:31:49 +0200 Subject: [PATCH 2/4] works --- eive_tmtc/tmtc/payload/ploc_supervisor.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eive_tmtc/tmtc/payload/ploc_supervisor.py b/eive_tmtc/tmtc/payload/ploc_supervisor.py index 98573b2..18aebab 100644 --- a/eive_tmtc/tmtc/payload/ploc_supervisor.py +++ b/eive_tmtc/tmtc/payload/ploc_supervisor.py @@ -747,9 +747,9 @@ def handle_supv_hk_data(set_id: int, hk_data: bytes, pw: PrintWrapper): nvm_0_1_state, nvm_3_state, mission_io_state, - fmc_state - ) = struct.unpack(fmt_str, hk_data) - pw.dlog(f"Temp PS {temp_ps} | Temp PL {temp_pl} | Temp SUP {temp_sup}") + fmc_state, + ) = struct.unpack(fmt_str, hk_data[:inc_len]) + pw.dlog(f"Temp PS {temp_ps} C | Temp PL {temp_pl} C | Temp SUP {temp_sup} C") pw.dlog(f"Uptime {uptime} | CPU Load {cpu_load} | Avail Heap {avail_heap}") pw.dlog(f"Number TCs {num_tcs} | Number TMs {num_tms}") pw.dlog(f"SOC state {SocState(soc_state)}") @@ -757,7 +757,7 @@ def handle_supv_hk_data(set_id: int, hk_data: bytes, pw: PrintWrapper): pw.dlog(f"NVM 3 State {nvm_3_state}") pw.dlog(f"Mission IO state {mission_io_state}") pw.dlog(f"FMC state {fmc_state}") - FsfwTmTcPrinter.print_validity_buffer(hk_data[inc_len:], 13) + pw.dlog(FsfwTmTcPrinter.get_validity_buffer(hk_data[inc_len:], 13)) elif set_id == SetIds.BOOT_STATUS_REPORT: fmt_str = "!BBIIBBBBBB" inc_len = struct.calcsize(fmt_str) From 772ef5b323550516629c2d8b02c6d14f47eab6de Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 15 Aug 2023 14:35:45 +0200 Subject: [PATCH 3/4] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 55669aa..4f7b930 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,10 @@ list yields a list of all related PRs for each release. # [unreleased] +## Added + +- PLOC SUPV HK parsing. + # [v5.4.2] 2023-08-15 ## Added From 36799ef51db0ab19142465b72325a827d92dbd49 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 15 Aug 2023 14:38:28 +0200 Subject: [PATCH 4/4] v5.4.3 --- CHANGELOG.md | 2 ++ eive_tmtc/__init__.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f7b930..5844963 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ list yields a list of all related PRs for each release. # [unreleased] +# [v5.4.3] 2023-08-15 + ## Added - PLOC SUPV HK parsing. diff --git a/eive_tmtc/__init__.py b/eive_tmtc/__init__.py index ee439a5..d701219 100644 --- a/eive_tmtc/__init__.py +++ b/eive_tmtc/__init__.py @@ -1,4 +1,4 @@ -__version__ = "5.4.2" +__version__ = "5.4.3" import logging from pathlib import Path @@ -6,7 +6,7 @@ from pathlib import Path SW_NAME = "eive-tmtc" VERSION_MAJOR = 5 VERSION_MINOR = 4 -VERSION_REVISION = 2 +VERSION_REVISION = 3 EIVE_TMTC_ROOT = Path(__file__).parent PACKAGE_ROOT = EIVE_TMTC_ROOT.parent