Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -rf68e01a2daee6cb88bb54816aee56668d662bcd4 -ra5fcb6fc6b04e8940e3c38be453ad8ff9168a616 --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision f68e01a2daee6cb88bb54816aee56668d662bcd4) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision a5fcb6fc6b04e8940e3c38be453ad8ff9168a616) @@ -442,7 +442,16 @@ *************************************************************************/ static DRAIN_PUMP_STATE_T handleDrainPumpOpenLoopState( void ) { - return DRAIN_PUMP_OPEN_LOOP_STATE; + DRAIN_PUMP_STATE_T state = DRAIN_PUMP_OPEN_LOOP_STATE; + + // Check if the RPM is 0, and if it is turn off the pump + if ( getTargetDrainPumpRPM() == 0 ) + { + state = DRAIN_PUMP_OFF_STATE; + signalDrainPumpHardStop(); + } + + return state; } /*********************************************************************//** @@ -575,11 +584,7 @@ if ( TRUE == isTestingActivated() ) { - // Check for the RPM to be in range - if ( value >= MIN_DRAIN_PUMP_RPM && value <= MAX_DRAIN_PUMP_RPM ) - { - result = setDrainPumpTargetRPM( value ); - } + result = setDrainPumpTargetRPM( value ); } return result;