Index: firmware/App/Controllers/AlarmLamp.c =================================================================== diff -u -rd91a24c730aeb5cd7e3eba9ef4eca78e442911f8 -rd9d085cdca67200ecddbdfbc75c489e704b23081 --- firmware/App/Controllers/AlarmLamp.c (.../AlarmLamp.c) (revision d91a24c730aeb5cd7e3eba9ef4eca78e442911f8) +++ firmware/App/Controllers/AlarmLamp.c (.../AlarmLamp.c) (revision d9d085cdca67200ecddbdfbc75c489e704b23081) @@ -66,7 +66,8 @@ static OVERRIDE_U32_T currentLampPattern = { LAMP_PATTERN_MANUAL, LAMP_PATTERN_FAULT, LAMP_PATTERN_FAULT, 0 }; static LAMP_PATTERN_T pendingLampPattern = LAMP_PATTERN_MANUAL; ///< Pending alarm lamp pattern. static U32 currentLampPatternStep = 0; ///< Current alarm lamp pattern step. -static U32 lampPatternStepTimer = 0; ///< Timer counter for current alarm lamp pattern step. +static U32 lampPatternStepTimer = 0; ///< Timer counter for current alarm lamp pattern step. +static BOOL alarmLampOn = FALSE; ///< Flag indicates whether an any lamp is currently on. /// Two step alarm lamp patterns (repeating). const struct LampPatterns lampPatterns[ NUM_OF_LAMP_PATTERNS ] = { @@ -98,7 +99,8 @@ { pendingLampPattern = LAMP_PATTERN_MANUAL; currentLampPatternStep = 0; - lampPatternStepTimer = 0; + lampPatternStepTimer = 0; + alarmLampOn = FALSE; alarmLampSelfTestState = ALARM_LAMP_SELF_TEST_STATE_START; alarmLampSelfTestStepTimerCount = 0; @@ -189,6 +191,19 @@ return result; } + +/*********************************************************************//** + * @brief + * The getAlarmLampOn function gets the current alarm lamp on flag. + * @details + * Inputs : alarmLampOn + * Outputs : none + * @return alarmLampOn + *************************************************************************/ +BOOL getAlarmLampOn( void ) +{ + return alarmLampOn; +} /*********************************************************************//** * @brief @@ -268,19 +283,23 @@ PIN_SIGNAL_STATE_T green = PIN_SIGNAL_LOW; PIN_SIGNAL_STATE_T blue = PIN_SIGNAL_LOW; PIN_SIGNAL_STATE_T red = PIN_SIGNAL_LOW; - + + alarmLampOn = FALSE; lampPatternStepTimer = 0; if ( lampPatterns[ getCurrentAlarmLampPattern() ].green[ currentLampPatternStep ] == LAMP_STATE_ON ) { green = PIN_SIGNAL_HIGH; + alarmLampOn = TRUE; } if ( lampPatterns[ getCurrentAlarmLampPattern() ].blue[ currentLampPatternStep ] == LAMP_STATE_ON ) { blue = PIN_SIGNAL_HIGH; + alarmLampOn = TRUE; } if ( lampPatterns[ getCurrentAlarmLampPattern() ].red[ currentLampPatternStep ] == LAMP_STATE_ON ) { red = PIN_SIGNAL_HIGH; + alarmLampOn = TRUE; } #ifndef TASK_TIMING_OUTPUT_ENABLED