cleaner solution
All checks were successful
EIVE/eive-obsw/pipeline/pr-main This commit looks good

This commit is contained in:
Marius Eggert 2024-03-18 10:56:57 +01:00
parent 096328aadc
commit 950e86ce4b

View File

@ -1643,7 +1643,9 @@ bool ThermalController::chooseHeater(heater::Switch& switchNr, heater::Switch re
HasHealthIF::HealthState mainHealth = heaterHandler.getHealth(switchNr);
heater::SwitchState mainState = heaterHandler.getSwitchState(switchNr);
HasHealthIF::HealthState redHealth = heaterHandler.getHealth(redSwitchNr);
if (not(mainHealth == HasHealthIF::EXTERNAL_CONTROL and mainState == heater::SwitchState::ON)) {
if (mainHealth == HasHealthIF::EXTERNAL_CONTROL and mainState == heater::SwitchState::ON) {
return false;
}
if (mainHealth != HasHealthIF::HEALTHY) {
if (redHealth == HasHealthIF::HEALTHY) {
switchNr = redSwitchNr;
@ -1658,7 +1660,6 @@ bool ThermalController::chooseHeater(heater::Switch& switchNr, heater::Switch re
} else {
ctrlCtx.redSwitchNrInUse = false;
}
}
return heaterAvailable;
}
@ -1714,7 +1715,8 @@ void ThermalController::checkLimitsAndCtrlHeater(HeaterContext& htrCtx) {
if (thermalStates[ctrlCtx.thermalComponent].heating) {
// We are already in a heating cycle, so need to check whether heating task is complete.
if (ctrlCtx.sensorTemp >= htrCtx.tempLimit.opLowerLimit + TEMP_OFFSET and
heaterCtrlAllowed()) {
heaterCtrlAllowed() /*and
heaterHandler.getHealth(htrCtx.switchNr) != HasHealthIF::EXTERNAL_CONTROL*/) {
sif::info << "TCS: Heater " << static_cast<int>(ctrlCtx.thermalComponent) << " OFF"
<< std::endl;
heaterSwitchHelper(htrCtx.switchNr, heater::SwitchState::OFF, ctrlCtx.thermalComponent);