2023-03-09 17:44:05 +01:00
|
|
|
#include <fsfw/tasks/TaskFactory.h>
|
|
|
|
#include <mission/tmtc/PersistentSingleTmStoreTask.h>
|
|
|
|
|
|
|
|
PersistentSingleTmStoreTask::PersistentSingleTmStoreTask(object_id_t objectId,
|
|
|
|
StorageManagerIF& ipcStore,
|
|
|
|
PersistentTmStoreWithTmQueue& tmStore,
|
2023-03-09 20:16:00 +01:00
|
|
|
VirtualChannel& channel,
|
|
|
|
SdCardMountedIF& sdcMan)
|
|
|
|
: TmStoreTaskBase(objectId, ipcStore, channel, sdcMan), storeWithQueue(tmStore) {}
|
2023-03-09 17:44:05 +01:00
|
|
|
|
|
|
|
ReturnValue_t PersistentSingleTmStoreTask::performOperation(uint8_t opCode) {
|
|
|
|
while (true) {
|
2023-03-09 20:16:00 +01:00
|
|
|
if (not cyclicStoreCheck()) {
|
|
|
|
continue;
|
|
|
|
}
|
2023-03-09 19:42:20 +01:00
|
|
|
bool busy = handleOneStore(storeWithQueue);
|
|
|
|
if (not busy) {
|
2023-03-09 22:11:43 +01:00
|
|
|
TaskFactory::delayTask(10);
|
2023-03-09 17:44:05 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-03-09 20:16:00 +01:00
|
|
|
|
|
|
|
void PersistentSingleTmStoreTask::initStoresIfPossible() {}
|