Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r72ba5f3c63325b00306b544b2513c03500919d06 -rcb4d35cc50df2d3cc9e828cd92e53cf456ca9b9d --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 72ba5f3c63325b00306b544b2513c03500919d06) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision cb4d35cc50df2d3cc9e828cd92e53cf456ca9b9d) @@ -654,17 +654,24 @@ *************************************************************************/ static void setHeaterDutyCycle( DG_HEATERS_T heater, F32 pwm ) { - if ( DG_PRIMARY_HEATER == heater ) + if ( heater < NUM_OF_DG_HEATERS ) { - setMainPrimaryHeaterPWM( pwm ); - setSmallPrimaryHeaterPWM( pwm ); + if ( DG_PRIMARY_HEATER == heater ) + { + setMainPrimaryHeaterPWM( pwm ); + setSmallPrimaryHeaterPWM( pwm ); + } + else if ( DG_TRIMMER_HEATER == heater ) + { + setTrimmerHeaterPWM( pwm ); + } + + heatersStatus[ heater ].dutyCycle = pwm; } - else if ( DG_TRIMMER_HEATER == heater ) + else { - setTrimmerHeaterPWM( pwm ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_HEATERS_INVALID_HEATER_ID_SELECTED, heater ); } - - heatersStatus[ heater ].dutyCycle = pwm; } /*********************************************************************//**