![]() |
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.