bugfix in setNormalDataPoolEntriesInvalid

Do not forget to call read and write to actually update the
validity state
This commit is contained in:
Robin Müller 2023-02-03 15:58:26 +01:00
parent e300490b93
commit 5343844be5
2 changed files with 7 additions and 2 deletions

View File

@ -1,5 +1,7 @@
#include "fsfw/devicehandlers/DeviceHandlerBase.h"
#include <fsfw/datapool/PoolReadGuard.h>
#include "fsfw/datapoollocal/LocalPoolVariable.h"
#include "fsfw/devicehandlers/AcceptsDeviceResponsesIF.h"
#include "fsfw/devicehandlers/DeviceTmReportingWrapper.h"
@ -1508,7 +1510,10 @@ DeviceCommandId_t DeviceHandlerBase::getPendingCommand() const {
void DeviceHandlerBase::setNormalDatapoolEntriesInvalid() {
for (const auto& reply : deviceReplyMap) {
if (reply.second.dataSet != nullptr) {
reply.second.dataSet->setValidity(false, true);
PoolReadGuard pg(reply.second.dataSet);
if (pg.getReadResult() == returnvalue::OK) {
reply.second.dataSet->setValidity(false, true);
}
}
}
}

View File

@ -7,7 +7,7 @@
namespace addresses {
/* Logical addresses have uint32_t datatype */
enum logicalAddresses : address_t {};
enum LogicAddress : address_t {};
} // namespace addresses
#endif /* CONFIG_DEVICES_LOGICALADDRESSES_H_ */