Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -radb32ef196a2c56d54225caa47f6d50e811cfc68 -r11f666f254d9777558c332403557a3d94720b54a --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision adb32ef196a2c56d54225caa47f6d50e811cfc68) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 11f666f254d9777558c332403557a3d94720b54a) @@ -504,7 +504,11 @@ } else { - // Do nothing the mode that DG is in right now, does not need heaters to be on + // Calculate the energy equation and set the duty cycle + // This is for other modes (i.e. standby or service) + targetFlow = getTargetROPumpFlowRateLPM(); + dutyCycle = calculatePrimaryHeaterDutyCycle( targetTemperature, inletTemperature, targetFlow, FALSE ); + state = HEATER_EXEC_STATE_PRIMARY_CONTROL_TO_TARGET; } // Update the calculated target temperature and flow @@ -605,6 +609,13 @@ dutyCycle = calculateTrimmerHeaterDutyCycle( targetTemperature, currentTemperature, targetFlowLPM, FALSE ); state = HEATER_EXEC_STATE_CONTROL_TO_DISINFECT_TARGET; } + else + { + // If not any of the above modes, just calculate the energy equation based on TRo + currentTemperature = getTemperatureValue( (U32)TEMPSENSORS_OUTLET_REDUNDANT ); + dutyCycle = calculateTrimmerHeaterDutyCycle( targetTemperature, currentTemperature, targetFlowLPM, TRUE ); + state = HEATER_EXEC_STATE_TRIMMER_CONTROL_TO_TARGET; + } // Update the calculated target temperature // Reset the duty cycle since the reservoir has been switched