Robin Mueller
5d8b81e131
Some checks failed
EIVE/eive-obsw/pipeline/pr-main There was a failure building this commit
32 lines
1.1 KiB
C++
32 lines
1.1 KiB
C++
#ifndef FSFW_EXAMPLE_COMMON_CFDPTMFUNNEL_H
|
|
#define FSFW_EXAMPLE_COMMON_CFDPTMFUNNEL_H
|
|
|
|
#include <mission/tmtc/TmFunnelBase.h>
|
|
|
|
#include <atomic>
|
|
#include <vector>
|
|
|
|
#include "fsfw/objectmanager/SystemObject.h"
|
|
#include "fsfw/storagemanager/StorageManagerIF.h"
|
|
#include "fsfw/tmtcservices/AcceptsTelemetryIF.h"
|
|
#include "fsfw/tmtcservices/TmTcMessage.h"
|
|
|
|
class CfdpTmFunnel : public TmFunnelBase {
|
|
public:
|
|
CfdpTmFunnel(TmFunnelBase::FunnelCfg cfg, std::optional<MessageQueueId_t> fileStoreDest,
|
|
StorageManagerIF& ramToFileStore, uint16_t cfdpInCcsdsApid);
|
|
[[nodiscard]] const char* getName() const override;
|
|
uint32_t addLiveDestination(const char* name, const AcceptsTelemetryIF& downlinkDestination,
|
|
uint8_t vcid = 0) override;
|
|
ReturnValue_t performOperation(uint8_t opCode);
|
|
ReturnValue_t initialize() override;
|
|
|
|
private:
|
|
ReturnValue_t handlePacket(TmTcMessage& msg);
|
|
|
|
std::optional<MessageQueueId_t> fileStoreDest;
|
|
StorageManagerIF& ramToFileStore;
|
|
uint16_t cfdpInCcsdsApid;
|
|
};
|
|
#endif // FSFW_EXAMPLE_COMMON_CFDPTMFUNNEL_H
|