#pragma once #include "fsfw/devicehandlers/FreshDeviceHandlerBase.h" #include "mission/power/bpxBattDefs.h" /// @brief class BatteryDummy : public FreshDeviceHandlerBase { public: BatteryDummy(DhbConfig cfg); private: /** * Periodic helper executed function, implemented by child class. */ void performDeviceOperation(uint8_t opCode) override; /** * Implemented by child class. Handle all command messages which are * not health, mode, action or housekeeping messages. * @param message * @return */ ReturnValue_t handleCommandMessage(CommandMessage* message) override; // HK manager abstract functions. LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override; ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap, LocalDataPoolManager& poolManager) override; // Mode abstract functions ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode, uint32_t* msToReachTheMode) override; // Action override. Forward to user. ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy, const uint8_t* data, size_t size) override; BpxBatteryCfg cfgSet; BpxBatteryHk hkSet; PoolEntry chargeCurrent = PoolEntry({0}); PoolEntry dischargeCurrent = PoolEntry({0}); PoolEntry heaterCurrent = PoolEntry({0}); PoolEntry battVolt = PoolEntry({16'000}); PoolEntry battTemp1 = PoolEntry({10}, true); PoolEntry battTemp2 = PoolEntry({10}, true); PoolEntry battTemp3 = PoolEntry({10}, true); PoolEntry battTemp4 = PoolEntry({10}, true); PoolEntry rebootCounter = PoolEntry({0}); PoolEntry bootCause = PoolEntry({0}); PoolEntry battheatMode = PoolEntry({0}); PoolEntry battheatLow = PoolEntry({0}); PoolEntry battheatHigh = PoolEntry({0}); };