AIROC™ BTSDK v4.9 - Documentation | ||||
List of parameters and defined functions needed to access the General Purpose Input/Ouput (GPIO) driver. More...
Macros | |
#define | PIN_TO_PORT(x) (x / 16) |
Helper defines to convert schematic pins to internal port/pin assignments. More... | |
#define | PIN_TO_PIN(x) (x % 16) |
#define | WICED_GPIO_ACTIVE_HIGH 1 |
#define | WICED_GPIO_ACTIVE_LOW 0 |
#define | WICED_GPIO_ACTIVE_HIGH 1 |
#define | WICED_GPIO_ACTIVE_LOW 0 |
Typedefs | |
typedef enum GPIO_STATUS_e | wiced_bt_gpio_select_status_t |
Possible return values from wiced_hal_gpio_select_function(...), Callers only need to check for the GPIO_FAILURE case since any other status means success. | |
typedef enum wiced_bt_gpio_numbers_e | wiced_bt_gpio_numbers_t |
Enumerations | |
enum | tGPIO_PIN_OUTPUT_CONFIG { GPIO_PIN_OUTPUT_LOW, GPIO_PIN_OUTPUT_HIGH } |
Defines a driver to facilitate interfacing with the GPIO pins. More... | |
enum | { GPIO_EDGE_TRIGGER_MASK = 0x0001, GPIO_EDGE_TRIGGER = 0x0001, GPIO_LEVEL_TRIGGER = 0x0000, GPIO_TRIGGER_POLARITY_MASK = 0x0002, GPIO_TRIGGER_NEG = 0x0002, GPIO_DUAL_EDGE_TRIGGER_MASK = 0x0004, GPIO_EDGE_TRIGGER_BOTH = 0x0004, GPIO_EDGE_TRIGGER_SINGLE = 0x0000, GPIO_INTERRUPT_ENABLE_MASK = 0x0008, GPIO_INTERRUPT_ENABLE = 0x0008, GPIO_INTERRUPT_DISABLE = 0x0000, GPIO_EN_INT_MASK = GPIO_EDGE_TRIGGER_MASK | GPIO_TRIGGER_POLARITY_MASK | GPIO_DUAL_EDGE_TRIGGER_MASK | GPIO_INTERRUPT_ENABLE_MASK, GPIO_EN_INT_LEVEL_HIGH = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER, GPIO_EN_INT_LEVEL_LOW = GPIO_INTERRUPT_ENABLE | GPIO_LEVEL_TRIGGER | GPIO_TRIGGER_NEG, GPIO_EN_INT_RISING_EDGE = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER, GPIO_EN_INT_FALLING_EDGE = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_TRIGGER_NEG, GPIO_EN_INT_BOTH_EDGE = GPIO_INTERRUPT_ENABLE | GPIO_EDGE_TRIGGER | GPIO_EDGE_TRIGGER_BOTH, GPIO_INPUT_ENABLE = 0x0000, GPIO_OUTPUT_DISABLE = 0x0000, GPIO_OUTPUT_ENABLE = 0x4000, GPIO_KS_OUTPUT_ENABLE = 0x0001, GPIO_OUTPUT_FN_SEL_MASK = 0x0000, GPIO_OUTPUT_FN_SEL_SHIFT = 0, GPIO_GLOBAL_INPUT_ENABLE = 0x0000, GPIO_GLOBAL_INPUT_DISABLE = 0x0040, GPIO_PULL_UP_DOWN_NONE = 0x0000, GPIO_PULL_UP = 0x0400, GPIO_PULL_DOWN = 0x0200, GPIO_INPUT_DISABLE = 0x0600, GPIO_DRIVE_SEL_MASK = 0x0800, GPIO_DRIVE_SEL_LOWEST = 0x0000, GPIO_DRIVE_SEL_MIDDLE_0 = 0x0000, GPIO_DRIVE_SEL_MIDDLE_1 = 0x0800, GPIO_DRIVE_SEL_HIGHEST = 0x0800, GPIO_HYSTERESIS_MASK = 0x2000, GPIO_HYSTERESIS_ON = 0x2000, GPIO_HYSTERESIS_OFF = 0x0000 } |
The following enum defines the constant values for the GPIO driver and associated GPIOs, each of which has a set of configuration signals. More... | |
enum | wiced_bt_gpio_function_t { WICED_GPIO = 0, WICED_I2C_1_SCL, WICED_I2C_1_SDA, FCN_RESERVED_1, FCN_RESERVED_2, WICED_SPI_1_CLK, WICED_SPI_1_CS, WICED_SPI_1_MOSI, WICED_SPI_1_MISO, FCN_RESERVED_3, FCN_RESERVED_4, FCN_RESERVED_5, FCN_RESERVED_6, WICED_SPI_2_CLK, WICED_SPI_2_CS, WICED_SPI_2_MOSI, WICED_SPI_2_MISO, FCN_RESERVED_7, FCN_RESERVED_8, FCN_RESERVED_9, FCN_RESERVED_10, FCN_RESERVED_11, FCN_RESERVED_12, FCN_RESERVED_13, FCN_RESERVED_14, FCN_RESERVED_15, WICED_SWDCK, WICED_SWDIO, WICED_UART_1_TXD, WICED_UART_1_RXD, WICED_UART_1_CTS, WICED_UART_1_RTS, WICED_UART_2_TXD, WICED_UART_2_RXD, WICED_UART_2_CTS, WICED_UART_2_RTS, FCN_RESERVED_16, FCN_RESERVED_17, FCN_RESERVED_18, FCN_RESERVED_19, WICED_PCM_IN_I2S_DI, WICED_PCM_OUT_I2S_DO, WICED_PCM_SYNC_I2S_WS, WICED_PCM_CLK_I2S_CLK, FCN_RESERVED_20, FCN_RESERVED_21, FCN_RESERVED_22, FCN_RESERVED_23, FCN_RESERVED_24, FCN_RESERVED_25, FCN_RESERVED_26, FCN_RESERVED_27, WICED_GCI_SECI_IN, WICED_GCI_SECI_OUT, WICED_ACLK_0, WICED_ACLK_1, WICED_KSO0, WICED_KSO1, WICED_KSO2, WICED_KSO3, WICED_KSO4, WICED_KSO5, WICED_KSO6, WICED_KSO7, WICED_KSO8, WICED_KSO9, WICED_KSO10, WICED_KSO11, WICED_KSO12, WICED_KSO13, WICED_KSO14, WICED_KSO15, WICED_KSO16, WICED_KSO17, WICED_KSO18, WICED_KSO19, WICED_TX_PD, WICED_TX_PD_TILDA, WICED_PA_RAMP, WICED_PWM0, WICED_PWM1, WICED_PWM2, WICED_PWM3, WICED_PWM4, WICED_PWM5, BT_HOST_WAKE_PDM_CH2 = 5, BT_GPIO_0_PDM_CH1 = 5, BT_GPIO_2_I2S_DI = 4, BT_GPIO_2_PDM_CLK = 15, BT_GPIO_3_I2S_MWS = 3, BT_GPIO_3_I2S_SWS = 4, BT_GPIO_4_I2S_MDO = 3, BT_GPIO_4_I2S_SDO = 4, BT_GPIO_4_UART2_RTS = 11, BT_GPIO_4_I2C_SDA = 15, BT_GPIO_5_I2S_MCK = 3, BT_GPIO_5_I2S_SCK = 4, BT_GPIO_5_UART2_CTS = 11, BT_GPIO_5_I2C_SCL = 15, BT_I2S_CLK_PCM_CLK = 1, BT_I2S_CLK_I2S_MCK = 5, BT_I2S_CLK_I2S_SCK = 7, BT_I2S_CLK_UART2_TXD = 11, BT_I2S_DI_PCM_IN = 1, BT_I2S_DI_I2S_DI = 4, BT_I2S_DI_UART2_CTS = 11, BT_I2S_DI_I2C_SDA = 13, BT_I2S_DO_PCM_OUT = 1, BT_I2S_DO_I2S_SDO = 4, BT_I2S_DO_I2S_MDO = 5, BT_I2S_DO_UART2_RTS = 11, BT_I2S_DO_I2C_SCL = 12, BT_I2S_WS_PCM_SYNC = 1, BT_I2S_WS_I2S_MWS = 5, BT_I2S_WS_I2S_SWS = 7, BT_I2S_WS_UART2_RXD = 11, BT_PCM_CLK_PCM_CLK = 1, BT_PCM_CLK_I2S_MCK = 5, BT_PCM_CLK_I2S_SCK = 7, BT_PCM_IN_PCM_IN = 1, BT_PCM_IN_I2S_DI = 7, BT_PCM_IN_I2C_SCL = 12, BT_PCM_OUT_PCM_OUT = 1, BT_PCM_OUT_I2S_MDO = 5, BT_PCM_OUT_I2S_SDO = 7, BT_PCM_OUT_I2C_SDA = 12, BT_PCM_SYNC_PCM_SYNC = 1, BT_PCM_SYNC_I2S_MWS = 5, BT_PCM_SYNC_I2S_SWS = 7, WICED_UNAVAILABLE = 0xFF } |
possible functions to be brought out through LHL GPIO's More... | |
enum | GPIO_STATUS_e { GPIO_FAILURE, GPIO_SUCCESS, GPIO_REMAPPED, GPIO_MOVED } |
Possible return values from wiced_hal_gpio_select_function(...), Callers only need to check for the GPIO_FAILURE case since any other status means success. More... | |
enum | wiced_bt_gpio_numbers_e { WICED_P00 = 0, WICED_P01, WICED_P02, WICED_P03, WICED_P04, WICED_P05, WICED_P06, WICED_P07, WICED_P08, WICED_P09, WICED_P10, WICED_P11, WICED_P12, WICED_P13, WICED_P14, WICED_P15, WICED_P16, WICED_P17, WICED_P18, WICED_P19, WICED_P20, WICED_P21, WICED_P22, WICED_P23, WICED_P24, WICED_P25, WICED_P26, WICED_P27, WICED_P28, WICED_P29, WICED_P30, WICED_P31, WICED_P32, WICED_P33, WICED_P34, WICED_P35, WICED_P36, WICED_P37, WICED_P38, WICED_P39, WICED_GPIO_00, WICED_GPIO_01, WICED_GPIO_02, WICED_GPIO_03, WICED_GPIO_04, WICED_GPIO_05, WICED_GPIO_06, WICED_GPIO_07, WICED_GPIO_08, WICED_GPIO_09, WICED_GPIO_10, WICED_GPIO_11, RESERVED, WICED_GPIO_13, WICED_GPIO_14, RESERVED_1, RESERVED_2, WICED_WLAN_GPIO_01, WICED_WLAN_GPIO_02, WICED_WLAN_GPIO_03, WICED_WLAN_GPIO_04, WICED_WLAN_GPIO_05, RESERVED_3, RESERVED_4, WICED_WLAN_GPIO_08, WICED_WLAN_GPIO_09, WICED_WLAN_GPIO_10, WICED_WLAN_GPIO_11, WICED_WLAN_GPIO_12, WICED_WLAN_GPIO_13, WICED_WLAN_GPIO_14, WICED_WLAN_GPIO_15, MAX_NUM_OF_GPIO } |
Functions | |
void | wiced_hal_gpio_init (void) |
Initializes the GPIO driver and its private values. More... | |
uint8_t | wiced_hal_gpio_pin_to_port_pin (uint8_t pin) |
Convert a given schematic pin number (i.e. More... | |
void | wiced_hal_gpio_configure_pin (uint32_t pin, uint32_t config, uint32_t outputVal) |
Configures a GPIO pin. More... | |
uint16_t | wiced_hal_gpio_get_pin_config (uint32_t pin) |
Retrieve the current configuration of the specified pin. More... | |
void | wiced_hal_gpio_set_pin_output (uint32_t pin, uint32_t val) |
Sets the output value of a pin. More... | |
uint32_t | wiced_hal_gpio_get_pin_output (uint32_t pin) |
Get the programmed output value of a pin. More... | |
uint32_t | wiced_hal_gpio_get_pin_input_status (uint32_t pin) |
Read the current value at a pin. More... | |
uint32_t | wiced_hal_gpio_get_pin_interrupt_status (uint32_t pin) |
Get the interrupt status of a pin. More... | |
void | wiced_hal_gpio_register_pin_for_interrupt (uint16_t pin, void(*userfn)(void *, uint8_t), void *userdata) |
Register a function for notification of changes to a pin (via interrupt). More... | |
uint32_t | wiced_hal_gpio_clear_pin_interrupt_status (uint32_t pin) |
Clear the interrupt status of a pin manually. More... | |
void | wiced_hal_gpio_disable_all_inputs (void) |
Configures all gpios to be INPUT DISABLED. More... | |
void | wiced_hal_gpio_lhl_set_pin_mode (uint32_t pin, uint32_t mode) |
API to switch LHL GPIO mode to input/output. More... | |
void | wiced_hal_gpio_lhl_set_output (uint32_t pin, uint32_t value) |
API to set LHL GPIO to be high/low in the output mode. More... | |
wiced_bool_t | wiced_hal_gpio_slimboot_reenforce_cfg (uint8_t pin, uint16_t config) |
save the LHL GPIO configuration in AON memeory to reenforce in slimboot This is a must if we want to wake up in SDS by external LHL GPIO interrupts More... | |
wiced_bt_gpio_select_status_t | wiced_hal_gpio_select_function (wiced_bt_gpio_numbers_t pin, wiced_bt_gpio_function_t function) |
Configure a GPIO pin to have the chosen functionality. More... | |
List of parameters and defined functions needed to access the General Purpose Input/Ouput (GPIO) driver.