# wifiiot\_gpio\_ex.h ## **Overview** **Related Modules:** [Wifiiot](Wifiiot.md) **Description:** Declares the extended GPIO interface functions. These functions are used for settings GPIO pulls and driver strength. **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Enumerations

Enumeration Name

Description

WifiIotIoName {   WIFI_IOT_IO_NAME_GPIO_0, WIFI_IOT_IO_NAME_GPIO_1, WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_IO_NAME_GPIO_3,   WIFI_IOT_IO_NAME_GPIO_4, WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_NAME_GPIO_6, WIFI_IOT_IO_NAME_GPIO_7,   WIFI_IOT_IO_NAME_GPIO_8, WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_NAME_GPIO_11,   WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_NAME_GPIO_13, WIFI_IOT_IO_NAME_GPIO_14, WIFI_IOT_IO_NAME_MAX }

Enumerates GPIO hardware pin IDs.

WifiIotIoFuncGpio0 {   WIFI_IOT_IO_FUNC_GPIO_0_GPIO, WIFI_IOT_IO_FUNC_GPIO_0_UART1_TXD = 2, WIFI_IOT_IO_FUNC_GPIO_0_SPI1_CK, WIFI_IOT_IO_FUNC_GPIO_0_JTAG_TDO,   WIFI_IOT_IO_FUNC_GPIO_0_PWM3_OUT, WIFI_IOT_IO_FUNC_GPIO_0_I2C1_SDA }

Enumerates the functions of GPIO hardware pin 0.

WifiiIotIoFuncGpio1 { WIFI_IOT_IO_FUNC_GPIO_1_GPIO }

Enumerates the functions of GPIO hardware pin 1.

WifiIotIoFuncGpio2 {   WIFI_IOT_IO_FUNC_GPIO_2_GPIO, WIFI_IOT_IO_FUNC_GPIO_2_UART1_RTS_N = 2, WIFI_IOT_IO_FUNC_GPIO_2_SPI1_TXD, WIFI_IOT_IO_FUNC_GPIO_2_JTAG_TRSTN,   WIFI_IOT_IO_FUNC_GPIO_2_PWM2_OUT, WIFI_IOT_IO_FUNC_GPIO_2_SSI_CLK = 7 }

Enumerates the functions of GPIO hardware pin 2.

WifiIotIoFuncGpio3 {   WIFI_IOT_IO_FUNC_GPIO_3_GPIO, WIFI_IOT_IO_FUNC_GPIO_3_UART0_TXD, WIFI_IOT_IO_FUNC_GPIO_3_UART1_CTS_N, WIFI_IOT_IO_FUNC_GPIO_3_SPI1_CSN,   WIFI_IOT_IO_FUNC_GPIO_3_JTAG_TDI, WIFI_IOT_IO_FUNC_GPIO_3_PWM5_OUT, WIFI_IOT_IO_FUNC_GPIO_3_I2C1_SDA, WIFI_IOT_IO_FUNC_GPIO_3_SSI_DATA }

Enumerates the functions of GPIO hardware pin 3.

WifiIotIoFuncGpio4 {   WIFI_IOT_IO_FUNC_GPIO_4_GPIO, WIFI_IOT_IO_FUNC_GPIO_4_UART0_RXD = 2, WIFI_IOT_IO_FUNC_GPIO_4_JTAG_TMS = 4, WIFI_IOT_IO_FUNC_GPIO_4_PWM1_OUT,   WIFI_IOT_IO_FUNC_GPIO_4_I2C1_SCL }

Enumerates the functions of GPIO hardware pin 4.

WifiIotIoFuncGpio5 {   WIFI_IOT_IO_FUNC_GPIO_5_GPIO, WIFI_IOT_IO_FUNC_GPIO_5_UART1_RXD = 2, WIFI_IOT_IO_FUNC_GPIO_5_SPI0_CSN, WIFI_IOT_IO_FUNC_GPIO_5_PWM2_OUT = 5,   WIFI_IOT_IO_FUNC_GPIO_5_I2S0_MCLK, WIFI_IOT_IO_FUNC_GPIO_5_BT_STATUS }

Enumerates the functions of GPIO hardware pin 5.

WifiIotIoFuncGpio6 {   WIFI_IOT_IO_FUNC_GPIO_6_GPIO, WIFI_IOT_IO_FUNC_GPIO_6_UART1_TXD = 2, WIFI_IOT_IO_FUNC_GPIO_6_SPI0_CK, WIFI_IOT_IO_FUNC_GPIO_6_PWM3_OUT = 5,   WIFI_IOT_IO_FUNC_GPIO_6_I2S0_TX, WIFI_IOT_IO_FUNC_GPIO_6_COEX_SWITCH }

Enumerates the functions of GPIO hardware pin 6.

WifiIotIoFuncGpio7 {   WIFI_IOT_IO_FUNC_GPIO_7_GPIO, WIFI_IOT_IO_FUNC_GPIO_7_UART1_CTS_N = 2, WIFI_IOT_IO_FUNC_GPIO_7_SPI0_RXD, WIFI_IOT_IO_FUNC_GPIO_7_PWM0_OUT = 5,   WIFI_IOT_IO_FUNC_GPIO_7_I2S0_BCLK, WIFI_IOT_IO_FUNC_GPIO_7_BT_ACTIVE }

Enumerates the functions of GPIO hardware pin 7.

WifiIotIoFuncGpio8 {   WIFI_IOT_IO_FUNC_GPIO_8_GPIO, WIFI_IOT_IO_FUNC_GPIO_8_UART1_RTS_N = 2, WIFI_IOT_IO_FUNC_GPIO_8_SPI0_TXD, WIFI_IOT_IO_FUNC_GPIO_8_PWM1_OUT = 5,   WIFI_IOT_IO_FUNC_GPIO_8_I2S0_WS, WIFI_IOT_IO_FUNC_GPIO_8_WLAN_ACTIVE }

Enumerates the functions of GPIO hardware pin 8.

WifiIotIoFuncGpio9 {   WIFI_IOT_IO_FUNC_GPIO_9_GPIO, WIFI_IOT_IO_FUNC_GPIO_9_I2C0_SCL, WIFI_IOT_IO_FUNC_GPIO_9_UART2_RTS_N, WIFI_IOT_IO_FUNC_GPIO_9_SDIO_D2,   WIFI_IOT_IO_FUNC_GPIO_9_SPI0_TXD, WIFI_IOT_IO_FUNC_GPIO_9_PWM0_OUT, WIFI_IOT_IO_FUNC_GPIO_9_I2S0_MCLK = 7 }

Enumerates the functions of GPIO hardware pin 9.

WifiIotIoFuncGpio10 {   WIFI_IOT_IO_FUNC_GPIO_10_GPIO, WIFI_IOT_IO_FUNC_GPIO_10_I2C0_SDA, WIFI_IOT_IO_FUNC_GPIO_10_UART2_CTS_N, WIFI_IOT_IO_FUNC_GPIO_10_SDIO_D3,   WIFI_IOT_IO_FUNC_GPIO_10_SPI0_CK, WIFI_IOT_IO_FUNC_GPIO_10_PWM1_OUT, WIFI_IOT_IO_FUNC_GPIO_10_I2S0_TX = 7 }

Enumerates the functions of GPIO hardware pin 10.

WifiIotIoFuncGpio11 {   WIFI_IOT_IO_FUNC_GPIO_11_GPIO, WIFI_IOT_IO_FUNC_GPIO_11_UART2_TXD = 2, WIFI_IOT_IO_FUNC_GPIO_11_SDIO_CMD, WIFI_IOT_IO_FUNC_GPIO_11_SPI0_RXD,   WIFI_IOT_IO_FUNC_GPIO_11_PWM2_OUT, WIFI_IOT_IO_FUNC_GPIO_11_RF_TX_EN_EXT, WIFI_IOT_IO_FUNC_GPIO_11_I2S0_RX }

Enumerates the functions of GPIO hardware pin 11.

WifiIotIoFuncGpio12 {   WIFI_IOT_IO_FUNC_GPIO_12_GPIO, WIFI_IOT_IO_FUNC_GPIO_12_UART2_RXD = 2, WIFI_IOT_IO_FUNC_GPIO_12_SDIO_CLK, WIFI_IOT_IO_FUNC_GPIO_12_SPI0_CSN,   WIFI_IOT_IO_FUNC_GPIO_12_PWM3_OUT, WIFI_IOT_IO_FUNC_GPIO_12_RF_RX_EN_EXT, WIFI_IOT_IO_FUNC_GPIO_12_I2S0_BCLK }

Enumerates the functions of GPIO hardware pin 12.

WifiIotIoFuncGpio13 {   WIFI_IOT_IO_FUNC_GPIO_13_SSI_DATA, WIFI_IOT_IO_FUNC_GPIO_13_UART0_TXD, WIFI_IOT_IO_FUNC_GPIO_13_UART2_RTS_N, WIFI_IOT_IO_FUNC_GPIO_13_SDIO_D0,   WIFI_IOT_IO_FUNC_GPIO_13_GPIO, WIFI_IOT_IO_FUNC_GPIO_13_PWM4_OUT, WIFI_IOT_IO_FUNC_GPIO_13_I2C0_SDA, WIFI_IOT_IO_FUNC_GPIO_13_I2S0_WS }

Enumerates the functions of GPIO hardware pin 13.

WifiIotIoFuncGpio14 {   WIFI_IOT_IO_FUNC_GPIO_14_SSI_CLK, WIFI_IOT_IO_FUNC_GPIO_14_UART0_RXD, WIFI_IOT_IO_FUNC_GPIO_14_UART2_CTS_N, WIFI_IOT_IO_FUNC_GPIO_14_SDIO_D1,   WIFI_IOT_IO_FUNC_GPIO_14_GPIO, WIFI_IOT_IO_FUNC_GPIO_14_PWM5_OUT, WIFI_IOT_IO_FUNC_GPIO_14_I2C0_SCL }

Enumerates the functions of GPIO hardware pin 14.

WifiIotIoDriverStrength {   WIFI_IOT_IO_DRIVER_STRENGTH_0 = 0, WIFI_IOT_IO_DRIVER_STRENGTH_1, WIFI_IOT_IO_DRIVER_STRENGTH_2, WIFI_IOT_IO_DRIVER_STRENGTH_3,   WIFI_IOT_IO_DRIVER_STRENGTH_4, WIFI_IOT_IO_DRIVER_STRENGTH_5, WIFI_IOT_IO_DRIVER_STRENGTH_6, WIFI_IOT_IO_DRIVER_STRENGTH_7,   WIFI_IOT_IO_DRIVER_STRENGTH_MAX }

Enumerates I/O driver strength levels.

WifiIotIoPull { WIFI_IOT_IO_PULL_NONE, WIFI_IOT_IO_PULL_UP, WIFI_IOT_IO_PULL_DOWN, WIFI_IOT_IO_PULL_MAX }

Enumerates GPIO pull-up or pull-down settings.

## Functions

Function Name

Description

IoSetPull (WifiIotIoName id, WifiIotIoPull val)

unsigned int 

Sets the pull for a GPIO pin.

IoSetFunc (WifiIotIoName id, unsigned char val)

unsigned int 

Sets the multiplexing function for a GPIO pin.

IoGetPull (WifiIotIoName id, WifiIotIoPull *val)

unsigned int 

Obtains the pull type of a GPIO pin.

IoGetFunc (WifiIotIoName id, unsigned char *val)

unsigned int 

Obtains the multiplexing function for a GPIO pin.

IOGetDriverStrength (WifiIotIoName id, WifiIotIoDriverStrength *val)

unsigned int 

Obtains the driver strength of a GPIO pin.

IOSetDriverStrength (WifiIotIoName id, WifiIotIoDriverStrength val)

unsigned int 

Sets the driver strength of a GPIO pin.