Index: firmware/App/Modes/ModeService.c =================================================================== diff -u -r24b2fe72608344e67ef37234085d15ad5e4fcc37 -r4b750c76b15ab2a0d76c76b2d36997fe472e3693 --- firmware/App/Modes/ModeService.c (.../ModeService.c) (revision 24b2fe72608344e67ef37234085d15ad5e4fcc37) +++ firmware/App/Modes/ModeService.c (.../ModeService.c) (revision 4b750c76b15ab2a0d76c76b2d36997fe472e3693) @@ -53,6 +53,9 @@ setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, FALSE ); + // Activate alarm to indicate we are in service mode now + activateAlarmNoData( ALARM_ID_SERVICE_MODE ); + return 0; } Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r8ab6ad712eff055f98fc962ae97af1ef80d30e17 -r4b750c76b15ab2a0d76c76b2d36997fe472e3693 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 8ab6ad712eff055f98fc962ae97af1ef80d30e17) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 4b750c76b15ab2a0d76c76b2d36997fe472e3693) @@ -258,8 +258,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 ); }