Merge remote-tracking branch 'origin/develop' into mueller/tmtc-stack-refactoring
EIVE/eive-obsw/pipeline/pr-develop There was a failure building this commit Details

This commit is contained in:
Robin Müller 2022-08-16 17:39:35 +02:00
commit a669137d5c
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
6 changed files with 20 additions and 8 deletions

View File

@ -10,6 +10,10 @@ list yields a list of all related PRs for each release.
# [unreleased]
# [v1.13.0]
- Added first version of ACS Controller with gathers MGM data in a set
# [v1.12.1] 05.07.2022
- Disable periodic TCS controller HK generation by default

View File

@ -18,7 +18,7 @@ enum commonObjects : uint32_t {
/* 0x43 ('C') for Controllers */
THERMAL_CONTROLLER = 0x43400001,
ACS_CONTROLLER = 0x43100002,
ACS_CONTROLLER = 0x43000002,
CORE_CONTROLLER = 0x43000003,
/* 0x44 ('D') for device handlers */

2
fsfw

@ -1 +1 @@
Subproject commit d815f422c394bb87ccf9e9d306cb42bd01f162bc
Subproject commit cdd0ca70edc3691e7d46677626e5c75d324ec1b4

View File

@ -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();
}
}
}
@ -43,10 +45,16 @@ ReturnValue_t AcsController::initializeLocalDataPool(localpool::DataPool &localD
localDataPoolMap.emplace(acsctrl::PoolIds::MGM_3_RM3100_UT, &mgm3PoolVec);
localDataPoolMap.emplace(acsctrl::PoolIds::MGM_IMTQ_CAL_NT, &imtqMgmPoolVec);
localDataPoolMap.emplace(acsctrl::PoolIds::MGM_IMTQ_CAL_ACT_STATUS, &imtqCalActStatus);
poolManager.subscribeForPeriodicPacket(mgmData.getSid(), false, 5.0, false);
return HasReturnvaluesIF::RETURN_OK;
}
LocalPoolDataSetBase *AcsController::getDataSetHandle(sid_t sid) { return nullptr; }
LocalPoolDataSetBase *AcsController::getDataSetHandle(sid_t sid) {
if (sid == mgmData.getSid()) {
return &mgmData;
}
return nullptr;
}
ReturnValue_t AcsController::checkModeCommand(Mode_t mode, Submode_t submode,
uint32_t *msToReachTheMode) {

View File

@ -49,7 +49,7 @@ class AcsController : public ExtendedControllerBase {
PoolEntry<float> mgm1PoolVec = PoolEntry<float>(3);
PoolEntry<float> mgm2PoolVec = PoolEntry<float>(3);
PoolEntry<float> mgm3PoolVec = PoolEntry<float>(3);
PoolEntry<float> imtqMgmPoolVec = PoolEntry<float>(3);
PoolEntry<int32_t> imtqMgmPoolVec = PoolEntry<int32_t>(3);
PoolEntry<uint8_t> imtqCalActStatus = PoolEntry<uint8_t>();
void copyMgmData();

View File

@ -19,7 +19,7 @@ enum PoolIds : lp_id_t {
MGM_IMTQ_CAL_ACT_STATUS
};
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