Index: firmware/checkAlarms.sh =================================================================== diff -u -r25698c7b702dbc1ebdd209eebdb908dbeb1594ae -r8b793075edebe4a88faf7ec197c2ea154ac1e1b0 --- firmware/checkAlarms.sh (.../checkAlarms.sh) (revision 25698c7b702dbc1ebdd209eebdb908dbeb1594ae) +++ firmware/checkAlarms.sh (.../checkAlarms.sh) (revision 8b793075edebe4a88faf7ec197c2ea154ac1e1b0) @@ -3,6 +3,9 @@ lineno=$(grep -n "ALARM_ID_NO_ALARM = 0" ../Common/AlarmDefs.h) lineno=${lineno%%:*} +alarmRankLineNo=$(grep -n "ALARM_RANK_TABLE" ../Common/AlarmDefs.h) +alarmRankLineNo=${alarmRankLineNo%%:*} + echo " #include #include @@ -15,6 +18,8 @@ { ALARM_ID_T alarm; U32 lineNumber = $lineno; + U32 alarmRankLineNumber = $alarmRankLineNo; + U32 index; for ( alarm = ALARM_ID_NO_ALARM; alarm < NUM_OF_ALARM_IDS; alarm++ ) { @@ -26,6 +31,27 @@ } } printf(\"Alarm table check completed!\n\"); + + for ( alarm = ALARM_ID_NO_ALARM; alarm < NUM_OF_ALARM_IDS; alarm++ ) + { + if ( ALARM_RANK_TABLE[ alarm ].alarmSubRank != ALARM_TABLE[ ALARM_RANK_TABLE[ alarm ].alarmID ].alarmSubRank ) + { + printf(\"\\\"AlarmDefs.h\\\", line %d: error #9999: Alarm has different rank from alarm property table!\n\", alarmRankLineNumber + alarm + 2 ); + exit(1); + } + } + + for ( index = 1; index < NUM_OF_ALARM_IDS; index++ ) + { + if ( ALARM_RANK_TABLE[ index - 1 ].alarmSubRank > ALARM_RANK_TABLE[ index ].alarmSubRank ) + { + alarmRankLineNumber += index + 1; + printf(\"\\\"AlarmDefs.h\\\", line %d: error #9999: Alarm Rank Index %i has higher rank than Index %i!\n\", alarmRankLineNumber, index, index - 1); + exit(1); + } + } + + printf(\"Alarm rank table check completed!\n\"); }" > alarmCheck.c gcc -o alarmCheck alarmCheck.c -I../App -I../App/Services -I../Common -I../FWCommon -I../include