Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -re66857bf3bbc6be73802ca6596cbb9444541e21f -rfd5c3cff1d0beac03fb29c19f49f670568bc4178 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision e66857bf3bbc6be73802ca6596cbb9444541e21f) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision fd5c3cff1d0beac03fb29c19f49f670568bc4178) @@ -264,10 +264,8 @@ *************************************************************************/ void stopPrimaryHeater( void ) { - mainPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; - smallPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; - setMainPrimaryHeaterPWM( mainPrimaryHeaterDutyCycle ); - setSmallPrimaryHeaterPWM( smallPrimaryHeaterDutyCycle ); + setMainPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); + setSmallPrimaryHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); isPrimaryHeaterOn = FALSE; } @@ -280,8 +278,7 @@ *************************************************************************/ void stopTrimmerHeater( void ) { - trimmerHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; - setTrimmerHeaterPWM( trimmerHeaterDutyCycle ); + setTrimmerHeaterPWM( HEATERS_MIN_DUTY_CYCLE ); isTrimmerHeaterOn = FALSE; } @@ -633,6 +630,9 @@ if ( isPrimaryHeaterOn != TRUE ) { + // Switch to off state. Set the duty cycles to 0 + mainPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; + smallPrimaryHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; state = PRIMARY_HEATERS_EXEC_STATE_OFF; } @@ -694,6 +694,8 @@ if ( ! isTrimmerHeaterOn ) { + // Set the duty cycle to 0 and switch to off state + trimmerHeaterDutyCycle = HEATERS_MIN_DUTY_CYCLE; state = TRIMMER_HEATER_EXEC_STATE_OFF; }