From 8dd350e8ddc3f843b20e1a54f69e36a0a2955473 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 16:43:41 +0100 Subject: [PATCH 1/8] cfg set subscription --- mission/devices/BpxBatteryHandler.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/mission/devices/BpxBatteryHandler.cpp b/mission/devices/BpxBatteryHandler.cpp index 922bcd3b..bb1d8120 100644 --- a/mission/devices/BpxBatteryHandler.cpp +++ b/mission/devices/BpxBatteryHandler.cpp @@ -270,6 +270,7 @@ ReturnValue_t BpxBatteryHandler::initializeLocalDataPool(localpool::DataPool& lo localDataPoolMap.emplace(BpxBattery::BATTHEAT_HIGH_LIMIT, &battheatHigh); poolManager.subscribeForRegularPeriodicPacket( subdp::RegularHkPeriodicParams(hkSet.getSid(), false, 30.0)); + poolManager.subscribeForRegularPeriodicPacket(cfgSet.getSid(), false, 30.0); return returnvalue::OK; } From 1d935d46e7782ac936753ab55ca8b09072d91a2f Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 16:44:47 +0100 Subject: [PATCH 2/8] afmt --- mission/devices/BpxBatteryHandler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mission/devices/BpxBatteryHandler.cpp b/mission/devices/BpxBatteryHandler.cpp index bb1d8120..b4bdc307 100644 --- a/mission/devices/BpxBatteryHandler.cpp +++ b/mission/devices/BpxBatteryHandler.cpp @@ -270,7 +270,8 @@ ReturnValue_t BpxBatteryHandler::initializeLocalDataPool(localpool::DataPool& lo localDataPoolMap.emplace(BpxBattery::BATTHEAT_HIGH_LIMIT, &battheatHigh); poolManager.subscribeForRegularPeriodicPacket( subdp::RegularHkPeriodicParams(hkSet.getSid(), false, 30.0)); - poolManager.subscribeForRegularPeriodicPacket(cfgSet.getSid(), false, 30.0); + poolManager.subscribeForRegularPeriodicPacket( + subdp::RegularHkPeriodicParams(cfgSet.getSid(), false, 30.0)); return returnvalue::OK; } From 0d46349caa267d3decca288eb096c8edd6640f48 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 16:52:03 +0100 Subject: [PATCH 3/8] bump fsfw --- CHANGELOG.md | 2 ++ fsfw | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d8eb0f6..52f28b74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,8 @@ will consitute of a breaking change warranting a new major release: - Make whole EIVE system initial transition work for the EM. This was also made possible by always scheduling most EIVE components instead of tying the scheduling to preprocessor defines. - Store more TCP und UDP packets. +- Bump fsfw for small tweak in local datapool manager: Re-enable or re-disabling dataset + generation will not fail anymore. ## Changed diff --git a/fsfw b/fsfw index 8382d61b..b6b9d1d7 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 8382d61b9206c0259439eeddcad3759f1cd9bd2f +Subproject commit b6b9d1d7901c794f771771c1c3b6ac6d5fa2a08f From 77e39f3a92d76d372678fbc392ef5cbc721be15f Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 17:12:05 +0100 Subject: [PATCH 4/8] new subsystem.csv --- CHANGELOG.md | 1 + .../fsfwconfig/events/translateEvents.cpp | 20 +++--- .../fsfwconfig/objects/translateObjects.cpp | 2 +- generators/bsp_hosted_events.csv | 8 +-- generators/bsp_hosted_returnvalues.csv | 1 + generators/bsp_hosted_subsystems.csv | 61 +++++++++++++++++++ generators/bsp_q7s_events.csv | 8 +-- generators/bsp_q7s_returnvalues.csv | 1 + generators/bsp_q7s_subsystems.csv | 61 +++++++++++++++++++ generators/events/event_parser.py | 21 ++++++- generators/events/translateEvents.cpp | 20 +++--- generators/objects/translateObjects.cpp | 2 +- linux/fsfwconfig/events/translateEvents.cpp | 20 +++--- linux/fsfwconfig/objects/translateObjects.cpp | 2 +- tmtc | 2 +- 15 files changed, 186 insertions(+), 44 deletions(-) create mode 100644 generators/bsp_hosted_subsystems.csv create mode 100644 generators/bsp_q7s_subsystems.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 52f28b74..15c9f891 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ will consitute of a breaking change warranting a new major release: - Set `OBSW_ADD_TCS_CTRL` to 1. Always add TCS controller now for both EM and FM. - generators module: Bump `fsfwgen` dependency to v0.3.1. The returnvalue CSV files are now sorted. +- generators module: Always generate subsystem ID CSV files now. # [v1.37.0] 2023-03-11 diff --git a/bsp_hosted/fsfwconfig/events/translateEvents.cpp b/bsp_hosted/fsfwconfig/events/translateEvents.cpp index a6f037da..e0f9c58f 100644 --- a/bsp_hosted/fsfwconfig/events/translateEvents.cpp +++ b/bsp_hosted/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 277 translations. * @details - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateEvents.h" @@ -35,11 +35,11 @@ const char *INVALID_DEVICE_COMMAND_STRING = "INVALID_DEVICE_COMMAND"; const char *MONITORING_LIMIT_EXCEEDED_STRING = "MONITORING_LIMIT_EXCEEDED"; const char *MONITORING_AMBIGUOUS_STRING = "MONITORING_AMBIGUOUS"; const char *DEVICE_WANTS_HARD_REBOOT_STRING = "DEVICE_WANTS_HARD_REBOOT"; +const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *FUSE_CURRENT_HIGH_STRING = "FUSE_CURRENT_HIGH"; const char *FUSE_WENT_OFF_STRING = "FUSE_WENT_OFF"; const char *POWER_ABOVE_HIGH_LIMIT_STRING = "POWER_ABOVE_HIGH_LIMIT"; const char *POWER_BELOW_LOW_LIMIT_STRING = "POWER_BELOW_LOW_LIMIT"; -const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *HEATER_ON_STRING = "HEATER_ON"; const char *HEATER_OFF_STRING = "HEATER_OFF"; const char *HEATER_TIMEOUT_STRING = "HEATER_TIMEOUT"; @@ -340,16 +340,16 @@ const char *translateEvents(Event event) { return MONITORING_AMBIGUOUS_STRING; case (2811): return DEVICE_WANTS_HARD_REBOOT_STRING; - case (4201): - return FUSE_CURRENT_HIGH_STRING; - case (4202): - return FUSE_WENT_OFF_STRING; - case (4204): - return POWER_ABOVE_HIGH_LIMIT_STRING; - case (4205): - return POWER_BELOW_LOW_LIMIT_STRING; case (4300): return SWITCH_WENT_OFF_STRING; + case (4301): + return FUSE_CURRENT_HIGH_STRING; + case (4302): + return FUSE_WENT_OFF_STRING; + case (4304): + return POWER_ABOVE_HIGH_LIMIT_STRING; + case (4305): + return POWER_BELOW_LOW_LIMIT_STRING; case (5000): return HEATER_ON_STRING; case (5001): diff --git a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp index be3e1a20..81710911 100644 --- a/bsp_hosted/fsfwconfig/objects/translateObjects.cpp +++ b/bsp_hosted/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 169 translations. - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateObjects.h" diff --git a/generators/bsp_hosted_events.csv b/generators/bsp_hosted_events.csv index b2c6c28f..ec5050cc 100644 --- a/generators/bsp_hosted_events.csv +++ b/generators/bsp_hosted_events.csv @@ -29,11 +29,11 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path 2809;0x0af9;MONITORING_LIMIT_EXCEEDED;LOW;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h 2810;0x0afa;MONITORING_AMBIGUOUS;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h 2811;0x0afb;DEVICE_WANTS_HARD_REBOOT;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h -4201;0x1069;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4202;0x106a;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4204;0x106c;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4205;0x106d;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h 4300;0x10cc;SWITCH_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/PowerSwitchIF.h +4301;0x10cd;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4302;0x10ce;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4304;0x10d0;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4305;0x10d1;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h 5000;0x1388;HEATER_ON;INFO;No description;fsfw/src/fsfw/thermal/Heater.h 5001;0x1389;HEATER_OFF;INFO;No description;fsfw/src/fsfw/thermal/Heater.h 5002;0x138a;HEATER_TIMEOUT;LOW;No description;fsfw/src/fsfw/thermal/Heater.h diff --git a/generators/bsp_hosted_returnvalues.csv b/generators/bsp_hosted_returnvalues.csv index f5ef5e10..882bdd05 100644 --- a/generators/bsp_hosted_returnvalues.csv +++ b/generators/bsp_hosted_returnvalues.csv @@ -59,6 +59,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path 0x0502;PS_SwitchTimeout;No description;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0503;PS_FuseOn;No description;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0504;PS_FuseOff;No description;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h +0x0505;PS_SwitchUnknown;No description;5;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0601;PP_DoItMyself;No description;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h 0x0602;PP_PointsToVariable;No description;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h 0x0603;PP_PointsToMemory;No description;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h diff --git a/generators/bsp_hosted_subsystems.csv b/generators/bsp_hosted_subsystems.csv new file mode 100644 index 00000000..02e8acd1 --- /dev/null +++ b/generators/bsp_hosted_subsystems.csv @@ -0,0 +1,61 @@ +22;MEMORY +26;OBSW +28;CDH +59;TCS_1 +42;PCDU_1 +43;POWER_SWITCH_IF +50;HEATER +52;T_SENSORS +70;FDIR +71;FDIR_1 +72;FDIR_2 +73;HK +74;SYSTEM_MANAGER +75;SYSTEM_MANAGER_1 +76;TMTC_DISTRIBUTION +79;SYSTEM_1 +80;PUS_SERVICE_1 +82;PUS_SERVICE_2 +83;PUS_SERVICE_3 +85;PUS_SERVICE_5 +86;PUS_SERVICE_6 +88;PUS_SERVICE_8 +89;PUS_SERVICE_9 +91;PUS_SERVICE_11 +97;PUS_SERVICE_17 +103;PUS_SERVICE_23 +106;MGM_LIS3MDL +107;MGM_RM3100 +108;CFDP +112;ACS_SUBSYSTEM +113;PCDU_HANDLER +114;HEATER_HANDLER +115;SA_DEPL_HANDLER +116;PLOC_MPSOC_HANDLER +117;IMTQ_HANDLER +118;RW_HANDLER +119;STR_HANDLER +120;PLOC_SUPERVISOR_HANDLER +121;FILE_SYSTEM +122;PLOC_UPDATER +123;PLOC_MEMORY_DUMPER +124;PDEC_HANDLER +125;STR_HELPER +126;PLOC_MPSOC_HELPER +127;PL_PCDU_HANDLER +128;ACS_BOARD_ASS +129;SUS_BOARD_ASS +130;TCS_BOARD_ASS +131;GPS_HANDLER +132;P60_DOCK_HANDLER +133;PDU1_HANDLER +134;PDU2_HANDLER +135;ACU_HANDLER +136;PLOC_SUPV_HELPER +137;SYRLINKS +138;SCEX_HANDLER +139;CONFIGHANDLER +140;CORE +141;TCS_CONTROLLER +142;COM_SUBSYSTEM +143;PERSISTENT_TM_STORE diff --git a/generators/bsp_q7s_events.csv b/generators/bsp_q7s_events.csv index b2c6c28f..ec5050cc 100644 --- a/generators/bsp_q7s_events.csv +++ b/generators/bsp_q7s_events.csv @@ -29,11 +29,11 @@ Event ID (dec); Event ID (hex); Name; Severity; Description; File Path 2809;0x0af9;MONITORING_LIMIT_EXCEEDED;LOW;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h 2810;0x0afa;MONITORING_AMBIGUOUS;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h 2811;0x0afb;DEVICE_WANTS_HARD_REBOOT;HIGH;No description;fsfw/src/fsfw/devicehandlers/DeviceHandlerIF.h -4201;0x1069;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4202;0x106a;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4204;0x106c;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h -4205;0x106d;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h 4300;0x10cc;SWITCH_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/PowerSwitchIF.h +4301;0x10cd;FUSE_CURRENT_HIGH;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4302;0x10ce;FUSE_WENT_OFF;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4304;0x10d0;POWER_ABOVE_HIGH_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h +4305;0x10d1;POWER_BELOW_LOW_LIMIT;LOW;No description;fsfw/src/fsfw/power/Fuse.h 5000;0x1388;HEATER_ON;INFO;No description;fsfw/src/fsfw/thermal/Heater.h 5001;0x1389;HEATER_OFF;INFO;No description;fsfw/src/fsfw/thermal/Heater.h 5002;0x138a;HEATER_TIMEOUT;LOW;No description;fsfw/src/fsfw/thermal/Heater.h diff --git a/generators/bsp_q7s_returnvalues.csv b/generators/bsp_q7s_returnvalues.csv index fd9682e7..971d2e73 100644 --- a/generators/bsp_q7s_returnvalues.csv +++ b/generators/bsp_q7s_returnvalues.csv @@ -59,6 +59,7 @@ Full ID (hex); Name; Description; Unique ID; Subsytem Name; File Path 0x0502;PS_SwitchTimeout;No description;2;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0503;PS_FuseOn;No description;3;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0504;PS_FuseOff;No description;4;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h +0x0505;PS_SwitchUnknown;No description;5;POWER_SWITCH_IF;fsfw/src/fsfw/power/PowerSwitchIF.h 0x0601;PP_DoItMyself;No description;1;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h 0x0602;PP_PointsToVariable;No description;2;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h 0x0603;PP_PointsToMemory;No description;3;HAS_MEMORY_IF;fsfw/src/fsfw/memory/HasMemoryIF.h diff --git a/generators/bsp_q7s_subsystems.csv b/generators/bsp_q7s_subsystems.csv new file mode 100644 index 00000000..02e8acd1 --- /dev/null +++ b/generators/bsp_q7s_subsystems.csv @@ -0,0 +1,61 @@ +22;MEMORY +26;OBSW +28;CDH +59;TCS_1 +42;PCDU_1 +43;POWER_SWITCH_IF +50;HEATER +52;T_SENSORS +70;FDIR +71;FDIR_1 +72;FDIR_2 +73;HK +74;SYSTEM_MANAGER +75;SYSTEM_MANAGER_1 +76;TMTC_DISTRIBUTION +79;SYSTEM_1 +80;PUS_SERVICE_1 +82;PUS_SERVICE_2 +83;PUS_SERVICE_3 +85;PUS_SERVICE_5 +86;PUS_SERVICE_6 +88;PUS_SERVICE_8 +89;PUS_SERVICE_9 +91;PUS_SERVICE_11 +97;PUS_SERVICE_17 +103;PUS_SERVICE_23 +106;MGM_LIS3MDL +107;MGM_RM3100 +108;CFDP +112;ACS_SUBSYSTEM +113;PCDU_HANDLER +114;HEATER_HANDLER +115;SA_DEPL_HANDLER +116;PLOC_MPSOC_HANDLER +117;IMTQ_HANDLER +118;RW_HANDLER +119;STR_HANDLER +120;PLOC_SUPERVISOR_HANDLER +121;FILE_SYSTEM +122;PLOC_UPDATER +123;PLOC_MEMORY_DUMPER +124;PDEC_HANDLER +125;STR_HELPER +126;PLOC_MPSOC_HELPER +127;PL_PCDU_HANDLER +128;ACS_BOARD_ASS +129;SUS_BOARD_ASS +130;TCS_BOARD_ASS +131;GPS_HANDLER +132;P60_DOCK_HANDLER +133;PDU1_HANDLER +134;PDU2_HANDLER +135;ACU_HANDLER +136;PLOC_SUPV_HELPER +137;SYRLINKS +138;SCEX_HANDLER +139;CONFIGHANDLER +140;CORE +141;TCS_CONTROLLER +142;COM_SUBSYSTEM +143;PERSISTENT_TM_STORE diff --git a/generators/events/event_parser.py b/generators/events/event_parser.py index 77f68c35..94c1580c 100644 --- a/generators/events/event_parser.py +++ b/generators/events/event_parser.py @@ -25,6 +25,7 @@ DATE_STRING_FULL = DATE_TODAY.strftime("%Y-%m-%d %H:%M:%S") PRINT_EVENTS = False PRINT_SUBSYSTEM_TABLE = False +EXPORT_SUBSYSTEM_TABLE = True GENERATE_CPP = True GENERATE_CPP_H = True @@ -53,7 +54,9 @@ class BspConfig: # Store this file in the root of the generators folder self.csv_filename = Path(f"{ROOT_DIR}/{self.bsp_dir_name}_events.csv") + self.subsystems_csv_filename = Path(f"{ROOT_DIR}/{self.bsp_dir_name}_subsystems.csv") self.csv_copy_dest = Path(f"{OBSW_ROOT_DIR}/tmtc/eive_tmtc/config/events.csv") + self.subsystem_csv_copy_dest = Path(f"{OBSW_ROOT_DIR}/tmtc/eive_tmtc/config/subsystems.csv") if ( self.bsp_select == BspType.BSP_Q7S @@ -100,7 +103,7 @@ def parse_events( _LOGGER.info(f"EventParser: Parsing events for {bsp_type.name}") # Small delay for clean printout time.sleep(0.01) - event_list = generate_event_list(bsp_cfg) + event_list = generate_event_list(bsp_cfg, copy_csv_to_eive_tmtc) if PRINT_EVENTS: PrettyPrinter.pprint(event_list) # Delay for clean printout @@ -136,12 +139,26 @@ def parse_events( _LOGGER.info(f"Parsing done for {bsp_type.name}") -def generate_event_list(cfg: BspConfig) -> EventDictT: +def generate_event_list(cfg: BspConfig, copy_csv_to_eive_tmtc: bool) -> EventDictT: subsystem_parser = SubsystemDefinitionParser(cfg.subsystem_defs_as_paths()) subsystem_table = subsystem_parser.parse_files() _LOGGER.info(f"Found {len(subsystem_table)} subsystem definitions.") if PRINT_SUBSYSTEM_TABLE: PrettyPrinter.pprint(subsystem_table) + if EXPORT_SUBSYSTEM_TABLE: + PrettyPrinter.pprint(subsystem_table) + with open(cfg.subsystems_csv_filename, "w") as file: + for name_str, table_entry in subsystem_table.items(): + subsystem_id = int(table_entry[0]) + file.write(f"{subsystem_id}{FILE_SEPARATOR}{name_str}\n") + if copy_csv_to_eive_tmtc: + _LOGGER.info(f"Copying CSV file to {cfg.cpp_copy_dest}") + copy_file( + filename=cfg.subsystems_csv_filename, + destination=cfg.subsystem_csv_copy_dest, + delete_existing_file=True, + ) + event_header_parser = FileListParser(cfg.header_defs_as_paths()) event_headers = event_header_parser.parse_header_files( True, "Parsing event header file list:\n", True diff --git a/generators/events/translateEvents.cpp b/generators/events/translateEvents.cpp index a6f037da..e0f9c58f 100644 --- a/generators/events/translateEvents.cpp +++ b/generators/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 277 translations. * @details - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateEvents.h" @@ -35,11 +35,11 @@ const char *INVALID_DEVICE_COMMAND_STRING = "INVALID_DEVICE_COMMAND"; const char *MONITORING_LIMIT_EXCEEDED_STRING = "MONITORING_LIMIT_EXCEEDED"; const char *MONITORING_AMBIGUOUS_STRING = "MONITORING_AMBIGUOUS"; const char *DEVICE_WANTS_HARD_REBOOT_STRING = "DEVICE_WANTS_HARD_REBOOT"; +const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *FUSE_CURRENT_HIGH_STRING = "FUSE_CURRENT_HIGH"; const char *FUSE_WENT_OFF_STRING = "FUSE_WENT_OFF"; const char *POWER_ABOVE_HIGH_LIMIT_STRING = "POWER_ABOVE_HIGH_LIMIT"; const char *POWER_BELOW_LOW_LIMIT_STRING = "POWER_BELOW_LOW_LIMIT"; -const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *HEATER_ON_STRING = "HEATER_ON"; const char *HEATER_OFF_STRING = "HEATER_OFF"; const char *HEATER_TIMEOUT_STRING = "HEATER_TIMEOUT"; @@ -340,16 +340,16 @@ const char *translateEvents(Event event) { return MONITORING_AMBIGUOUS_STRING; case (2811): return DEVICE_WANTS_HARD_REBOOT_STRING; - case (4201): - return FUSE_CURRENT_HIGH_STRING; - case (4202): - return FUSE_WENT_OFF_STRING; - case (4204): - return POWER_ABOVE_HIGH_LIMIT_STRING; - case (4205): - return POWER_BELOW_LOW_LIMIT_STRING; case (4300): return SWITCH_WENT_OFF_STRING; + case (4301): + return FUSE_CURRENT_HIGH_STRING; + case (4302): + return FUSE_WENT_OFF_STRING; + case (4304): + return POWER_ABOVE_HIGH_LIMIT_STRING; + case (4305): + return POWER_BELOW_LOW_LIMIT_STRING; case (5000): return HEATER_ON_STRING; case (5001): diff --git a/generators/objects/translateObjects.cpp b/generators/objects/translateObjects.cpp index 75bcb506..ede7df22 100644 --- a/generators/objects/translateObjects.cpp +++ b/generators/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 173 translations. - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateObjects.h" diff --git a/linux/fsfwconfig/events/translateEvents.cpp b/linux/fsfwconfig/events/translateEvents.cpp index a6f037da..e0f9c58f 100644 --- a/linux/fsfwconfig/events/translateEvents.cpp +++ b/linux/fsfwconfig/events/translateEvents.cpp @@ -1,7 +1,7 @@ /** * @brief Auto-generated event translation file. Contains 277 translations. * @details - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateEvents.h" @@ -35,11 +35,11 @@ const char *INVALID_DEVICE_COMMAND_STRING = "INVALID_DEVICE_COMMAND"; const char *MONITORING_LIMIT_EXCEEDED_STRING = "MONITORING_LIMIT_EXCEEDED"; const char *MONITORING_AMBIGUOUS_STRING = "MONITORING_AMBIGUOUS"; const char *DEVICE_WANTS_HARD_REBOOT_STRING = "DEVICE_WANTS_HARD_REBOOT"; +const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *FUSE_CURRENT_HIGH_STRING = "FUSE_CURRENT_HIGH"; const char *FUSE_WENT_OFF_STRING = "FUSE_WENT_OFF"; const char *POWER_ABOVE_HIGH_LIMIT_STRING = "POWER_ABOVE_HIGH_LIMIT"; const char *POWER_BELOW_LOW_LIMIT_STRING = "POWER_BELOW_LOW_LIMIT"; -const char *SWITCH_WENT_OFF_STRING = "SWITCH_WENT_OFF"; const char *HEATER_ON_STRING = "HEATER_ON"; const char *HEATER_OFF_STRING = "HEATER_OFF"; const char *HEATER_TIMEOUT_STRING = "HEATER_TIMEOUT"; @@ -340,16 +340,16 @@ const char *translateEvents(Event event) { return MONITORING_AMBIGUOUS_STRING; case (2811): return DEVICE_WANTS_HARD_REBOOT_STRING; - case (4201): - return FUSE_CURRENT_HIGH_STRING; - case (4202): - return FUSE_WENT_OFF_STRING; - case (4204): - return POWER_ABOVE_HIGH_LIMIT_STRING; - case (4205): - return POWER_BELOW_LOW_LIMIT_STRING; case (4300): return SWITCH_WENT_OFF_STRING; + case (4301): + return FUSE_CURRENT_HIGH_STRING; + case (4302): + return FUSE_WENT_OFF_STRING; + case (4304): + return POWER_ABOVE_HIGH_LIMIT_STRING; + case (4305): + return POWER_BELOW_LOW_LIMIT_STRING; case (5000): return HEATER_ON_STRING; case (5001): diff --git a/linux/fsfwconfig/objects/translateObjects.cpp b/linux/fsfwconfig/objects/translateObjects.cpp index 75bcb506..ede7df22 100644 --- a/linux/fsfwconfig/objects/translateObjects.cpp +++ b/linux/fsfwconfig/objects/translateObjects.cpp @@ -2,7 +2,7 @@ * @brief Auto-generated object translation file. * @details * Contains 173 translations. - * Generated on: 2023-03-14 15:27:13 + * Generated on: 2023-03-14 17:08:41 */ #include "translateObjects.h" diff --git a/tmtc b/tmtc index e9bf90e3..fe6390fa 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit e9bf90e36625fb00bfaffd7235ae50c1bbc1b710 +Subproject commit fe6390fab3638d46913134534905b1927513be8f From 8a6d292a488f0a70cf8180060034d1e81e47f16f Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 18:29:21 +0100 Subject: [PATCH 5/8] bump fsfw, tmtc and allow spilling for pools --- CHANGELOG.md | 4 ++++ fsfw | 2 +- mission/core/GenericFactory.cpp | 12 ++++++------ tmtc | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15c9f891..f1fbad7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,10 @@ will consitute of a breaking change warranting a new major release: - Store more TCP und UDP packets. - Bump fsfw for small tweak in local datapool manager: Re-enable or re-disabling dataset generation will not fail anymore. +- Bump FSFW to simplify HK helpers: Was previously buggy and did not allow to use + minmum sampling frequency. Now both diagnostics and HK can use minimum + sampling frequency for requesting HK +- Bump FSFW to allow the TC/TM/IPC pools to spill to higher pools/pool pages. ## Changed diff --git a/fsfw b/fsfw index b6b9d1d7..522bd41d 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit b6b9d1d7901c794f771771c1c3b6ac6d5fa2a08f +Subproject commit 522bd41d6e760a9905a0346908cb8d891a506285 diff --git a/mission/core/GenericFactory.cpp b/mission/core/GenericFactory.cpp index 76024784..3cbb727c 100644 --- a/mission/core/GenericFactory.cpp +++ b/mission/core/GenericFactory.cpp @@ -108,23 +108,23 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun { PoolManager::LocalPoolConfig poolCfg = {{250, 16}, {250, 32}, {250, 64}, {150, 128}, {120, 1024}, {120, 2048}}; - tcStore = new PoolManager(objects::TC_STORE, poolCfg); + tcStore = new PoolManager(objects::TC_STORE, poolCfg, true); } { - PoolManager::LocalPoolConfig poolCfg = {{300, 32}, {300, 32}, {400, 64}, {250, 128}, - {150, 512}, {150, 1024}, {150, 1024}, {150, 2048}}; - *tmStore = new PoolManager(objects::TM_STORE, poolCfg); + PoolManager::LocalPoolConfig poolCfg = {{600, 32}, {400, 64}, {400, 128}, {300, 512}, + {150, 1024}, {150, 1024}, {150, 2048}}; + *tmStore = new PoolManager(objects::TM_STORE, poolCfg, true); } { PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128}, {100, 256}, {50, 512}, {50, 1024}, {10, 2048}}; - *ipcStore = new PoolManager(objects::IPC_STORE, poolCfg); + *ipcStore = new PoolManager(objects::IPC_STORE, poolCfg, true); } PoolManager::LocalPoolConfig poolCfg = {{300, 32}, {400, 64}, {250, 128}, {150, 512}, {150, 1024}, {150, 2048}}; - auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg); + auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg, true); #if OBSW_ADD_TCPIP_SERVERS == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1 diff --git a/tmtc b/tmtc index fe6390fa..4f48c25b 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit fe6390fab3638d46913134534905b1927513be8f +Subproject commit 4f48c25bf757b6c056072049fe5965da890b4f5b From bbb8dd7a8a6a90157a83e6d0d0ef9e83026c3f2e Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 18:34:23 +0100 Subject: [PATCH 6/8] bump fsfw --- fsfw | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fsfw b/fsfw index 522bd41d..5250423d 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 522bd41d6e760a9905a0346908cb8d891a506285 +Subproject commit 5250423d1d61c318110d4e111e141d5863546149 From f966b517a470996eb9f5788565a5ea6fc55aeda8 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 18:44:50 +0100 Subject: [PATCH 7/8] prep v1.37.1 --- CHANGELOG.md | 6 ++++++ CMakeLists.txt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1fbad7d..119dafa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +# [v1.37.1] 2023-03-14 + +This version works on the EM as well. + +eive-tmtc: v2.19.1 + ## Added - Added `EXECUTE_SHELL_CMD` action command for `CoreController` to execute arbitrary Linux commands. diff --git a/CMakeLists.txt b/CMakeLists.txt index 53f37dc7..11836eda 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ cmake_minimum_required(VERSION 3.13) set(OBSW_VERSION_MAJOR 1) set(OBSW_VERSION_MINOR 37) -set(OBSW_VERSION_REVISION 0) +set(OBSW_VERSION_REVISION 1) # set(CMAKE_VERBOSE TRUE) From adcc68e0fa9296aa41bed0bb54bbbdebc2e1157d Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 18:47:48 +0100 Subject: [PATCH 8/8] unittest hotfix --- unittest/testEnvironment.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/testEnvironment.cpp b/unittest/testEnvironment.cpp index 72726f39..ec6adac9 100644 --- a/unittest/testEnvironment.cpp +++ b/unittest/testEnvironment.cpp @@ -33,7 +33,7 @@ void factory(void* args) { { PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128}, {100, 256}, {50, 512}, {50, 1024}, {10, 2048}}; - new PoolManager(objects::IPC_STORE, poolCfg); + new PoolManager(objects::IPC_STORE, poolCfg, true); } }