create new TmSendHelper

This commit is contained in:
Robin Müller 2022-07-20 11:45:50 +02:00
parent d80941514f
commit 9860061fc6
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC

View File

@ -6,27 +6,34 @@
#include "fsfw/storagemanager/StorageManagerIF.h"
#include "fsfw/tmtcpacket/pus/tm/PusTmCreator.h"
class TmStoreAndSendWrapper {
};
class TmSendHelper {
public:
TmSendHelper(MessageQueueId_t tmtcMsgDest,
MessageQueueId_t tmtcMsgSrc, InternalErrorReporterIF* reporter);
void setMsgDestination(MessageQueueId_t msgDest);
void setMsgSource(MessageQueueId_t msgSrc);
void setInternalErrorReporter(InternalErrorReporterIF* reporter);
ReturnValue_t sendPacket();
private:
MessageQueueId_t tmtcMsgDest;
MessageQueueId_t tmtcMsgSrc;
InternalErrorReporterIF* errReporter;
};
// TODO: Serializing a packet into a store and sending the message are two different tasks
// Move them into separate classes
class TmStoreHelper {
public:
TmStoreHelper(StorageManagerIF* tmStore, MessageQueueId_t tmtcMsgDest,
MessageQueueId_t tmtcMsgSrc, InternalErrorReporterIF* reporter);
TmStoreHelper(StorageManagerIF* tmStore);
void setInternalErrorReporter(InternalErrorReporterIF* reporter);
void setMsgDestination(MessageQueueId_t msgDest);
void setMsgSource(MessageQueueId_t msgSrc);
void preparePacket(uint16_t apid, uint8_t service, uint8_t subservice, uint16_t counter);
ReturnValue_t sendPacket();
private:
PusTmParams params{};
PusTmCreator creator;
bool doErrorReporting = true;
MessageQueueId_t tmtcMsgDest;
MessageQueueId_t tmtcMsgSrc;
InternalErrorReporterIF* errReporter;
store_address_t currentAddr{};
StorageManagerIF* tmStore;
};