Index: firmware/App/Services/AlarmMgmt.c =================================================================== diff -u -r926afe9b1d9cc6931cbca48080e4a66385a20239 -r79f3a45ee472c053fd191e8196245729703ebab3 --- firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 926afe9b1d9cc6931cbca48080e4a66385a20239) +++ firmware/App/Services/AlarmMgmt.c (.../AlarmMgmt.c) (revision 79f3a45ee472c053fd191e8196245729703ebab3) @@ -107,7 +107,7 @@ static U32 alarmStatusPublicationTimerCounter = 0; ///< Used to schedule alarm status publication to CAN bus. /// table - current state of each alarm -DATA_ARRAY_DECL( BOOL, AlarmStates, NUM_OF_ALARM_IDS, alarmIsActive ); +static BOOL alarmIsActive[ NUM_OF_ALARM_IDS ]; /// table - when alarm became active for each alarm (if active) or zero (if inactive) DATA_ARRAY_DECL( U32, AlarmStarts, NUM_OF_ALARM_IDS, alarmStartedAt ); @@ -127,7 +127,6 @@ static void resetAlarmPriorityFIFO( ALARM_PRIORITY_T priority ); -static DATA_ARRAY_GET_PROTOTYPE( BOOL, getAlarmActive, alarmID ); static DATA_ARRAY_GET_PROTOTYPE( U32, getAlarmStartTime, alarmID ); static DATA_GET_PROTOTYPE( U32, getPublishAlarmStatusInterval ); @@ -148,10 +147,7 @@ // initialize alarm states and start time stamps for ( a = ALARM_ID_NO_ALARM; a < NUM_OF_ALARM_IDS; a++ ) { - alarmIsActive[ a ].data = FALSE; - alarmIsActive[ a ].ovData = FALSE; - alarmIsActive[ a ].ovInitData = TRUE; - alarmIsActive[ a ].override = OVERRIDE_RESET; + alarmIsActive[ a ] = FALSE; alarmStartedAt[ a ].data = 0; alarmStartedAt[ a ].ovData = 0; alarmStartedAt[ a ].ovInitData = 0; @@ -220,7 +216,7 @@ if ( ( alarm > ALARM_ID_NO_ALARM ) && ( alarm < NUM_OF_ALARM_IDS ) ) { // no need to do anything if alarm is already active - if ( FALSE == getAlarmActive( alarm ) ) + if ( FALSE == alarmIsActive[ alarm ] ) { // if alarms silenced, end silence due to new alarm alarmStatus.alarmsSilenced = FALSE; @@ -230,7 +226,7 @@ requestNewOperationMode( MODE_FAUL ); } // activate alarm - alarmIsActive[ alarm ].data = TRUE; + alarmIsActive[ alarm ] = TRUE; alarmStartedAt[ alarm ].data = getMSTimerCount(); #ifdef DEBUG_ENABLED { @@ -263,7 +259,7 @@ void activateAlarmNoData( ALARM_ID_T alarm ) { // broadcast alarm and data if alarm not already active - if ( FALSE == alarmIsActive[ alarm ].data ) + if ( FALSE == alarmIsActive[ alarm ] ) { broadcastAlarmTriggered( (U16)alarm, blankAlarmData, blankAlarmData ); } @@ -285,7 +281,7 @@ void activateAlarm1Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData ) { // broadcast alarm and data if alarm not already active - if ( FALSE == alarmIsActive[ alarm ].data ) + if ( FALSE == alarmIsActive[ alarm ] ) { broadcastAlarmTriggered( (U16)alarm, alarmData, blankAlarmData ); } @@ -308,7 +304,7 @@ void activateAlarm2Data( ALARM_ID_T alarm, ALARM_DATA_T alarmData1, ALARM_DATA_T alarmData2 ) { // broadcast alarm and data if alarm not already active - if ( FALSE == alarmIsActive[ alarm ].data ) + if ( FALSE == alarmIsActive[ alarm ] ) { broadcastAlarmTriggered( (U16)alarm, alarmData1, alarmData2 ); } @@ -334,10 +330,10 @@ if ( FALSE == alarmTable[ alarm ].alarmNoClear ) { // clear alarm and broadcast alarm clear if not already cleared - if ( TRUE == alarmIsActive[ alarm ].data ) + if ( TRUE == alarmIsActive[ alarm ] ) { broadcastAlarmCleared( alarm ); - alarmIsActive[ alarm ].data = FALSE; + alarmIsActive[ alarm ] = FALSE; alarmStartedAt[ alarm ].data = 0; // clear FIFO if this alarm was in it if ( alarmPriorityFIFO[ alarmTable[ alarm ].alarmPriority ] == alarm ) @@ -365,23 +361,12 @@ *************************************************************************/ BOOL isAlarmActive( ALARM_ID_T alarm ) { - BOOL result = getAlarmActive( alarm ); + BOOL result = alarmIsActive[ alarm ]; return result; } /************************************************************************* - * @brief getAlarmActive - * The getAlarmActive function gets the active state of a given alarm. - * @details - * Inputs : alarmIsActive[] - * Outputs : none - * @param alarmID : ID of alarm to check - * @return TRUE if given alarm is active, FALSE if not - *************************************************************************/ -static DATA_ARRAY_GET( BOOL, getAlarmActive, alarmID, NUM_OF_ALARM_IDS-1, alarmIsActive, TRUE ) - -/************************************************************************* * @brief getAlarmStartTime * The getAlarmStartTime function gets the active state of a given alarm. * @details @@ -411,7 +396,7 @@ // update FIFOs per active alarms table for ( a = ALARM_ID_NO_ALARM; a < NUM_OF_ALARM_IDS; a++ ) { - if ( TRUE == getAlarmActive(a) ) + if ( TRUE == alarmIsActive[a] ) { ALARM_PRIORITY_T almPriority = alarmTable[ a ].alarmPriority; if ( ALARM_ID_NO_ALARM == alarmPriorityFIFO[ almPriority ] ) @@ -565,7 +550,7 @@ // update escalations for ( a = ALARM_ID_NO_ALARM; a < NUM_OF_ALARM_IDS; a++ ) { - if ( TRUE == getAlarmActive( a ) ) + if ( TRUE == alarmIsActive[ a ] ) { // does active alarm escalate? if ( ALARM_ID_NO_ALARM != alarmTable[ a ].alarmEscalatesTo ) @@ -635,7 +620,7 @@ // determine alarm flags for ( a = ALARM_ID_NO_ALARM; a < NUM_OF_ALARM_IDS; a++ ) { - if ( TRUE == getAlarmActive( a ) ) + if ( TRUE == alarmIsActive[ a ] ) { systemFault = ( TRUE == alarmTable[ a ].alarmIsFault ? TRUE : systemFault ); stop = ( TRUE == alarmTable[ a ].alarmStops ? TRUE : stop );