diff --git a/mission/controller/ThermalController.cpp b/mission/controller/ThermalController.cpp index bfed0ad2..759f1163 100644 --- a/mission/controller/ThermalController.cpp +++ b/mission/controller/ThermalController.cpp @@ -137,8 +137,8 @@ void ThermalController::performControlOperation() { } } - std::array heaterStates; - heaterHandler.getAllSwitchStates(heaterStates); + std::array heaterSwitchStateArray{}; + heaterHandler.getAllSwitchStates(heaterSwitchStateArray); { PoolReadGuard pg(&heaterInfo); std::memcpy(heaterInfo.heaterSwitchState.value, heaterStates.data(), 8); @@ -150,7 +150,9 @@ void ThermalController::performControlOperation() { } } - performThermalModuleCtrl(); + if(mode != MODE_OFF) { + performThermalModuleCtrl(); + } cycles++; } @@ -983,11 +985,6 @@ void ThermalController::ctrlAcsBoard() { void ThermalController::ctrlMgt() { thermalComponent = MGT; - PoolReadGuard pg(&imtqThermalSet); - auto heaterReq = - static_cast(imtqThermalSet.heaterRequest.value); - // TODO: remove heaterReq? - if (heaterReq == ThermalComponentIF::STATE_REQUEST_OPERATIONAL) { sensors[0].first = sensorTemperatures.mgt.isValid(); sensors[0].second = sensorTemperatures.mgt.value; sensors[1].first = deviceTemperatures.mgt.isValid(); @@ -996,7 +993,7 @@ void ThermalController::ctrlMgt() { sensors[2].second = sensorTemperatures.plpcduHeatspreader.value; numSensors = 3; ctrlComponentTemperature(heater::HEATER_2_ACS_BRD, heater::HEATER_3_PCDU_PDU, mgtLimits); - } + } void ThermalController::ctrlRw() {