Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r23ad90c3d5f08e67a1142a68c73d79fedb752da9 -r23ceb0a80986f0d4e61ba366e6d9691e57c4b08b --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 23ad90c3d5f08e67a1142a68c73d79fedb752da9) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 23ceb0a80986f0d4e61ba366e6d9691e57c4b08b) @@ -259,8 +259,8 @@ } // If alarms silenced, end silence due to new alarm alarmStatus.alarmsSilenced = FALSE; - // If alarm is a fault, request transition to fault mode - if ( TRUE == ALARM_TABLE[ alarm ].alarmIsFault ) + // If alarm is a fault (and not in service mode), request transition to fault mode + if ( ( TRUE == ALARM_TABLE[ alarm ].alarmIsFault ) && ( getCurrentOperationMode() != MODE_SERV ) ) { requestNewOperationMode( MODE_FAUL ); } @@ -1058,6 +1058,7 @@ BOOL noEndTreatment = FALSE; BOOL usrAckReq = FALSE; BOOL noMinimize = TRUE; + HD_OP_MODE_T currentMode = getCurrentOperationMode(); ALARM_ID_T a; // Determine alarm flags @@ -1114,8 +1115,9 @@ noEndTreatment = TRUE; } - // If in Treatment-Stop state, allow user to minimize the alarm window - if ( ( MODE_TREA == getCurrentOperationMode() ) && ( TREATMENT_STOP_STATE == getTreatmentState() ) ) + // If in Treatment-Stop state or Fault Mode, allow user to minimize the alarm window + if ( ( MODE_SERV == currentMode ) || + ( ( MODE_TREA == currentMode ) && ( TREATMENT_STOP_STATE == getTreatmentState() ) ) ) { noMinimize = FALSE; }