From 005d5a522380b357d3b9c4b346fef1189e529595 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 20:02:27 +0100 Subject: [PATCH 1/6] prep patch version --- CHANGELOG.md | 5 +++++ fsfw | 2 +- mission/core/GenericFactory.cpp | 12 ++++++------ unittest/testEnvironment.cpp | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 119dafa5..3c1891d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,11 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +# [v1.37.2] 2023-03-14 + +- Changed `PoolManager` bugfix implementation in the FSFW. +- Some tweaks for IPC and TM store configuration + # [v1.37.1] 2023-03-14 This version works on the EM as well. diff --git a/fsfw b/fsfw index 5250423d..cf27954a 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit 5250423d1d61c318110d4e111e141d5863546149 +Subproject commit cf27954a867a1c16b4e5b0fe72cd79df946ff903 diff --git a/mission/core/GenericFactory.cpp b/mission/core/GenericFactory.cpp index 3cbb727c..8bf4eff6 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, true); + tcStore = new PoolManager(objects::TC_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); + {250, 1024}, {150, 2048}}; + *tmStore = new PoolManager(objects::TM_STORE, poolCfg); } { - PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {200, 32}, {150, 64}, {150, 128}, + PoolManager::LocalPoolConfig poolCfg = {{300, 16}, {250, 32}, {150, 64}, {150, 128}, {100, 256}, {50, 512}, {50, 1024}, {10, 2048}}; - *ipcStore = new PoolManager(objects::IPC_STORE, poolCfg, true); + *ipcStore = new PoolManager(objects::IPC_STORE, poolCfg); } PoolManager::LocalPoolConfig poolCfg = {{300, 32}, {400, 64}, {250, 128}, {150, 512}, {150, 1024}, {150, 2048}}; - auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg, true); + auto* ramToFileStore = new PoolManager(objects::DOWNLINK_RAM_STORE, poolCfg); #if OBSW_ADD_TCPIP_SERVERS == 1 #if OBSW_ADD_TMTC_UDP_SERVER == 1 diff --git a/unittest/testEnvironment.cpp b/unittest/testEnvironment.cpp index ec6adac9..72726f39 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, true); + new PoolManager(objects::IPC_STORE, poolCfg); } } From 533aaa207cba84ab7ba3ac6734d8269ea796f08a Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 14 Mar 2023 20:02:39 +0100 Subject: [PATCH 2/6] bump version --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 11836eda..9844510b 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 1) +set(OBSW_VERSION_REVISION 2) # set(CMAKE_VERBOSE TRUE) From 7d9be35cb4d988b473d82a80a168076e4132ad24 Mon Sep 17 00:00:00 2001 From: meggert Date: Wed, 15 Mar 2023 10:36:25 +0100 Subject: [PATCH 3/6] reset relevant datasets on shutdown --- mission/devices/RwHandler.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mission/devices/RwHandler.cpp b/mission/devices/RwHandler.cpp index 7f82b202..e70152dd 100644 --- a/mission/devices/RwHandler.cpp +++ b/mission/devices/RwHandler.cpp @@ -24,7 +24,6 @@ RwHandler::RwHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCooki sif::error << "RwHandler: Invalid gpio communication interface" << std::endl; } } - RwHandler::~RwHandler() {} void RwHandler::doStartUp() { @@ -43,6 +42,17 @@ void RwHandler::doShutDown() { } internalState = InternalState::DEFAULT; updatePeriodicReply(false, rws::REPLY_ID); + { + PoolReadGuard pg(&statusSet); + statusSet.currSpeed = 0.0; + statusSet.referenceSpeed = 0.0; + statusSet.state = 0; + statusSet.setValidity(false, true); + } + { + PoolReadGuard pg(&tmDataset); + tmDataset.setValidity(false, true); + } // The power switch is handled by the assembly, so we can go off here directly. setMode(MODE_OFF); } From bab0bbf82d9f175123a6c41b98d4295a4e5d2431 Mon Sep 17 00:00:00 2001 From: meggert Date: Wed, 15 Mar 2023 10:38:00 +0100 Subject: [PATCH 4/6] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c1891d6..8bc96840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +## Changed + +- Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown. + # [v1.37.2] 2023-03-14 - Changed `PoolManager` bugfix implementation in the FSFW. From 7c54e920ef5305016505a2c67830f23869fa2c22 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 15 Mar 2023 11:42:03 +0100 Subject: [PATCH 5/6] bump fsfw --- CHANGELOG.md | 1 + fsfw | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bc96840..0e0a74b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ will consitute of a breaking change warranting a new major release: ## Changed - Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown. +- Bump FSFW: merged upstream. # [v1.37.2] 2023-03-14 diff --git a/fsfw b/fsfw index cf27954a..d0607824 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit cf27954a867a1c16b4e5b0fe72cd79df946ff903 +Subproject commit d0607824ad551771e4e3ec1f1752f5f2f6a1a7a8 From 7ab01687ce38db63ea8327fb2e6dd011e202ea0d Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 15 Mar 2023 11:49:01 +0100 Subject: [PATCH 6/6] some user code fixes --- fsfw | 2 +- mission/core/GenericFactory.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fsfw b/fsfw index d0607824..43fd0b2f 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit d0607824ad551771e4e3ec1f1752f5f2f6a1a7a8 +Subproject commit 43fd0b2f59c3aeb2d3f4db10cfad56ee3709d68d diff --git a/mission/core/GenericFactory.cpp b/mission/core/GenericFactory.cpp index 8bf4eff6..53ca6904 100644 --- a/mission/core/GenericFactory.cpp +++ b/mission/core/GenericFactory.cpp @@ -112,8 +112,8 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun } { - PoolManager::LocalPoolConfig poolCfg = {{600, 32}, {400, 64}, {400, 128}, {300, 512}, - {250, 1024}, {150, 2048}}; + PoolManager::LocalPoolConfig poolCfg = {{600, 32}, {400, 64}, {400, 128}, + {300, 512}, {250, 1024}, {150, 2048}}; *tmStore = new PoolManager(objects::TM_STORE, poolCfg); } @@ -254,8 +254,8 @@ void ObjectFactory::produceGenericObjects(HealthTableIF** healthTable_, PusTmFun pus::PUS_SERVICE_20); new CService200ModeCommanding(objects::PUS_SERVICE_200_MODE_MGMT, config::EIVE_PUS_APID, pus::PUS_SERVICE_200, 8); - HealthServiceCfg healthCfg(objects::PUS_SERVICE_201_HEALTH, config::EIVE_PUS_APID, *healthTable, - 20); + HealthServiceCfg healthCfg(objects::PUS_SERVICE_201_HEALTH, config::EIVE_PUS_APID, + objects::HEALTH_TABLE, 20); new CServiceHealthCommanding(healthCfg); #if OBSW_ADD_CFDP_COMPONENTS == 1