Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -rccf1219089b835ab2f9d401c0be0d2000be9010a -r9ce06772b2f651c57144327e6cbf886e2bc22dee --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision ccf1219089b835ab2f9d401c0be0d2000be9010a) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 9ce06772b2f651c57144327e6cbf886e2bc22dee) @@ -440,7 +440,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; } /*********************************************************************//** @@ -573,11 +582,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;