Hardware Abstraction Layer for FreeRTOS
gpio_prv.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <hal.h>
Include dependency graph for gpio_prv.h:

Go to the source code of this file.

Macros

#define GPIO_ALREDY_INITED   1
 
#define GPIO_ADDDEV(ns, p)   HAL_ADDDEV(gpio, ns, p)
 
#define GPIO_GET_DEV(index)   HAL_GET_DEV(gpio, index)
 
#define GPIO_OPS(ns)
 
#define GPIO_INIT_DEV(ns)
 
#define GPIO_INIT(ns, index)   struct gpio *gpio_init(uint32_t index)
 
#define GPIO_DEINIT(ns, g)   int32_t gpio_deinit(struct gpio *g)
 
#define GPIO_PIN_INIT(ns, g, p, dir, setting)   struct gpio_pin *gpioPin_init(struct gpio *g, uint32_t p, enum gpio_direction dir, enum gpio_setting setting)
 
#define GPIO_PIN_DEINIT(ns, p)   int32_t gpioPin_deinit(struct gpio_pin *p)
 
#define GPIO_PIN_ENABLE_INTERRUPT(ns, p)   int32_t gpioPin_enableInterrupt(struct gpio_pin *p)
 
#define GPIO_PIN_DISABLE_INTERRUPT(ns, p)   int32_t gpioPin_disableInterrupt(struct gpio_pin *p)
 
#define GPIO_PIN_SET_CALLBACK(ns, p, callback, data, inter)   int32_t gpioPin_setCallback(struct gpio_pin *p, bool (*callback)(struct gpio_pin *pin, uint32_t pinID, void *data), void *data, enum gpio_interrupt inter)
 
#define GPIO_PIN_SET_DIRECTION(ns, p, dir)   int32_t gpioPin_setDirection(struct gpio_pin *p, enum gpio_direction dir)
 
#define GPIO_PIN_SET_SETTING(ns, p, setting)   int32_t gpioPin_setSetting(struct gpio_pin *p, enum gpio_setting setting)
 
#define GPIO_PIN_SCHMITT_TRIGGER(ns, p, schmitt)   int32_t gpioPin_SchmittTrigger(struct gpio_pin *p, bool schmitt)
 
#define GPIO_PIN_SET_VALUE(ns, p, value)   int32_t gpioPin_setValue(struct gpio_pin *p, bool value)
 
#define GPIO_PIN_SET_PIN(ns, p)   int32_t gpioPin_setPin(struct gpio_pin *p)
 
#define GPIO_PIN_CLEAR_PIN(ns, p)   int32_t gpioPin_clearPin(struct gpio_pin *p)
 
#define GPIO_PIN_TOGGLE_PIN(ns, p)   int32_t gpioPin_togglePin(struct gpio_pin *p)
 
#define GPIO_PIN_GET_VALUE(ns, p)   bool gpioPin_getValue(struct gpio_pin *p)
 

Functions

int32_t gpio_genericInit (struct gpio *gpio)
 
 HAL_DEFINE_GLOBAL_ARRAY (gpio)
 

Macro Definition Documentation

◆ GPIO_ADDDEV

#define GPIO_ADDDEV (   ns,
 
)    HAL_ADDDEV(gpio, ns, p)

◆ GPIO_ALREDY_INITED

#define GPIO_ALREDY_INITED   1

◆ GPIO_DEINIT

#define GPIO_DEINIT (   ns,
 
)    int32_t gpio_deinit(struct gpio *g)

◆ GPIO_GET_DEV

#define GPIO_GET_DEV (   index)    HAL_GET_DEV(gpio, index)

◆ GPIO_INIT

#define GPIO_INIT (   ns,
  index 
)    struct gpio *gpio_init(uint32_t index)

◆ GPIO_INIT_DEV

#define GPIO_INIT_DEV (   ns)

◆ GPIO_OPS

#define GPIO_OPS (   ns)

◆ GPIO_PIN_CLEAR_PIN

#define GPIO_PIN_CLEAR_PIN (   ns,
 
)    int32_t gpioPin_clearPin(struct gpio_pin *p)

◆ GPIO_PIN_DEINIT

#define GPIO_PIN_DEINIT (   ns,
 
)    int32_t gpioPin_deinit(struct gpio_pin *p)

◆ GPIO_PIN_DISABLE_INTERRUPT

#define GPIO_PIN_DISABLE_INTERRUPT (   ns,
 
)    int32_t gpioPin_disableInterrupt(struct gpio_pin *p)

◆ GPIO_PIN_ENABLE_INTERRUPT

#define GPIO_PIN_ENABLE_INTERRUPT (   ns,
 
)    int32_t gpioPin_enableInterrupt(struct gpio_pin *p)

◆ GPIO_PIN_GET_VALUE

#define GPIO_PIN_GET_VALUE (   ns,
 
)    bool gpioPin_getValue(struct gpio_pin *p)

◆ GPIO_PIN_INIT

#define GPIO_PIN_INIT (   ns,
  g,
  p,
  dir,
  setting 
)    struct gpio_pin *gpioPin_init(struct gpio *g, uint32_t p, enum gpio_direction dir, enum gpio_setting setting)

◆ GPIO_PIN_SCHMITT_TRIGGER

#define GPIO_PIN_SCHMITT_TRIGGER (   ns,
  p,
  schmitt 
)    int32_t gpioPin_SchmittTrigger(struct gpio_pin *p, bool schmitt)

◆ GPIO_PIN_SET_CALLBACK

#define GPIO_PIN_SET_CALLBACK (   ns,
  p,
  callback,
  data,
  inter 
)    int32_t gpioPin_setCallback(struct gpio_pin *p, bool (*callback)(struct gpio_pin *pin, uint32_t pinID, void *data), void *data, enum gpio_interrupt inter)

◆ GPIO_PIN_SET_DIRECTION

#define GPIO_PIN_SET_DIRECTION (   ns,
  p,
  dir 
)    int32_t gpioPin_setDirection(struct gpio_pin *p, enum gpio_direction dir)

◆ GPIO_PIN_SET_PIN

#define GPIO_PIN_SET_PIN (   ns,
 
)    int32_t gpioPin_setPin(struct gpio_pin *p)

◆ GPIO_PIN_SET_SETTING

#define GPIO_PIN_SET_SETTING (   ns,
  p,
  setting 
)    int32_t gpioPin_setSetting(struct gpio_pin *p, enum gpio_setting setting)

◆ GPIO_PIN_SET_VALUE

#define GPIO_PIN_SET_VALUE (   ns,
  p,
  value 
)    int32_t gpioPin_setValue(struct gpio_pin *p, bool value)

◆ GPIO_PIN_TOGGLE_PIN

#define GPIO_PIN_TOGGLE_PIN (   ns,
 
)    int32_t gpioPin_togglePin(struct gpio_pin *p)

Function Documentation

◆ gpio_genericInit()

int32_t gpio_genericInit ( struct gpio *  gpio)

◆ HAL_DEFINE_GLOBAL_ARRAY()

HAL_DEFINE_GLOBAL_ARRAY ( gpio  )