#ifndef MISSION_SYSTEM_COMSUBSYSTEM_H_ #define MISSION_SYSTEM_COMSUBSYSTEM_H_ #include <fsfw/parameters/HasParametersIF.h> #include <fsfw/parameters/ParameterHelper.h> #include <fsfw/subsystem/Subsystem.h> #include "mission/comDefs.h" class ComSubsystem : public Subsystem, public ReceivesParameterMessagesIF { public: ComSubsystem(object_id_t setObjectId, uint32_t maxNumberOfSequences, uint32_t maxNumberOfTables); virtual ~ComSubsystem() = default; MessageQueueId_t getCommandQueue() const override; ReturnValue_t getParameter(uint8_t domainId, uint8_t uniqueIdentifier, ParameterWrapper *parameterWrapper, const ParameterWrapper *newValues, uint16_t startAtIndex) override; private: ReturnValue_t handleCommandMessage(CommandMessage *message) override; ReturnValue_t initialize() override; uint8_t datarateCfg = static_cast<uint8_t>(com::Datarate::LOW_RATE_MODULATION_BPSK); ParameterHelper paramHelper; }; #endif /* MISSION_SYSTEM_COMSUBSYSTEM_H_ */