Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r08cb5828a2843c39298df7119c3a1c0789c91f99 -r12e7dc7dbee475dbc5da6c13a00d1fd0752ea90e --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 08cb5828a2843c39298df7119c3a1c0789c91f99) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 12e7dc7dbee475dbc5da6c13a00d1fd0752ea90e) @@ -1160,7 +1160,7 @@ // If top alarm has clear only property or no other user options enabled for recoverable alarm and condition cleared, set user ack flag and block other flags if ( ( TRUE == ALARM_TABLE[ alarmStatus.alarmTop ].alarmClearOnly ) || - ( ( FALSE == alarmStatus.noClear ) && ( noResume ) && ( noRinseback ) && ( noEndTreatment ) && + ( ( FALSE == alarmStatus.noClear ) && ( TRUE == noResume ) && ( TRUE == noRinseback ) && ( TRUE == noEndTreatment ) && ( FALSE == alarmStatus.topAlarmConditionDetected ) ) ) { usrAckReq = TRUE; @@ -1169,6 +1169,15 @@ noEndTreatment = TRUE; } + // If AC power is out, block all user options + if ( TRUE == getCPLDACPowerLossDetected() ) + { + usrAckReq = FALSE; + noResume = TRUE; + noRinseback = TRUE; + noEndTreatment = TRUE; + } + // If in Treatment-Stop state or Fault/Service/Standby Mode, allow user to minimize the alarm window if ( ( MODE_FAUL == currentMode ) || ( MODE_SERV == currentMode ) || ( MODE_STAN == currentMode ) || ( ( MODE_TREA == currentMode ) && ( TREATMENT_STOP_STATE == getTreatmentState() ) ) )