#ifndef MISSION_CONTROLLER_THERMALCONTROLLER_H_ #define MISSION_CONTROLLER_THERMALCONTROLLER_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class ThermalController: public ControllerBase { public: static const Submode_t NO_REDUNDANCY = 1; static const Submode_t HEATER_REDUNDANCY = 2; static const uint8_t COMPONENT_DOMAIN_ID = 1; //!< First number n of component domain IDs ThermalController(object_id_t objectId, object_id_t powerSwitcher, size_t commandQueueDepth); virtual~ ThermalController(); ReturnValue_t initialize() override; ReturnValue_t performOperation(uint8_t opCode) override; private: //ThermalModule::Strategy strategy; //SimpleActionHelper actionHelper; //ParameterHelper parameterHelper; object_id_t powerSwitcherId; // definition of dataset DataSet SensorData; DataSet ComponentData; // definition of dataset variables from datapool PoolVector TempValueVec; // definition of objects ArduinoTCSTemperatureSensor TEMPERATURE_SENSOR_CH1; ArduinoTCSTemperatureSensor TEMPERATURE_SENSOR_CH2; std::list sensors; TCS_ThermalComponent TEMPERATURE_COMPONENT_1; TCS_ThermalComponent TEMPERATURE_COMPONENT_2; std::list components; TCS_Heater HEATER_1; TCS_Heater REDUNDANT_HEATER_1; TCS_Heater HEATER_2; TCS_Heater REDUNDANT_HEATER_2; std::list heaters; std::list redundant_heaters; protected: /* Extended Controller Base overrides */ ReturnValue_t handleCommandMessage(CommandMessage *message) override; void performControlOperation() override; ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode, uint32_t *msToReachTheMode) override; void startTransition(Mode_t mode, Submode_t submode) override; //void calculateStrategy(bool announce, bool redundancy); //void modeChanged(Mode_t mode, Submode_t submode) override; //void getMode(Mode_t *mode, Submode_t *submode) override; //void changeHK(Mode_t mode, Submode_t submode, bool enable) override; //void setToExternalControl() override; //virtual ReturnValue_t executeAction(ActionId_t actionId, MessageQueueId_t commandedBy, const uint8_t* data, uint32_t size) override; //virtual void announceMode(bool recursive); }; #endif /* MISSION_CONTROLLER_THERMALCONTROLLER_H_ */