Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -r68b2e13b6cd3e91c6ef91e2d47c0613cb2ab96ef -r2315fd382b764d7bb7de5c208d67aa86f8a1a687 --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 68b2e13b6cd3e91c6ef91e2d47c0613cb2ab96ef) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 2315fd382b764d7bb7de5c208d67aa86f8a1a687) @@ -1961,6 +1961,22 @@ // Check if the temperature gradient in between the coldest and the hottest spot is more than the specified temperature and // the timer has not started yet, start it + bool gradientOutOfRange = ( fabs( TPoTemp - ThdTemp ) > HEAT_DISINFECT_MAX_TEMP_GRADIENT_C ) ? TRUE : FALSE; + if ( !gradientOutOfRange ) + { + tempGradOutOfRangeTimer = 0; + } + else if ( 0 == tempGradOutOfRangeTimer ) + { + tempGradOutOfRangeTimer = getMSTimerCount()); + } + else if ( TRUE == didTimeout( tempGradOutOfRangeTimer, HEAT_DISINFECT_TEMP_GRAD_OUT_RANGE_TIME_MS ) ) + { + alarmDetectedPendingTrigger = ALARM_ID_DG_HEAT_DISINFECT_TEMP_GRAD_OUT_OF_RANAGE; + status = HEAT_DISINFECT_TEMP_GRADIENT_OUT_OF_RANGE; + } + +/* if ( ( fabs( TPoTemp - ThdTemp ) > HEAT_DISINFECT_MAX_TEMP_GRADIENT_C ) && ( 0 == tempGradOutOfRangeTimer ) ) { tempGradOutOfRangeTimer = getMSTimerCount(); @@ -1971,7 +1987,7 @@ alarmDetectedPendingTrigger = ALARM_ID_DG_HEAT_DISINFECT_TEMP_GRAD_OUT_OF_RANAGE; status = HEAT_DISINFECT_TEMP_GRADIENT_OUT_OF_RANGE; } - +*/ // Check if either reservoir 1 or reservoir 2 are losing volume more than allowed volume if ( ( TRUE == isR1OutOfRange ) || ( TRUE == isR2OutOfRange ) ) {