Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -rb217ec210cf9c731871b2828f404d877830b25cb -rfd9aac87d9b5ff275d37154c484476f21d7a32d3 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision b217ec210cf9c731871b2828f404d877830b25cb) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision fd9aac87d9b5ff275d37154c484476f21d7a32d3) @@ -1401,8 +1401,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 ] ) {