From 7673d8b396764186d93c3378496ccfc3c1b2e2e8 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 15 Nov 2023 10:03:56 +0100 Subject: [PATCH] add paramHelper --- src/fsfw/devicehandlers/FreshDeviceHandlerBase.cpp | 11 +++++++++++ src/fsfw/devicehandlers/FreshDeviceHandlerBase.h | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/fsfw/devicehandlers/FreshDeviceHandlerBase.cpp b/src/fsfw/devicehandlers/FreshDeviceHandlerBase.cpp index 542fdcc7..01359368 100644 --- a/src/fsfw/devicehandlers/FreshDeviceHandlerBase.cpp +++ b/src/fsfw/devicehandlers/FreshDeviceHandlerBase.cpp @@ -9,6 +9,7 @@ FreshDeviceHandlerBase::FreshDeviceHandlerBase(DhbConfig config) actionHelper(this, nullptr), modeHelper(this), healthHelper(this, getObjectId()), + paramHelper(this), poolManager(this, nullptr), defaultFdirParent(config.defaultFdirParent) { auto mqArgs = MqArgs(config.objectId, static_cast(this)); @@ -83,6 +84,11 @@ ReturnValue_t FreshDeviceHandlerBase::handleQueue() { continue; } + result = paramHelper.handleParameterMessage(&command); + if (result == returnvalue::OK) { + continue; + } + result = poolManager.handleHousekeepingMessage(&command); if (result == returnvalue::OK) { continue; @@ -155,6 +161,10 @@ ReturnValue_t FreshDeviceHandlerBase::initialize() { if (result != returnvalue::OK) { return result; } + result = paramHelper.initialize(); + if (result != returnvalue::OK) { + return result; + } result = poolManager.initialize(messageQueue); if (result != returnvalue::OK) { @@ -171,6 +181,7 @@ ReturnValue_t FreshDeviceHandlerBase::initialize() { } return SystemObject::initialize(); } + ReturnValue_t FreshDeviceHandlerBase::getParameter(uint8_t domainId, uint8_t uniqueId, ParameterWrapper* parameterWrapper, const ParameterWrapper* newValues, diff --git a/src/fsfw/devicehandlers/FreshDeviceHandlerBase.h b/src/fsfw/devicehandlers/FreshDeviceHandlerBase.h index ba1b6b34..97f672b1 100644 --- a/src/fsfw/devicehandlers/FreshDeviceHandlerBase.h +++ b/src/fsfw/devicehandlers/FreshDeviceHandlerBase.h @@ -9,6 +9,8 @@ #include "fsfw/health/HealthHelper.h" #include "fsfw/modes/HasModesIF.h" #include "fsfw/objectmanager.h" +#include "fsfw/parameters/ParameterHelper.h" +#include "fsfw/parameters/ReceivesParameterMessagesIF.h" #include "fsfw/retval.h" #include "fsfw/subsystem/ModeTreeChildIF.h" #include "fsfw/subsystem/ModeTreeConnectionIF.h" @@ -22,6 +24,7 @@ struct DhbConfig { object_id_t defaultFdirParent = objects::NO_OBJECT; uint32_t msgQueueDepth = 10; }; + class FreshDeviceHandlerBase : public SystemObject, public DeviceHandlerIF, public HasModesIF, @@ -30,7 +33,7 @@ class FreshDeviceHandlerBase : public SystemObject, public ModeTreeChildIF, public ModeTreeConnectionIF, public HasActionsIF, - public HasParametersIF, + public ReceivesParameterMessagesIF, public HasLocalDataPoolIF { public: explicit FreshDeviceHandlerBase(DhbConfig config); @@ -61,6 +64,7 @@ class FreshDeviceHandlerBase : public SystemObject, ActionHelper actionHelper; ModeHelper modeHelper; HealthHelper healthHelper; + ParameterHelper paramHelper; LocalDataPoolManager poolManager; bool hasCustomFdir = false;