From 1f8a68dabe8ee7c4382f207b72f7b2cea58650ae Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 2 May 2022 22:55:39 +0200 Subject: [PATCH] re-use existing enum --- common/config/devices/heaterSwitcherList.h | 4 ++-- mission/devices/HeaterHandler.cpp | 16 ++++++++-------- mission/devices/HeaterHandler.h | 16 +++++----------- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/common/config/devices/heaterSwitcherList.h b/common/config/devices/heaterSwitcherList.h index 014e795c..8d27cf15 100644 --- a/common/config/devices/heaterSwitcherList.h +++ b/common/config/devices/heaterSwitcherList.h @@ -3,8 +3,8 @@ #include -namespace heaterSwitches { - enum switcherList: uint8_t { +namespace heater { + enum Switchers: uint8_t { HEATER_0, HEATER_1, HEATER_2, diff --git a/mission/devices/HeaterHandler.cpp b/mission/devices/HeaterHandler.cpp index e27d74b6..3582edb0 100644 --- a/mission/devices/HeaterHandler.cpp +++ b/mission/devices/HeaterHandler.cpp @@ -71,7 +71,7 @@ ReturnValue_t HeaterHandler::initialize() { } ReturnValue_t HeaterHandler::initializeHeaterMap() { - for (power::Switch_t switchNr = 0; switchNr < heaterSwitches::NUMBER_OF_SWITCHES; switchNr++) { + for (power::Switch_t switchNr = 0; switchNr < heater::NUMBER_OF_SWITCHES; switchNr++) { heaterVec.push_back(HeaterWrapper(helper.heaters[switchNr])); } return RETURN_OK; @@ -159,14 +159,14 @@ ReturnValue_t HeaterHandler::sendSwitchCommand(uint8_t switchNr, ReturnValue_t o } void HeaterHandler::handleActiveCommands() { - for (uint8_t idx = 0; idx < heater::NUMBER_OF_HEATERS; idx++) { + for (uint8_t idx = 0; idx < heater::NUMBER_OF_SWITCHES; idx++) { if (heaterVec[idx].active) { switch (heaterVec[idx].action) { case SET_SWITCH_ON: - handleSwitchOnCommand(idx); + handleSwitchOnCommand(static_cast(idx)); break; case SET_SWITCH_OFF: - handleSwitchOffCommand(idx); + handleSwitchOffCommand(static_cast(idx)); break; default: sif::error << "HeaterHandler::handleActiveCommands: Invalid action commanded" @@ -177,7 +177,7 @@ void HeaterHandler::handleActiveCommands() { } } -void HeaterHandler::handleSwitchOnCommand(uint8_t heaterIdx) { +void HeaterHandler::handleSwitchOnCommand(heater::Switchers heaterIdx) { ReturnValue_t result = RETURN_OK; auto& heater = heaterVec.at(heaterIdx); /* Check if command waits for main switch being set on and whether the timeout has expired */ @@ -238,7 +238,7 @@ void HeaterHandler::handleSwitchOnCommand(uint8_t heaterIdx) { } } -void HeaterHandler::handleSwitchOffCommand(uint8_t heaterIdx) { +void HeaterHandler::handleSwitchOffCommand(heater::Switchers heaterIdx) { ReturnValue_t result = RETURN_OK; auto& heater = heaterVec.at(heaterIdx); // Check whether switch is already off @@ -271,14 +271,14 @@ void HeaterHandler::handleSwitchOffCommand(uint8_t heaterIdx) { heater.active = false; } -HeaterHandler::SwitchState HeaterHandler::checkSwitchState(uint8_t switchNr) { +HeaterHandler::SwitchState HeaterHandler::checkSwitchState(heater::Switchers switchNr) { return heaterVec.at(switchNr).switchState; } bool HeaterHandler::allSwitchesOff() { bool allSwitchesOrd = false; /* Or all switches. As soon one switch is on, allSwitchesOrd will be true */ - for (power::Switch_t switchNr = 0; switchNr < heaterSwitches::NUMBER_OF_SWITCHES; switchNr++) { + for (power::Switch_t switchNr = 0; switchNr < heater::NUMBER_OF_SWITCHES; switchNr++) { allSwitchesOrd = allSwitchesOrd || heaterVec.at(switchNr).switchState; } return !allSwitchesOrd; diff --git a/mission/devices/HeaterHandler.h b/mission/devices/HeaterHandler.h index 28ac9899..40685ced 100644 --- a/mission/devices/HeaterHandler.h +++ b/mission/devices/HeaterHandler.h @@ -21,18 +21,12 @@ class PowerSwitchIF; class HealthTableIF; -namespace heater { - -static constexpr uint8_t NUMBER_OF_HEATERS = 8; - -} - using HeaterPair = std::pair; struct HeaterHelper { public: - HeaterHelper(std::array heaters) : heaters(heaters) {} - std::array heaters = {}; + HeaterHelper(std::array heaters) : heaters(heaters) {} + std::array heaters = {}; }; /** * @brief This class intends the control of heaters. @@ -144,7 +138,7 @@ class HeaterHandler : public ExecutableObjectIF, * @brief Returns the state of a switch (ON - true, or OFF - false). * @param switchNr The number of the switch to check. */ - SwitchState checkSwitchState(power::Switch_t switchNr); + SwitchState checkSwitchState(heater::Switchers switchNr); /** * @brief This function runs commands waiting for execution. @@ -158,9 +152,9 @@ class HeaterHandler : public ExecutableObjectIF, */ void setInitialSwitchStates(); - void handleSwitchOnCommand(uint8_t heaterIdx); + void handleSwitchOnCommand(heater::Switchers heaterIdx); - void handleSwitchOffCommand(uint8_t heaterIdx); + void handleSwitchOffCommand(heater::Switchers heaterIdx); /** * @brief Checks if all switches are off.