Index: firmware/App/Drivers/GPIO.c =================================================================== diff -u -r380b0afc95467d0861ff3aa2cdcde5d5d7ac85e7 -r395522dffef1348e176564925656012f529c1910 --- firmware/App/Drivers/GPIO.c (.../GPIO.c) (revision 380b0afc95467d0861ff3aa2cdcde5d5d7ac85e7) +++ firmware/App/Drivers/GPIO.c (.../GPIO.c) (revision 395522dffef1348e176564925656012f529c1910) @@ -1,22 +1,23 @@ /************************************************************************** * -* Copyright (c) 2024-2024 Diality Inc. - All Rights Reserved. +* Copyright (c) 2024-2026 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 GPIO.c * -* @author (last) Sean -* @date (last) 07-Aug-2024 +* @author (last) Sean Nash +* @date (last) 24-Jan-2025 * -* @author (original) Sean +* @author (original) Sean Nash * @date (original) 07-Aug-2024 * ***************************************************************************/ #include "gio.h" #include "mibspi.h" +#include "reg_het.h" #include "GPIO.h" @@ -40,21 +41,24 @@ #define SAFETY_POST_NO_24V_RESTORE 2 ///< Safety shutdown POST failed because 24V was not restored when safety line reset. // GIO port A pin assignments for pins connected to CPLD -#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. -#define SAFETY_GIO_PORT_PIN 3U ///< GPIO pin ID on port A for safety shutdown output signal +#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 ///< 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 SAFE_GIO_PORT_PIN 2U ///< GPIO pin ID on port B for safety shutdown input signal. +#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 SAFE_GIO_PORT_PIN 2U ///< GPIO pin ID on port B for safety shutdown input signal. +#define SAFETY_GIO_PORT_PIN 3U ///< GPIO pin ID on port B for safety shutdown output signal // MIBSPI5 port pin assignments for pins connected to CPLD -#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. -#define AC_PRESENT_SPI5_PORT_MASK 0x00000001 ///< (SOMI[0] - re-purposed as output GPIO) for red alarm lamp signal. +#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. +#define AC_PRESENT_SPI5_PORT_MASK 0x00000001 ///< (NCS[0] - re-purposed as output GPIO) for AC present signal. +// MIBSPI3 port pin assignments for pins connected to CPLD +#define BACKUP_AUDIO_ENABLE_SPI3_PORT_MASK 0x00000001 ///< (NCS[0] - re-purposed as output GPIO for backup alarm audio enable. + // CPLD pin I/O macros #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. @@ -80,7 +84,6 @@ #define CLR_SAFETY_SHUTDOWN() gioSetBit( gioPORTB, SAFETY_GIO_PORT_PIN, PIN_SIGNAL_LOW ) ///< Macro to set safety shutdown signal state low. // Backup alarm audio enable/disable macros -#define BACKUP_AUDIO_ENABLE_SPI3_PORT_MASK 0x00000001 ///< Pin SPI3-CS0 - re-purposed as output GPIO for backup alarm audio enable. #define SET_BACKUP_AUDIO_ENABLE() {mibspiREG3->PC3 |= BACKUP_AUDIO_ENABLE_SPI3_PORT_MASK;} ///< Macro to enable backup alarm audio. #define CLR_BACKUP_AUDIO_ENABLE() {mibspiREG3->PC3 &= ~BACKUP_AUDIO_ENABLE_SPI3_PORT_MASK;} ///< Macro to disable backup alarm audio.