Index: firmware/App/Modes/ModeGenIdle.c =================================================================== diff -u -r7e1358a440116fedad5a049d49c2d6f9be85d60e -ra0c1350fb3266a722f91298dde1e97876081cd2e --- firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision 7e1358a440116fedad5a049d49c2d6f9be85d60e) +++ firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision a0c1350fb3266a722f91298dde1e97876081cd2e) @@ -368,11 +368,14 @@ if ( FALSE == isAlarmActive( ALARM_ID_DG_FILL_CONDUCTIVITY_OUT_OF_RANGE ) ) { // Save the HD target fill volume before command 1000 mL fill volume - //targetFillVolumeML = getTargetFillVolumeML(); - state = DG_HANDLE_BAD_FILL_STATE_FLUSH_FILL; - // Start the flush fill - startFillCmd( BAD_FLUSH_FILL_TARGET_VOLUME_ML, getTargetFillFlowRateLPM() ); + state = DG_HANDLE_BAD_FILL_STATE_FLUSH_FILL; + + // Start the flush fill. + // NOTE: the actual target fill from HD is sent here but at this stage the fill target is 1000 mL. + // The other functions that check against the fill target know to check for 1000 mL. This is to make sure + // the actual fill target from HD is not overridden in case multiple bad fills occurred back to back. + startFillCmd( getTargetFillVolumeML(), getTargetFillFlowRateLPM() ); } return state;