AIROC™ BTSDK v4.2 - Documentation | ||||
List of parameters and defined functions needed to access the General Purpose Input/Ouput (GPIO) driver. More...
Macros | |
#define | WICED_GPIO_ACTIVE_HIGH 1 |
#define | WICED_GPIO_ACTIVE_LOW 0 |
Typedefs | |
typedef enum WICED_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. | |
Enumerations | |
enum | WICED_GPIO_PIN_OUTPUT_CONFIG { GPIO_PIN_OUTPUT_LOW, GPIO_PIN_OUTPUT_HIGH } |
Pin output config. | |
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, GPIO_ARM_DRIVE_SEL_02MA = 0X40000000, GPIO_ARM_DRIVE_SEL_04MA = 0X40100000, GPIO_ARM_DRIVE_SEL_06MA = 0X40200000, GPIO_ARM_DRIVE_SEL_08MA = 0X40300000, GPIO_ARM_DRIVE_SEL_10MA = 0X40800000, GPIO_ARM_DRIVE_SEL_12MA = 0X40900000, GPIO_ARM_DRIVE_SEL_14MA = 0X40A00000, GPIO_ARM_DRIVE_SEL_16MA = 0X40B00000 } |
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_numbers_t { 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, WICED_GPIO_12, WICED_GPIO_13, WICED_GPIO_14, WICED_GPIO_15, WICED_GPIO_16, WICED_GPIO_17, WICED_GPIO_18, WICED_GPIO_19, WICED_GPIO_20, WICED_GPIO_21, WICED_GPIO_22, WICED_GPIO_23, WICED_GPIO_24, WICED_GPIO_25, WICED_GPIO_26, WICED_GPIO_27, WICED_GPIO_28, MAX_NUM_OF_GPIO } |
enum | wiced_bt_gpio_function_t { WICED_GPIO = 0, WICED_I2C_1_SCL, WICED_I2C_1_SDA, WICED_I2C_2_SCL, WICED_I2C_2_SDA, WICED_SPI_1_CLK, WICED_SPI_1_CS, WICED_SPI_1_MOSI, WICED_SPI_1_MISO, WICED_SPI_1_SLAVE_READY, WICED_SPI_1_IO2, WICED_SPI_1_IO3, WICED_SPI_1_INT, WICED_SPI_1_DCX, WICED_SPI_2_CLK, WICED_SPI_2_CS, WICED_SPI_2_MOSI, WICED_SPI_2_MISO, WICED_SPI_2_IO2, WICED_SPI_2_IO3, WICED_SPI_2_INT, WICED_SPI_2_DCX, WICED_SPI_3_CLK, WICED_SPI_3_CS, WICED_SPI_3_MOSI, WICED_SPI_3_MISO, WICED_SPI_3_INT, 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, WICED_AOA_0, WICED_AOA_1, WICED_AOA_2, WICED_AOD_0, WICED_I2S_MASTER_CLK, WICED_I2S_MASTER_WS, WICED_I2S_MASTER_DO, WICED_I2S_MASTER_DI, WICED_I2S_SLAVE_CLK, WICED_I2S_SLAVE_WS, WICED_I2S_SLAVE_DO, WICED_I2S_SLAVE_DI, WICED_PCM_CLK, WICED_PCM_SYNC, WICED_PCM_OUT, WICED_PCM_IN, 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_BT_GPIO_00, WICED_BT_GPIO_01, WICED_BT_GPIO_02, WICED_BT_GPIO_03, WICED_BT_GPIO_04, WICED_BT_GPIO_05, WICED_BT_GPIO_06, WICED_BT_GPIO_07, WICED_TX_FSM = 128, WICED_RX_FSM, WICED_RX_PU, WICED_ARM_GPIO_0, WICED_ARM_GPIO_1, WICED_ARM_GPIO_2, WICED_ARM_GPIO_3, WICED_ARM_GPIO_4, WICED_ARM_GPIO_5, WICED_ARM_GPIO_6, WICED_ARM_GPIO_7, WICED_ARM_A_GPIO_0, WICED_ARM_A_GPIO_1, WICED_ARM_A_GPIO_2, WICED_ARM_A_GPIO_3, WICED_ARM_A_GPIO_4, WICED_ARM_A_GPIO_5, WICED_ARM_A_GPIO_6, WICED_ARM_A_GPIO_7, WICED_ARM_PCM_IN, WICED_ARM_PCM_OUT, WICED_ARM_PCM_SYNC, WICED_ARM_PCM_CLK, WICED_ARM_SCB0_UART_RTS, WICED_ARM_SCB0_UART_CTS, WICED_ARM_SCB0_UART_RXD, WICED_ARM_SCB0_UART_TXD, WICED_ARM_SCB0_SPI_SELECT0, WICED_ARM_SCB0_SPI_SELECT1, WICED_ARM_SCB0_SPI_SELECT2, WICED_ARM_SCB0_SPI_SELECT3, WICED_ARM_SCB0_SPI_MOSI, WICED_ARM_SCB0_SPI_MISO, WICED_ARM_SCB0_SPI_CLK, WICED_ARM_SCB0_SCL, WICED_ARM_SCB0_SDA, WICED_ARM_SCB1_UART_RTS, WICED_ARM_SCB1_UART_CTS, WICED_ARM_SCB1_UART_RXD, WICED_ARM_SCB1_UART_TXD, WICED_ARM_SCB1_SPI_SELECT0, WICED_ARM_SCB1_SPI_SELECT1, WICED_ARM_SCB1_SPI_SELECT2, WICED_ARM_SCB1_SPI_SELECT3, WICED_ARM_SCB1_SPI_MOSI, WICED_ARM_SCB1_SPI_MISO, WICED_ARM_SCB1_SPI_CLK, WICED_ARM_SCB1_SCL, WICED_ARM_SCB1_SDA, WICED_ARM_TCPWM_TR_ALL_1, WICED_ARM_TCPWM_TR_ALL_2, WICED_ARM_TCPWM_TR_ALL_3, WICED_ARM_TCPWM_TR_ALL_4, WICED_ARM_TCPWM_OUT_11, WICED_ARM_TCPWM_OUT_12, WICED_ARM_TCPWM_OUT_21, WICED_ARM_TCPWM_OUT_22, WICED_ARM_I2S_MASTER_CLK, WICED_ARM_I2S_MASTER_WS, WICED_ARM_I2S_MASTER_DO, WICED_ARM_I2S_MASTER_DI, WICED_ARM_I2S_SLAVE_CLK, WICED_ARM_I2S_SLAVE_WS, WICED_ARM_I2S_SLAVE_DO, WICED_ARM_I2S_SLAVE_DI, WICED_ARM_DMIC_CK, WICED_ARM_DMIC_DQ, WICED_UNAVAILABLE = 0xFF } |
possible functions to be brought out through LHL GPIO's | |
enum | WICED_GPIO_STATUS_e { WICED_GPIO_FAILURE, WICED_GPIO_SUCCESS, WICED_GPIO_REMAPPED, WICED_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... | |
Functions | |
void | wiced_hal_gpio_init (void) |
Initializes the GPIO driver and its private values. More... | |
void | wiced_hal_gpio_configure_pin (uint32_t pin, uint32_t config, uint32_t outputVal) |
Configures a GPIO pin. More... | |
uint32_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... | |
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.