Index: firmware/App/Modes/ModeGenIdle.c =================================================================== diff -u -r164e1a3ffca18c703676bc7f57f5903c76050600 -re6e05130918b0aa7cd742d88e3b2cd850316cde7 --- firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision 164e1a3ffca18c703676bc7f57f5903c76050600) +++ firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision e6e05130918b0aa7cd742d88e3b2cd850316cde7) @@ -303,6 +303,14 @@ handleEmptyBottleFlag = TRUE; } + if ( ( TRUE == handleEmptyBottleFlag ) && + ( isAlarmActive( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ) != TRUE ) && + ( isAlarmActive( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ) != TRUE ) ) + { + // User acknowledged empty conc bottle alarm(s) and so time to start a fill + startFillCmd( getTargetFillVolumeML(), getTargetFillFlowRateLPM() ); + } + return result; } Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r164e1a3ffca18c703676bc7f57f5903c76050600 -re6e05130918b0aa7cd742d88e3b2cd850316cde7 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 164e1a3ffca18c703676bc7f57f5903c76050600) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision e6e05130918b0aa7cd742d88e3b2cd850316cde7) @@ -354,16 +354,16 @@ cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_NONE; // fill command only valid in generation idle mode - if ( ( DG_MODE_GENE == getCurrentOperationMode() ) && ( ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == getCurrentGenIdleState() ) || - ( DG_GEN_IDLE_MODE_STATE_HANDLE_BAD_FILL == getCurrentGenIdleState() ) ) ) + if ( ( DG_MODE_GENE == getCurrentOperationMode() ) && + ( ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == getCurrentGenIdleState() ) || ( DG_GEN_IDLE_MODE_STATE_HANDLE_BAD_FILL == getCurrentGenIdleState() ) ) ) { // validate parameters if ( fillToVolMl < MAX_FILL_VOLUME_ML ) { fillVolumeTargetMl.data = fillToVolMl; cmdResponse.rejected = FALSE; - if ( ( FALSE == isAlarmActive( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ) ) || // reject moving to fill mode if + if ( ( FALSE == isAlarmActive( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ) ) && // reject moving to fill mode if ( FALSE == isAlarmActive( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ) ) ) // alarm is active { requestNewOperationMode( DG_MODE_FILL );