Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -rf6022e86136c821709ce24b61e11e8e2bdf0b11e -r9ff57b5ab7490ee5bbc2c51b25f738ee6c569ec1 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision f6022e86136c821709ce24b61e11e8e2bdf0b11e) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 9ff57b5ab7490ee5bbc2c51b25f738ee6c569ec1) @@ -372,10 +372,18 @@ heatersStatus[ heater ].heaterOnState = FALSE; control[ heater ].data = HEATERS_MIN_DUTY_CYCLE; heatersStatus[ heater ].state = HEATER_EXEC_STATE_OFF; - heatersStatus[ D5_HEAT ].controlIntervalCounter = D5_HEAT_CONTROL_INTERVAL_START_COUNT; - heatersStatus[ D45_HEAT ].controlIntervalCounter = 0; startupHeaterControl = TRUE; + //Update control interval counter + if ( D5_HEAT == heater ) + { + heatersStatus[ D5_HEAT ].controlIntervalCounter = D5_HEAT_CONTROL_INTERVAL_START_COUNT; + } + else + { + heatersStatus[ D45_HEAT ].controlIntervalCounter = 0; + } + // update duty cycle setHeaterControl( heater ); } @@ -607,7 +615,7 @@ F32 measuredTemperature = 0.0F; F32 ctrl = 0.0F; - if( ++heatersStatus[ heater ].controlIntervalCounter > controlInterval[ heater ] ) + if ( ++heatersStatus[ heater ].controlIntervalCounter >= controlInterval[ heater ] ) { if ( D5_HEAT == heater ) {