prevent switching of heaters in external control

This commit is contained in:
Marius Eggert 2024-03-16 13:48:49 +01:00
parent 158927ce5c
commit 1c93f51f69

View File

@ -1792,7 +1792,8 @@ void ThermalController::heaterMaxDurationControl(
for (unsigned i = 0; i < heater::Switch::NUMBER_OF_SWITCHES; i++) { for (unsigned i = 0; i < heater::Switch::NUMBER_OF_SWITCHES; i++) {
// Right now, we only track the maximum duration for heater which were commanded by the TCS // Right now, we only track the maximum duration for heater which were commanded by the TCS
// controller. // controller.
if (currentHeaterStates[i] == heater::SwitchState::ON and if (heaterHandler.getHealth(static_cast<heater::Switch>(i)) != HasHealthIF::EXTERNAL_CONTROL and
currentHeaterStates[i] == heater::SwitchState::ON and
heaterStates[i].trackHeaterMaxBurnTime and heaterStates[i].trackHeaterMaxBurnTime and
heaterStates[i].heaterOnMaxBurnTime.hasTimedOut()) { heaterStates[i].heaterOnMaxBurnTime.hasTimedOut()) {
heaterStates[i].switchTransition = false; heaterStates[i].switchTransition = false;