Index: firmware/App/Drivers/CPLD.c =================================================================== diff -u -rde5a0d43bdef611d963d11855bc958a8d8899a09 -re003dea1ff697744317ca7ee8397a57d6aeaf8fc --- firmware/App/Drivers/CPLD.c (.../CPLD.c) (revision de5a0d43bdef611d963d11855bc958a8d8899a09) +++ firmware/App/Drivers/CPLD.c (.../CPLD.c) (revision e003dea1ff697744317ca7ee8397a57d6aeaf8fc) @@ -23,40 +23,45 @@ #include "WatchdogMgmt.h" #include "CPLD.h" +/** + * @addtogroup CPLD + * @{ + */ + // ********** private definitions ********** // GIO port A pin assignments for pins connected to CPLD -#define OFF_BUTTON_GIO_PORT_PIN 0U -#define STOP_BUTTON_GIO_PORT_PIN 1U +#define OFF_BUTTON_GIO_PORT_PIN 0U ///< GPIO pin ID on port A for off button input signal. +#define STOP_BUTTON_GIO_PORT_PIN 1U ///< GPIO pin ID on port A for stop button input signal. // GIO port B pin assignments for pins connected to CPLD -#define OFF_REQUEST_GIO_PORT_PIN 0U -#define WD_PET_GIO_PORT_PIN 1U -#define WD_EXP_GIO_PORT_PIN 2U +#define OFF_REQUEST_GIO_PORT_PIN 0U ///< GPIO pin ID on port B for power off request output signal. +#define WD_PET_GIO_PORT_PIN 1U ///< GPIO pin ID on port B for watchdog pet output signal. +#define WD_EXP_GIO_PORT_PIN 2U ///< GPIO pin ID on port B for watchdog expired input signal. // MIBSPI5 port pin assignments for pins connected to CPLD -#define GREEN_SPI5_PORT_MASK 0x00000200 // (CLK - re-purposed as output GPIO) -#define BLUE_SPI5_PORT_MASK 0x00000400 // (SIMO[0] - re-purposed as output GPIO) -#define RED_SPI5_PORT_MASK 0x00000800 // (SOMI[0] - re-purposed as output GPIO) +#define GREEN_SPI5_PORT_MASK 0x00000200 ///< (CLK - re-purposed as output GPIO) for green alarm lamp signal. +#define BLUE_SPI5_PORT_MASK 0x00000400 ///< (SIMO[0] - re-purposed as output GPIO) for blue alarm lamp signal. +#define RED_SPI5_PORT_MASK 0x00000800 ///< (SOMI[0] - re-purposed as output GPIO) for red alarm lamp signal. // CPLD pin I/O macros -#define GET_OFF() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, OFF_BUTTON_GIO_PORT_PIN)) -#define GET_STOP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, STOP_BUTTON_GIO_PORT_PIN)) -#define GET_WD_EXP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTB, WD_EXP_GIO_PORT_PIN)) +#define GET_OFF() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, OFF_BUTTON_GIO_PORT_PIN)) ///< Macro to get off button signal state. +#define GET_STOP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTA, STOP_BUTTON_GIO_PORT_PIN)) ///< Macro to get stop button signal state. +#define GET_WD_EXP() (PIN_SIGNAL_STATE_T)(gioGetBit(gioPORTB, WD_EXP_GIO_PORT_PIN)) ///< Macro to get watchdog expired signal state. -#define TGL_WD_PET() gioToggleBit( gioPORTB, WD_PET_GIO_PORT_PIN ) -#define TGL_OFF_REQ() gioToggleBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN) -#define SET_WD_PET() gioSetBit( gioPORTB, WD_PET_GIO_PORT_PIN, PIN_SIGNAL_HIGH ) -#define SET_OFF_REQ() gioSetBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN, PIN_SIGNAL_HIGH ) -#define SET_GREEN() {mibspiREG5->PC3 |= GREEN_SPI5_PORT_MASK;} -#define SET_BLUE() {mibspiREG5->PC3 |= BLUE_SPI5_PORT_MASK;} -#define SET_RED() {mibspiREG5->PC3 |= RED_SPI5_PORT_MASK;} +#define TGL_WD_PET() gioToggleBit( gioPORTB, WD_PET_GIO_PORT_PIN ) ///< Macro to toggle watchdog pet signal state. +#define TGL_OFF_REQ() gioToggleBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN) ///< Macro to toggle power off request signal state. +#define SET_WD_PET() gioSetBit( gioPORTB, WD_PET_GIO_PORT_PIN, PIN_SIGNAL_HIGH ) ///< Macro to set watchdog pet signal state high. +#define SET_OFF_REQ() gioSetBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN, PIN_SIGNAL_HIGH ) ///< Macro to set power off request signal state high. +#define SET_GREEN() {mibspiREG5->PC3 |= GREEN_SPI5_PORT_MASK;} ///< Macro to set green alarm lamp signal state high. +#define SET_BLUE() {mibspiREG5->PC3 |= BLUE_SPI5_PORT_MASK;} ///< Macro to set blue alarm lamp signal state high. +#define SET_RED() {mibspiREG5->PC3 |= RED_SPI5_PORT_MASK;} ///< Macro to set red alarm lamp signal state high. -#define CLR_WD_PET() gioSetBit( gioPORTB, WD_PET_GIO_PORT_PIN, PIN_SIGNAL_LOW ) -#define CLR_OFF_REQ() gioSetBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN, PIN_SIGNAL_LOW ) -#define CLR_GREEN() {mibspiREG5->PC3 &= ~GREEN_SPI5_PORT_MASK;} -#define CLR_BLUE() {mibspiREG5->PC3 &= ~BLUE_SPI5_PORT_MASK;} -#define CLR_RED() {mibspiREG5->PC3 &= ~RED_SPI5_PORT_MASK;} +#define CLR_WD_PET() gioSetBit( gioPORTB, WD_PET_GIO_PORT_PIN, PIN_SIGNAL_LOW ) ///< Macro to set watchdog pet signal state low. +#define CLR_OFF_REQ() gioSetBit( gioPORTB, OFF_REQUEST_GIO_PORT_PIN, PIN_SIGNAL_LOW ) ///< Macro to set power off request signal state low. +#define CLR_GREEN() {mibspiREG5->PC3 &= ~GREEN_SPI5_PORT_MASK;} ///< Macro to set green alarm lamp signal state low. +#define CLR_BLUE() {mibspiREG5->PC3 &= ~BLUE_SPI5_PORT_MASK;} ///< Macro to set blue alarm lamp signal state low. +#define CLR_RED() {mibspiREG5->PC3 &= ~RED_SPI5_PORT_MASK;} ///< Macro to set red alarm lamp signal state low. #ifdef RM46_EVAL_BOARD_TARGET // for RM46 eval board, user button B uses the MIBSPI1_nCS[4] pin, so need to re-purpose that pin as GPIO to see the button @@ -82,13 +87,13 @@ } #endif -/************************************************************************* - * @brief initCPLD - * The initCPLD function initializes the CPLD module. +/*********************************************************************//** + * @brief + * The initCPLD function initializes the CPLD module. All outputs to CPLD + * (watchdog pet, off request, and alarm lamp LEDs) are set to low. * @details * Inputs : none * Outputs : CPLD module signal outputs set to initial states. - * @param none * @return none *************************************************************************/ void initCPLD( void ) @@ -105,29 +110,27 @@ CLR_BLUE(); } -/************************************************************************* - * @brief toggleCPLDWatchdog +/*********************************************************************//** + * @brief * The toggleCPLDWatchdog function toggles the watchdog pet signal to CPLD. * @details * Inputs : none * Outputs : watchdog pet signal toggled. - * @param level : none * @return none *************************************************************************/ void toggleCPLDWatchdog( void ) { TGL_WD_PET(); } -/************************************************************************* - * @brief getCPLDWatchdogExpired - * The getCPLDWatchdogExpired function determines the current signal level \n +/*********************************************************************//** + * @brief + * The getCPLDWatchdogExpired function determines the current signal level * on the watchdog expired pin from the CPLD. * @details * Inputs : Signal from CPLD on watchdog expired pin. * Outputs : none - * @param none - * @return level : (LOW or HIGH) + * @return level (LOW or HIGH) *************************************************************************/ PIN_SIGNAL_STATE_T getCPLDWatchdogExpired( void ) { @@ -136,14 +139,14 @@ return level; } -/************************************************************************* - * @brief setCPLDLampGreen - * The setCPLDLampGreen function sets the alarm lamp green signal to CPLD \n +/*********************************************************************//** + * @brief + * The setCPLDLampGreen function sets the alarm lamp green signal to CPLD * to given level. * @details * Inputs : none * Outputs : alarm lamp green signal set to given level. - * @param level : LOW or HIGH + * @param level LOW or HIGH * @return none *************************************************************************/ void setCPLDLampGreen( PIN_SIGNAL_STATE_T level ) @@ -158,14 +161,14 @@ } } -/************************************************************************* - * @brief setCPLDLampBlue - * The setCPLDLampBlue function sets the alarm lamp blue signal to CPLD \n +/*********************************************************************//** + * @brief + * The setCPLDLampBlue function sets the alarm lamp blue signal to CPLD * to given level. * @details * Inputs : none * Outputs : alarm lamp blue signal set to given level. - * @param level : LOW or HIGH + * @param level LOW or HIGH * @return none *************************************************************************/ void setCPLDLampBlue( PIN_SIGNAL_STATE_T level ) @@ -180,14 +183,14 @@ } } -/************************************************************************* - * @brief setCPLDLampRed - * The setCPLDLampRed function sets the alarm lamp red signal to CPLD \n +/*********************************************************************//** + * @brief + * The setCPLDLampRed function sets the alarm lamp red signal to CPLD * to given level. * @details * Inputs : none * Outputs : alarm lamp red signal set to given level. - * @param level : LOW or HIGH + * @param level LOW or HIGH * @return none *************************************************************************/ void setCPLDLampRed( PIN_SIGNAL_STATE_T level ) @@ -202,9 +205,12 @@ } } -/************************************************************************* - * @brief toggleCPLDOffRequest - * The toggleCPLDOffRequest function toggles the off request signal to CPLD. +/*********************************************************************//** + * @brief + * The toggleCPLDOffRequest function toggles the off request signal to CPLD. + * The off request signal must be toggled 4 times, once every 50 ms, in order + * for the CPLD to accept the off request sequence and initiate system power + * down. * @details * Inputs : none * Outputs : off request signal toggled. @@ -215,15 +221,14 @@ TGL_OFF_REQ(); } -/************************************************************************* - * @brief getCPLDOffButton - * The getCPLDOffButton function determines the current signal level\n +/*********************************************************************//** + * @brief + * The getCPLDOffButton function determines the current signal level * on the off button pin from the CPLD. * @details * Inputs : Signal from CPLD on off button pin. * Outputs : none - * @param none - * @return level : (LOW or HIGH) + * @return level (LOW or HIGH) *************************************************************************/ PIN_SIGNAL_STATE_T getCPLDOffButton( void ) { @@ -237,15 +242,14 @@ return level; } -/************************************************************************* - * @brief getCPLDStopButton - * The getCPLDStopButton function determines the current signal level\n +/*********************************************************************//** + * @brief + * The getCPLDStopButton function determines the current signal level * on the stop button pin from the CPLD. * @details * Inputs : Signal from CPLD on off button pin. * Outputs : none - * @param none - * @return level : (LOW or HIGH) + * @return level (LOW or HIGH) *************************************************************************/ PIN_SIGNAL_STATE_T getCPLDStopButton( void ) { @@ -259,3 +263,4 @@ return level; } +/**@}*/