diff --git a/mission/tmtc/Service15TmStorage.cpp b/mission/tmtc/Service15TmStorage.cpp index 590b6c8e..ae2400b5 100644 --- a/mission/tmtc/Service15TmStorage.cpp +++ b/mission/tmtc/Service15TmStorage.cpp @@ -8,7 +8,17 @@ Service15TmStorage::Service15TmStorage(object_id_t objectId, uint16_t apid, : CommandingServiceBase(objectId, apid, "PUS Service 15", 15, numParallelCommands, commandTimeoutSecs, queueDepth) {} -ReturnValue_t Service15TmStorage::isValidSubservice(uint8_t subservice) { return OK; } +ReturnValue_t Service15TmStorage::isValidSubservice(uint8_t subservice) { + switch (subservice) { + case(Subservices::START_BY_TIME_RANGE_RETRIEVAL): { + return OK; + } + case(Subservices::DELETE_UP_TO): { + return OK; + } + } + return FAILED; +} ReturnValue_t Service15TmStorage::getMessageQueueAndObject(uint8_t subservice, const uint8_t *tcData, size_t tcDataLen, diff --git a/mission/tmtc/Service15TmStorage.h b/mission/tmtc/Service15TmStorage.h index 0243fdb3..92cab52a 100644 --- a/mission/tmtc/Service15TmStorage.h +++ b/mission/tmtc/Service15TmStorage.h @@ -5,6 +5,10 @@ class Service15TmStorage : public CommandingServiceBase { public: + enum Subservices: uint8_t { + START_BY_TIME_RANGE_RETRIEVAL = 9, + DELETE_UP_TO = 11 + }; explicit Service15TmStorage(object_id_t objectId, uint16_t apid, uint8_t numParallelCommands, uint16_t commandTimeoutSecs, size_t queueDepth);