2022-10-24 10:14:58 +02:00
|
|
|
#ifndef MISSION_TMTC_SERVICE15TMSTORAGE_H_
|
|
|
|
#define MISSION_TMTC_SERVICE15TMSTORAGE_H_
|
|
|
|
|
2022-10-24 10:26:00 +02:00
|
|
|
#include <fsfw/tmtcservices/CommandingServiceBase.h>
|
2022-10-24 10:14:58 +02:00
|
|
|
|
2022-10-24 10:26:00 +02:00
|
|
|
class Service15TmStorage : public CommandingServiceBase {
|
|
|
|
public:
|
2023-11-15 15:21:00 +01:00
|
|
|
enum Subservice : uint8_t {
|
|
|
|
START_BY_TIME_RANGE_RETRIEVAL = 9,
|
|
|
|
DELETE_UP_TO = 11,
|
|
|
|
DELETE_BY_TIME_RANGE = 128
|
|
|
|
};
|
2022-10-24 10:26:00 +02:00
|
|
|
explicit Service15TmStorage(object_id_t objectId, uint16_t apid, uint8_t numParallelCommands,
|
2023-02-20 16:10:35 +01:00
|
|
|
uint16_t commandTimeoutSecs = 60, size_t queueDepth = 10);
|
2022-10-24 10:14:58 +02:00
|
|
|
|
2022-10-24 10:26:00 +02:00
|
|
|
private:
|
|
|
|
ReturnValue_t isValidSubservice(uint8_t subservice) override;
|
|
|
|
ReturnValue_t getMessageQueueAndObject(uint8_t subservice, const uint8_t* tcData,
|
|
|
|
size_t tcDataLen, MessageQueueId_t* id,
|
|
|
|
object_id_t* objectId) override;
|
|
|
|
ReturnValue_t prepareCommand(CommandMessage* message, uint8_t subservice, const uint8_t* tcData,
|
|
|
|
size_t tcDataLen, uint32_t* state, object_id_t objectId) override;
|
|
|
|
ReturnValue_t handleReply(const CommandMessage* reply, Command_t previousCommand, uint32_t* state,
|
|
|
|
CommandMessage* optionalNextCommand, object_id_t objectId,
|
|
|
|
bool* isStep) override;
|
|
|
|
};
|
2022-10-24 10:14:58 +02:00
|
|
|
|
|
|
|
#endif /* MISSION_TMTC_SERVICE15TMSTORAGE_H_ */
|