continue rework
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
This commit is contained in:
34
mission/tmtc/PusLiveDemux.h
Normal file
34
mission/tmtc/PusLiveDemux.h
Normal file
@ -0,0 +1,34 @@
|
||||
#ifndef MISSION_TMTC_PUSLIVEDEMUX_H_
|
||||
#define MISSION_TMTC_PUSLIVEDEMUX_H_
|
||||
|
||||
#include <fsfw/ipc/messageQueueDefinitions.h>
|
||||
#include <fsfw/storagemanager/StorageManagerIF.h>
|
||||
#include <fsfw/tmtcservices/AcceptsTelemetryIF.h>
|
||||
|
||||
#include <vector>
|
||||
|
||||
class PusLiveDemux {
|
||||
public:
|
||||
PusLiveDemux(MessageQueueIF& ownerQueue);
|
||||
ReturnValue_t demultiplexPackets(StorageManagerIF& tmStore, store_address_t origStoreId,
|
||||
const uint8_t* tmData, size_t tmSize);
|
||||
|
||||
void addDestination(const char* name, const AcceptsTelemetryIF& downlinkDestination,
|
||||
uint8_t vcid = 0);
|
||||
|
||||
private:
|
||||
struct Destination {
|
||||
Destination(const char* name, MessageQueueId_t queueId, uint8_t virtualChannel)
|
||||
: name(name), queueId(queueId), virtualChannel(virtualChannel) {}
|
||||
|
||||
const char* name;
|
||||
MessageQueueId_t queueId;
|
||||
uint8_t virtualChannel = 0;
|
||||
};
|
||||
|
||||
MessageQueueIF& ownerQueue;
|
||||
TmTcMessage message;
|
||||
std::vector<Destination> destinations;
|
||||
};
|
||||
|
||||
#endif /* MISSION_TMTC_PUSLIVEDEMUX_H_ */
|
Reference in New Issue
Block a user