Index: firmware/App/Drivers/CPLD.h =================================================================== diff -u -r83b1a65b576994e1f8e1476629d8f1277cd67720 -r6499ea25921fcf67826fa0c35bb03caf411ba542 --- firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision 83b1a65b576994e1f8e1476629d8f1277cd67720) +++ firmware/App/Drivers/CPLD.h (.../CPLD.h) (revision 6499ea25921fcf67826fa0c35bb03caf411ba542) @@ -1,43 +1,69 @@ -/************************************************************************** - * - * Copyright (c) 2019-2019 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 "Common.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 ); + +/**@}*/ -void setCPLDLampGreen( PIN_SIGNAL_STATE_T level ); -void setCPLDLampBlue( PIN_SIGNAL_STATE_T level ); -void setCPLDLampRed( PIN_SIGNAL_STATE_T level ); - -void toggleCPLDOffRequest( void ); -PIN_SIGNAL_STATE_T getCPLDOffButton( void ); -PIN_SIGNAL_STATE_T getCPLDStopButton( void ); - -#ifdef RM46_EVAL_BOARD_TARGET - PIN_SIGNAL_STATE_T getUserButtonState( void ); - void setUserLED( BOOL on ); - void toggleUserLED(); #endif - -#endif