Index: AlarmMgmt.c =================================================================== diff -u -r68babd71d4e4fe088d302e4bf022868e23a88f40 -r2474fa0f2fb3f769fb0cfae7309fa039ec9a0185 --- AlarmMgmt.c (.../AlarmMgmt.c) (revision 68babd71d4e4fe088d302e4bf022868e23a88f40) +++ AlarmMgmt.c (.../AlarmMgmt.c) (revision 2474fa0f2fb3f769fb0cfae7309fa039ec9a0185) @@ -190,9 +190,11 @@ *************************************************************************/ void clearAlarmCondition( ALARM_ID_T alarm ) { + ALARM_T props; // Verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + props = getAlarmProperties( alarm ); // Clear alarm condition and broadcast alarm condition clear if not already cleared if ( TRUE == alarmIsDetected[ alarm ] ) { @@ -206,7 +208,14 @@ handleAutoResumeAlarm( alarm ); #endif #ifdef _DD_ - broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + if ( ALM_SRC_FP == props.alarmSource ) + { + broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_FP_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + } + else + { + broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + } #endif #ifdef _RO_ broadcastData( MSG_ID_ALARM_CONDITION_CLEARED, COMM_BUFFER_OUT_CAN_FP_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); @@ -240,9 +249,11 @@ *************************************************************************/ void clearAlarm( ALARM_ID_T alarm ) { + ALARM_T props; // Verify given alarm if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { + props = getAlarmProperties( alarm ); // Verify alarm can be cleared if ( FALSE == ALARM_TABLE[ alarm ].alarmNoClear ) { @@ -259,7 +270,14 @@ broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_TD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); #endif #ifdef _DD_ - broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + if ( ALM_SRC_FP == props.alarmSource ) + { + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_FP_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + } + else + { + broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_DD_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) ); + } #endif #ifdef _RO_ broadcastData( MSG_ID_ALARM_CLEARED, COMM_BUFFER_OUT_CAN_FP_ALARM, (U08*)&data, sizeof( ALARM_ID_DATA_PUBLISH_T ) );