diff --git a/fsfw b/fsfw index f4c4f994..d9759581 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit f4c4f9946c7fb9fd050178baa4865da654366b70 +Subproject commit d975958120bd151dabdc450a104e9cc8069ff509 diff --git a/mission/controller/AcsController.cpp b/mission/controller/AcsController.cpp index c7309097..46db49ce 100644 --- a/mission/controller/AcsController.cpp +++ b/mission/controller/AcsController.cpp @@ -29,9 +29,11 @@ void AcsController::performControlOperation() { break; } - if (mgmData.read() == RETURN_OK) { - copyMgmData(); - mgmData.commit(); + { + PoolReadGuard pg(&mgmData); + if (pg.getReadResult() == RETURN_OK) { + copyMgmData(); + } } } diff --git a/mission/controller/AcsController.h b/mission/controller/AcsController.h index 35503c48..8dbe38aa 100644 --- a/mission/controller/AcsController.h +++ b/mission/controller/AcsController.h @@ -43,7 +43,7 @@ class AcsController : public ExtendedControllerBase { PoolEntry mgm1PoolVec = PoolEntry(3); PoolEntry mgm2PoolVec = PoolEntry(3); PoolEntry mgm3PoolVec = PoolEntry(3); - PoolEntry imtqMgmPoolVec = PoolEntry(3); + PoolEntry imtqMgmPoolVec = PoolEntry(3); PoolEntry imtqCalActStatus = PoolEntry(); void copyMgmData(); diff --git a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h index 9062ef6b..f2913943 100644 --- a/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h +++ b/mission/controller/controllerdefinitions/AcsCtrlDefinitions.h @@ -21,7 +21,7 @@ enum PoolIds : lp_id_t { }; -static constexpr uint8_t MGM_SET_ENTRIES = 5; +static constexpr uint8_t MGM_SET_ENTRIES = 10; /** * @brief This dataset can be used to store the collected temperatures of all temperature sensors