Index: App/Controllers/AlarmLamp.c =================================================================== diff -u -r3323966fe741edbb36dffc78317ccf06ed93a68e -r40a959e1341c8964f872df462ac3a2d874e3b0b3 --- App/Controllers/AlarmLamp.c (.../AlarmLamp.c) (revision 3323966fe741edbb36dffc78317ccf06ed93a68e) +++ App/Controllers/AlarmLamp.c (.../AlarmLamp.c) (revision 40a959e1341c8964f872df462ac3a2d874e3b0b3) @@ -17,6 +17,7 @@ #include #include "Common.h" #include "CPLD.h" +#include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Timers.h" @@ -52,7 +53,7 @@ // ********** private data ********** -static LAMP_PATTERN_T currentLampPattern = LAMP_PATTERN_OFF; +DATA_DECL( LAMP_PATTERN_T, LampPattern, currentLampPattern, LAMP_PATTERN_OFF, LAMP_PATTERN_FAULT ); static LAMP_PATTERN_T pendingLampPattern = LAMP_PATTERN_OFF; static U32 currentLampPatternStep = 0; static U32 lampPatternStepTimer = 0; @@ -85,7 +86,6 @@ *************************************************************************/ void initAlarmLamp( void ) { - currentLampPattern = LAMP_PATTERN_OFF; pendingLampPattern = LAMP_PATTERN_OFF; currentLampPatternStep = 0; lampPatternStepTimer = 0; @@ -108,9 +108,9 @@ void execAlarmLamp( void ) { // if starting a new lamp pattern, reset pattern variables - if ( pendingLampPattern != currentLampPattern ) + if ( pendingLampPattern != currentLampPattern.data ) { - currentLampPattern = pendingLampPattern; + currentLampPattern.data = pendingLampPattern; currentLampPatternStep = 0; setAlarmLampToPatternStep(); @@ -122,10 +122,10 @@ } // control alarm lamp to currently set pattern (unless we're in manual pattern) - if ( currentLampPattern != LAMP_PATTERN_MANUAL ) + if ( getCurrentAlarmLampPattern() != LAMP_PATTERN_MANUAL ) { // if pattern step duration has elapsed, move to next step - if ( lampPatternStepTimer >= lampPatterns[currentLampPattern].duration[currentLampPatternStep] ) + if ( lampPatternStepTimer >= lampPatterns[getCurrentAlarmLampPattern()].duration[currentLampPatternStep] ) { // increment pattern step currentLampPatternStep++; @@ -170,10 +170,7 @@ * @param none * @return currentLampPattern *************************************************************************/ -LAMP_PATTERN_T getCurrentAlarmLampPattern( void ) -{ - return currentLampPattern; -} +DATA_GET( LAMP_PATTERN_T, getCurrentAlarmLampPattern, currentLampPattern ) /************************************************************************* * @brief execAlarmLampTest @@ -256,15 +253,15 @@ PIN_SIGNAL_STATE_T red = PIN_SIGNAL_LOW; lampPatternStepTimer = 0; - if ( lampPatterns[currentLampPattern].green[currentLampPatternStep] == LAMP_STATE_ON ) + if ( lampPatterns[getCurrentAlarmLampPattern()].green[currentLampPatternStep] == LAMP_STATE_ON ) { green = PIN_SIGNAL_HIGH; } - if ( lampPatterns[currentLampPattern].blue[currentLampPatternStep] == LAMP_STATE_ON ) + if ( lampPatterns[getCurrentAlarmLampPattern()].blue[currentLampPatternStep] == LAMP_STATE_ON ) { blue = PIN_SIGNAL_HIGH; } - if ( lampPatterns[currentLampPattern].red[currentLampPatternStep] == LAMP_STATE_ON ) + if ( lampPatterns[getCurrentAlarmLampPattern()].red[currentLampPatternStep] == LAMP_STATE_ON ) { red = PIN_SIGNAL_HIGH; } @@ -273,3 +270,24 @@ setCPLDLampBlue( blue ); setCPLDLampRed( red ); } + + +/************************************************************************* + * TEST SUPPORT FUNCTIONS + *************************************************************************/ + + +/************************************************************************* + * @brief testSetCurrentLampPatternOverride and testResetCurrentLampPatternOverride + * The testSetCurrentLampPatternOverride function overrides the state of the \n + * current alarm lamp pattern with a given pattern. \n + * The testResetCurrentLampPatternOverride function resets the override of the \n + * state of the alarm lamp pattern. + * @details + * Inputs : none + * Outputs : currentLampPattern + * @param state : override state for the alarm lamp pattern + * @return TRUE if override successful, FALSE if not + *************************************************************************/ +DATA_OVERRIDE_FUNC( LAMP_PATTERN_T, testSetCurrentLampPatternOverride, testResetCurrentLampPatternOverride, currentLampPattern ) +