Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -rcce2284b55a68bd4e7fc5800c54709541d440dfb -rc7b6129883e94a762e68be6bc01adacf9e3fdc5c --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision cce2284b55a68bd4e7fc5800c54709541d440dfb) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision c7b6129883e94a762e68be6bc01adacf9e3fdc5c) @@ -528,7 +528,7 @@ // Done with final draining isThisLastDrain = FALSE; - state = DG_HEAT_DISINFECT_STATE_RINSE_CIRCULATION; + state = DG_HEAT_DISINFECT_STATE_RINSE_CIRCULATION; } else { @@ -546,8 +546,6 @@ state = DG_HEAT_DISINFECT_STATE_DRAIN_R2; } - setValveState( VPO, VALVE_STATE_FILL_C_TO_NC); - // Start the timer stateTimer = getMSTimerCount(); } @@ -585,8 +583,9 @@ { setValveState( VRD1, VALVE_STATE_OPEN ); setValveState( VRD2, VALVE_STATE_CLOSED ); + rsrvr1Status = DG_RESERVOIR_ABOVE_TARGET; - state = DG_HEAT_DISINFECT_STATE_DRAIN_R1; + state = DG_HEAT_DISINFECT_STATE_DRAIN_R1; } else { @@ -598,16 +597,17 @@ // Done with draining R2, close it setValveState( VRD2, VALVE_STATE_CLOSED ); setValveState( VPI, VALVE_STATE_OPEN ); + setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); + stateTrialCounter = 0; - stateTimer = getMSTimerCount(); - state = DG_HEAT_DISINFECT_STATE_FLUSH_DRAIN; + stateTimer = getMSTimerCount(); + state = DG_HEAT_DISINFECT_STATE_FLUSH_DRAIN; } - setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); } else if ( DG_RESERVOIR_NOT_REACHED_TARGET == rsrvr2Status ) { prevHeatDisinfectState = state; - state = DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH; + state = DG_HEAT_DISINFECT_STATE_CANCEL_BASIC_PATH; } return state;