diff --git a/bsp_q7s/core/scheduling.cpp b/bsp_q7s/core/scheduling.cpp index 41b2bb0d..d8136d3a 100644 --- a/bsp_q7s/core/scheduling.cpp +++ b/bsp_q7s/core/scheduling.cpp @@ -1,6 +1,7 @@ #include "scheduling.h" #include +#include #include #include diff --git a/fsfw b/fsfw index da124953..22681888 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit da124953351d6fc0910f2f14e92dac607c09b827 +Subproject commit 226818886fe7094ff6f17a02fe5728b75ce48969 diff --git a/mission/system/objects/ComSubsystem.cpp b/mission/system/objects/ComSubsystem.cpp index 9fd183b6..426e9c6c 100644 --- a/mission/system/objects/ComSubsystem.cpp +++ b/mission/system/objects/ComSubsystem.cpp @@ -30,3 +30,19 @@ ReturnValue_t ComSubsystem::getParameter(uint8_t domainId, uint8_t uniqueIdentif } return returnvalue::OK; } + +ReturnValue_t ComSubsystem::handleCommandMessage(CommandMessage *message) { + ReturnValue_t result = paramHelper.handleParameterMessage(message); + if (result == returnvalue::OK) { + return result; + } + return Subsystem::handleCommandMessage(message); +} + +ReturnValue_t ComSubsystem::initialize() { + ReturnValue_t result = paramHelper.initialize(); + if (result != returnvalue::OK) { + return result; + } + return Subsystem::initialize(); +} diff --git a/mission/system/objects/ComSubsystem.h b/mission/system/objects/ComSubsystem.h index 9e3bfda7..74f0c30e 100644 --- a/mission/system/objects/ComSubsystem.h +++ b/mission/system/objects/ComSubsystem.h @@ -10,6 +10,7 @@ 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, @@ -17,6 +18,10 @@ class ComSubsystem : public Subsystem, public ReceivesParameterMessagesIF { uint16_t startAtIndex) override; private: + ReturnValue_t handleCommandMessage(CommandMessage *message) override; + + ReturnValue_t initialize() override; + uint8_t datarateCfg = static_cast(com::Datarate::LOW_RATE_MODULATION_BPSK); ParameterHelper paramHelper; }; diff --git a/mission/system/tree/comModeTree.cpp b/mission/system/tree/comModeTree.cpp index feeb6711..e08ba5ba 100644 --- a/mission/system/tree/comModeTree.cpp +++ b/mission/system/tree/comModeTree.cpp @@ -11,7 +11,7 @@ const auto check = subsystem::checkInsert; -Subsystem satsystem::com::SUBSYSTEM = Subsystem(objects::COM_SUBSYSTEM, 12, 24); +ComSubsystem satsystem::com::SUBSYSTEM = ComSubsystem(objects::COM_SUBSYSTEM, 12, 24); static const auto OFF = HasModesIF::MODE_OFF; static const auto ON = HasModesIF::MODE_ON; diff --git a/mission/system/tree/comModeTree.h b/mission/system/tree/comModeTree.h index edee6da7..ccc7f15f 100644 --- a/mission/system/tree/comModeTree.h +++ b/mission/system/tree/comModeTree.h @@ -1,12 +1,12 @@ #ifndef MISSION_SYSTEM_TREE_COMMODETREE_H_ #define MISSION_SYSTEM_TREE_COMMODETREE_H_ -#include +#include namespace satsystem { namespace com { -extern Subsystem SUBSYSTEM; +extern ComSubsystem SUBSYSTEM; void init(); } // namespace com diff --git a/tmtc b/tmtc index 39a94974..40716339 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 39a94974940a7b77da1f3ed572cf93e5e21574f6 +Subproject commit 407163397dce9b1626b93a8fe8350c127f10c4a2