Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r1f3647830e9de0a1f0a4e445ce8d72d5525f51fb -r8592c629e9e6e212c1325239a21ceb641f9dc1fe --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 1f3647830e9de0a1f0a4e445ce8d72d5525f51fb) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 8592c629e9e6e212c1325239a21ceb641f9dc1fe) @@ -172,9 +172,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, blankAlarmData, blankAlarmData ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, blankAlarmData, blankAlarmData ); } else { @@ -199,9 +204,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, alarmData, blankAlarmData ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, alarmData, blankAlarmData ); } else { @@ -227,9 +237,14 @@ // verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + // broadcast alarm if not already active + if ( TRUE == alarmIsActive[alarm].data ) + { + broadcastAlarmTriggered( alarm, alarmData1, alarmData2 ); + } + // activate alarm alarmIsActive[alarm].data = TRUE; alarmStartedAt[alarm].data = getMSTimerCount(); - //broadcastAlarmTriggered( alarm, alarmData1, alarmData2 ); } else {