Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r06a49a103e6c62257c56fdbb19fc5b0a518095df -r5bf62ff1373f2e9eea858244a97167323bff33f8 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 06a49a103e6c62257c56fdbb19fc5b0a518095df) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 5bf62ff1373f2e9eea858244a97167323bff33f8) @@ -1011,7 +1011,6 @@ return state; } - /*********************************************************************//** * @brief * The handlePreTreatmentReservoirMgmtWaitReservoirSwitchState function waits @@ -1024,10 +1023,20 @@ { PRE_TREATMENT_RESERVOIR_MGMT_STATE_T state = PRE_TREATMENT_RESERVOIR_MGMT_WAIT_FOR_RESERVOIR_SWITCH_STATE; - if ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) + if ( ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFilledStatus[ DG_RESERVOIR_2 ] ) ) { - state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; + if ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) + { + state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; + } } + else + { + if ( TRUE == hasDGCompletedReservoirSwitch() ) + { + state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; + } + } return state; }