Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -rf5e2cabefb2f3d4757c150e9de136d5249b1e019 -rf2cecb1dae0cfccc768b321f1d0cdec9a73c5824 --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision f5e2cabefb2f3d4757c150e9de136d5249b1e019) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision f2cecb1dae0cfccc768b321f1d0cdec9a73c5824) @@ -63,7 +63,8 @@ static BOOL disposableRemovalConfirmed = FALSE; ///< Flag indicates user confirms disposable removal. static BOOL isDrainStarted = FALSE; ///< Flag indicates a drain operation has been started. -static BOOL isDrainCompleted = FALSE; +static BOOL isDrainCompleted = FALSE; ///< Flag indicates drain has completed. +static BOOL rinseConcentrateLines = FALSE; ///< FLag indicates to rinse concentrate lines. static HD_POST_TREATMENT_STATE_T currentPostTreatmentState; ///< Current state of post-treatment mode state machine. static DRAIN_STATE_T currentDrainReservoirState; ///< Current drain reservoir state. @@ -100,6 +101,7 @@ disposableRemovalConfirmed = FALSE; isDrainStarted = FALSE; isDrainCompleted = FALSE; + rinseConcentrateLines = FALSE; currentPostTreatmentState = HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE; currentDrainReservoirState = DRAIN_FIRST_RESERVOIR_START_STATE; postTreatmentPublishTimerCounter = 0; @@ -510,7 +512,7 @@ } else { - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); } } @@ -536,7 +538,8 @@ if ( TRUE == hasDGCompletedReservoirSwitch() ) { state = DRAIN_FIRST_RESERVOIR_STATE; - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE ); + rinseConcentrateLines = FALSE; + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); } } @@ -595,7 +598,8 @@ if ( TRUE == hasDGCompletedReservoirSwitch() ) { state = DRAIN_SECOND_RESERVOIR_STATE; - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE ); + rinseConcentrateLines = TRUE; + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); } return state; @@ -618,7 +622,7 @@ isDrainStarted = TRUE; } - // Drain has started and DG goes to re-circ mode flush lines state means drain completed + // Drain has started and DG goes to generation idle mode flush lines state means drain completed if ( ( TRUE == isDrainStarted ) && ( DG_GEN_IDLE_MODE_STATE_FLUSH_LINES == getDGSubMode() ) ) { isDrainCompleted = TRUE; @@ -630,6 +634,7 @@ { isDrainStarted = FALSE; isDrainCompleted = FALSE; + rinseConcentrateLines = FALSE; state = DRAIN_COMPLETE_STATE; } }