/************************************************************************** * * Copyright (c) 2024-2025 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) 19-Sep-2024 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 * ***************************************************************************/ #ifndef __ALARM_LAMP_H__ #define __ALARM_LAMP_H__ #include "TDCommon.h" #include "MessageSupport.h" /** * @defgroup AlarmLamp AlarmLamp * @brief The Alarm Lamp unit manages the state of the alarm lamp and * provides functions for requesting alarm lamp patterns, testing the * alarm lamp, and getting the alarm lamp state. * * @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 ); LAMP_PATTERN_T getCurrentAlarmLampPattern( void ); BOOL getAlarmLampOn( void ); SELF_TEST_STATUS_T execAlarmLampTest( void ); void resetAlarmLampPOSTState( void ); BOOL testAlarmLampPatternOverride( MESSAGE_T *message ); /**@}*/ #endif