/************************************************************************** * * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file AlarmLamp.h * * @author (last) Sean Nash * @date (last) 22-Sep-2020 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 * ***************************************************************************/ #ifndef __ALARM_LAMP_H__ #define __ALARM_LAMP_H__ #include "HDCommon.h" /** * @defgroup AlarmLamp AlarmLamp * @brief The Alarm Lamp module manages the state of the alarm lamp. * * @addtogroup AlarmLamp * @{ */ // ********** public definitions ********** /// Enumeration of alarm lamp patterns. typedef enum LampPatternEnum { LAMP_PATTERN_OFF = 0, ///< Alarm lamp pattern where lamp is off LAMP_PATTERN_OK, ///< Alarm lamp pattern for ok state LAMP_PATTERN_FAULT, ///< Alarm lamp pattern for fault state LAMP_PATTERN_HIGH_ALARM, ///< Alarm lamp pattern for high priority alarm state LAMP_PATTERN_MED_ALARM, ///< Alarm lamp pattern for medium priority alarm state LAMP_PATTERN_LOW_ALARM, ///< Alarm lamp pattern for low priority alarm state LAMP_PATTERN_MANUAL, ///< Alarm lamp pattern is managed manually in the state NUM_OF_LAMP_PATTERNS ///< Number of alarm lamp patterns } LAMP_PATTERN_T; // ********** public function prototypes ********** void initAlarmLamp( void ); void execAlarmLamp( void ); void requestAlarmLampPattern( LAMP_PATTERN_T lampPattern ); SELF_TEST_STATUS_T execAlarmLampTest( void ); LAMP_PATTERN_T getCurrentAlarmLampPattern( void ); BOOL getAlarmLampOn( void ); BOOL testSetCurrentLampPatternOverride( U32 value ); BOOL testResetCurrentLampPatternOverride( void ); /**@}*/ #endif