![]() |
EVE 1.0
|
Abstract IO extender driver. More...
#include <stdint.h>#include <stddef.h>#include <stdbool.h>#include <lib/assert.h>#include <dev/gpio.h>#include <core/atomic.h>#include <app_util_platform.h>#include <dev/irq.h>

Go to the source code of this file.
Data Structures | |
| struct | gpio_ext_state_t |
| struct | gpio_ext_init_pin_t |
| struct | gpio_ext_api_t |
| struct | gpio_ext_t |
Typedefs | |
| typedef void(* | gpio_ext_init_t) (const struct gpio_ext_t *GpioExt) |
| Virtual function initializes pins of an gpio expander to default values based on DRIVER_PORT_EXT_INIT_TABLE. | |
| typedef uint16_t(* | gpio_ext_inport_t) (const struct gpio_ext_t *GpioExt) |
| Virtual function reads from gpio expander port. | |
| typedef void(* | gpio_ext_outport_t) (const struct gpio_ext_t *GpioExt, uint16_t Value) |
| Virtual function writes to gpio expander port / pin direction register / pull select register / pull enable register / interrupt enable register / latch enable register. | |
| typedef void(* | gpio_ext_setdrive_t) (const struct gpio_ext_t *GpioExt, uint8_t Values[]) |
| Virtual function sets drive force to gpio expander pins. | |
Enumerations |
Functions | |
Functions called from application programs | |
| void | GpioExtInit (const struct gpio_ext_t *GpioExt) |
| Initialize IO expander driver and chip. More... | |
| static void | GpioExtPortWrite (const struct gpio_ext_t *GpioExt, uint16_t Value, uint16_t Mask) |
| Write 16-bits data to the GPIO port. More... | |
| static void | GpioExtPortSet (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| Set bits by mask in the GPIO port. More... | |
| static void | GpioExtPortClear (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| Clear bits by mask in the GPIO port. More... | |
| static void | GpioExtPortToggle (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| Invert bits by mask in the GPIO port. More... | |
| static void | GpioExtPinWrite (const struct gpio_ext_t *GpioExt, uint16_t Pin, uint16_t Value) |
| Set/clear 1 pin in the GPIO port. More... | |
| static void | GpioExtPinSet (const struct gpio_ext_t *GpioExt, uint16_t Pin) |
| Set 1 pin in the GPIO port. More... | |
| static void | GpioExtPinClear (const struct gpio_ext_t *GpioExt, uint16_t Pin) |
| Clear 1 pin in the GPIO port. More... | |
| static void | GpioExtPinToggle (const struct gpio_ext_t *GpioExt, uint16_t Pin) |
| Invert 1 pin in the GPIO port. More... | |
| static uint16_t | GpioExtPortRead (const struct gpio_ext_t *GpioExt) |
| Read all the pins from the GPIO port. More... | |
| static uint8_t | GpioExtPinRead (const struct gpio_ext_t *GpioExt, uint16_t Pin) |
| Read a pin value from the GPIO port. More... | |
| void | GpioExtPortSetup (const struct gpio_ext_t *GpioExt, uint16_t Direction, uint16_t PullSelect, uint16_t PullEnable, uint16_t Mask) |
| Set IO expander ports to input or output. More... | |
| static uint16_t | GpioExtInterruptsClear (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| static uint16_t | GpioExtInterruptsRead (const struct gpio_ext_t *GpioExt) |
| static void | GpioExtInterruptsEnable (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| static void | GpioExtInterruptsDisable (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| static void | GpioExtSetDrive (const struct gpio_ext_t *GpioExt, uint8_t Values[]) |
| static void | GpioExtSetLatch (const struct gpio_ext_t *GpioExt, uint16_t Mask) |
| static uint8_t | GpioExtCheckStatus (const struct gpio_ext_t *GpioExt) |
| Check status of GpioExt operations and reset status to GPIO_EXT_STATUS_OK. More... | |
Abstract IO extender driver.
Definition in file gpio-ext.h.