Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r994dd4e7cb997f5d280180ff48ecec9d3963001a -r50fc6ca962c381ac98c9f032115973a5fff2a761 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 994dd4e7cb997f5d280180ff48ecec9d3963001a) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 50fc6ca962c381ac98c9f032115973a5fff2a761) @@ -224,6 +224,19 @@ { TREATMENT_END_STATE_T result = TREATMENT_END_WAIT_FOR_RINSEBACK_STATE; + // Set reservoir 2 as active so we can drain reservoir 1 ASAP // TODO - I think this should be handled by treatment reservoir mgmt state machine + if ( ( DG_MODE_GENE == getDGOpMode() ) && ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == getDGSubMode() ) ) + { + if ( getDGInactiveReservoir() != DG_RESERVOIR_1 ) + { + cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); + } + else + { + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE ); + } + } + // Is alarm stop or user reconnect requested? if ( TRUE == doesAlarmStatusIndicateStop() ) {