Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -rfe3a4b13527ae0cdd2377d9c8971bc541979e2d5 -rac92eb75dab975799cd7b54940c52e7afee8145c --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision fe3a4b13527ae0cdd2377d9c8971bc541979e2d5) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision ac92eb75dab975799cd7b54940c52e7afee8145c) @@ -1433,8 +1433,23 @@ } } } - // clear this alarm - clearAlarm( a ); + // check special cases where we do not want to clear this alarm - otherwise, clear it + if ( ( ALARM_ID_DG_CREATING_DIALYSATE_PLEASE_WAIT == a ) && ( TRUE == alarmIsDetected[ a ] ) ) + { + // do not clear this alarm if condition not cleared first + } + else if ( ( ( ALARM_ID_DG_FILL_CONDUCTIVITY_OUT_OF_RANGE == a ) || + ( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME == a ) || + ( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME == a ) ) && + ( alarmStatus.alarmTop != a ) ) + { + // do not clear this alarm unless it is top (user is specifically clearing this alarm) + } + else + { + // clear this alarm + clearAlarm( a ); + } } else if ( TRUE == alarmIsActive[ a ] ) {