Index: firmware/App/Drivers/CPLD.h =================================================================== diff -u -rb64c49fdcf2b6d95e61e63f8e258c4e600935bbd -r6499ea25921fcf67826fa0c35bb03caf411ba542 --- firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision b64c49fdcf2b6d95e61e63f8e258c4e600935bbd) +++ firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) @@ -1,35 +1,69 @@ -/************************************************************************** - * - * 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 CPLD.h - * - * @date 20-Sep-2019 - * @author S. Nash - * - * @brief header file for CPLD driver. - * - **************************************************************************/ +/************************************************************************** +* +* Copyright (c) 2019-2023 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 CPLD.h +* +* @author (last) Dara Navaei +* @date (last) 21-Nov-2022 +* +* @author (original) Dara Navaei +* @date (original) 05-Nov-2019 +* +***************************************************************************/ #ifndef __CPLD_H__ #define __CPLD_H__ #include "DGCommon.h" + +/** + * @defgroup CPLD CPLD + * @brief CPLD module. + * + * @addtogroup CPLD + * @{ + */ + +// ********** public definitions ********** + +// **** Types **** + +/// List of pin signal states. +typedef enum Cpld_Clean_LED_Colors +{ + CPLD_CLEAN_LED_OFF = 0, ///< OFF + CPLD_CLEAN_LED_ORANGE, ///< Orange + CPLD_CLEAN_LED_YELLOW, ///< Yellow + CPLD_CLEAN_LED_BLUE, ///< Blue + NUM_OF_CPLD_CLEAN_LED_COLORS ///< Number of CPLD Clean LED colors +} CPLD_CLEAN_LED_COLORS_T; + +typedef struct +{ + U08 wdog; ///< Watchdog status (Expired True or False) + U08 audio; ///< Audio Alarm status (On / Off) + U08 fault_led; ///< Fault LED (On / Off) + U08 clean_led; ///< Clean / Disinfect LED (CPLD_CLEAN_LED_COLORS_T) +} CPLD_STATUS_T; // ********** public function prototypes ********** void initCPLD( void ); void toggleCPLDWatchdog( void ); -PIN_SIGNAL_STATE_T getCPLDWatchdogExpired( void ); +PIN_SIGNAL_STATE_T getCPLDWatchdogExpired( void ); + +void setCPLDCleanLEDColor( CPLD_CLEAN_LED_COLORS_T color ); +void setCPLDFaultLED( PIN_SIGNAL_STATE_T level, BOOL fault ); +void setCPLDFaultAudio( PIN_SIGNAL_STATE_T level ); +void getCPLDStatus( CPLD_STATUS_T *status ); + +void broadcastCPLDStatus( void ); + +/**@}*/ -#ifdef RM46_EVAL_BOARD_TARGET - PIN_SIGNAL_STATE_T getUserButtonState( void ); - void setUserLED( BOOL on ); - void toggleUserLED(); #endif - -#endif