diff --git a/dummies/PlocSupervisorDummy.cpp b/dummies/PlocSupervisorDummy.cpp index c3eea5b0..b9b1948f 100644 --- a/dummies/PlocSupervisorDummy.cpp +++ b/dummies/PlocSupervisorDummy.cpp @@ -1,8 +1,10 @@ #include "PlocSupervisorDummy.h" PlocSupervisorDummy::PlocSupervisorDummy(object_id_t objectId, object_id_t comif, - CookieIF *comCookie) - : DeviceHandlerBase(objectId, comif, comCookie) {} + CookieIF *comCookie, PowerSwitchIF &pwrSwitcher) + : DeviceHandlerBase(objectId, comif, comCookie) { + setPowerSwitcher(&pwrSwitcher); +} PlocSupervisorDummy::~PlocSupervisorDummy() {} @@ -42,3 +44,10 @@ ReturnValue_t PlocSupervisorDummy::initializeLocalDataPool(localpool::DataPool & LocalDataPoolManager &poolManager) { return returnvalue::OK; } + +ReturnValue_t PlocSupervisorDummy::getSwitches(const uint8_t **switches, + uint8_t *numberOfSwitches) { + *numberOfSwitches = 1; + *switches = reinterpret_cast(&switchId); + return returnvalue::OK; +} diff --git a/dummies/PlocSupervisorDummy.h b/dummies/PlocSupervisorDummy.h index 4118c893..963f1aa4 100644 --- a/dummies/PlocSupervisorDummy.h +++ b/dummies/PlocSupervisorDummy.h @@ -1,6 +1,7 @@ #pragma once #include +#include class PlocSupervisorDummy : public DeviceHandlerBase { public: @@ -10,10 +11,13 @@ class PlocSupervisorDummy : public DeviceHandlerBase { static const uint8_t SIMPLE_COMMAND_DATA = 1; static const uint8_t PERIODIC_REPLY_DATA = 2; - PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie); + PlocSupervisorDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie, + PowerSwitchIF &pwrSwitcher); virtual ~PlocSupervisorDummy(); protected: + const power::Switches switchId = power::Switches::PDU1_CH6_PLOC_12V; + void doStartUp() override; void doShutDown() override; ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override; @@ -27,4 +31,5 @@ class PlocSupervisorDummy : public DeviceHandlerBase { uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override; ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap, LocalDataPoolManager &poolManager) override; + ReturnValue_t getSwitches(const uint8_t **switches, uint8_t *numberOfSwitches) override; }; diff --git a/dummies/helpers.cpp b/dummies/helpers.cpp index 026590e0..c4f8bce2 100644 --- a/dummies/helpers.cpp +++ b/dummies/helpers.cpp @@ -221,8 +221,8 @@ void dummy::createDummies(DummyCfg cfg, PowerSwitchIF& pwrSwitcher, GpioIF* gpio auto* plocMpsocDummy = new PlocMpsocDummy(objects::PLOC_MPSOC_HANDLER, objects::DUMMY_COM_IF, comCookieDummy); plocMpsocDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM); - auto* plocSupervisorDummy = new PlocSupervisorDummy(objects::PLOC_SUPERVISOR_HANDLER, - objects::DUMMY_COM_IF, comCookieDummy); + auto* plocSupervisorDummy = new PlocSupervisorDummy( + objects::PLOC_SUPERVISOR_HANDLER, objects::DUMMY_COM_IF, comCookieDummy, pwrSwitcher); plocSupervisorDummy->connectModeTreeParent(satsystem::payload::SUBSYSTEM); } }