28 #include "generated/airframe.h"
29 #include "generated/modules.h"
36 #define GPIO_EXT_NOT_PROVIDED NULL
38 #ifndef GPIO_EXT_PROVIDER1
39 #define GPIO_EXT_PROVIDER1 GPIO_EXT_NOT_PROVIDED
41 #ifndef GPIO_EXT_PROVIDER2
42 #define GPIO_EXT_PROVIDER2 GPIO_EXT_NOT_PROVIDED
44 #ifndef GPIO_EXT_PROVIDER3
45 #define GPIO_EXT_PROVIDER3 GPIO_EXT_NOT_PROVIDED
47 #ifndef GPIO_EXT_PROVIDER4
48 #define GPIO_EXT_PROVIDER4 GPIO_EXT_NOT_PROVIDED
62 #define SAFE_CALL(_port, _fn, _args...) if(gpio_ext_impl[_port - GPIOEXT1] && gpio_ext_impl[_port - GPIOEXT1]->_fn) gpio_ext_impl[_port - GPIOEXT1]->_fn(_args);
68 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
78 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
88 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
102 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
112 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
122 if (port >= GPIOEXT1 && port < GPIOEXT1 + GPIOEXT_NB) {
Some architecture independent helper functions for GPIOs.
void __wrap_gpio_set(uint32_t port, uint32_t gpios)
uint32_t __wrap_gpio_get(uint32_t port, uint32_t gpios)
#define GPIO_EXT_PROVIDER2
void __wrap_gpio_toggle(uint32_t port, uint32_t gpios)
#define GPIO_EXT_PROVIDER1
void __real_gpio_set(uint32_t port, uint32_t gpios)
#define GPIO_EXT_PROVIDER3
void __wrap_gpio_setup_input(uint32_t port, uint32_t gpios)
#define GPIO_EXT_PROVIDER4
uint32_t __real_gpio_get(uint32_t port, uint32_t gpios)
#define SAFE_CALL(_port, _fn, _args...)
void __real_gpio_clear(uint32_t port, uint32_t gpios)
void __real_gpio_setup_output(uint32_t port, uint32_t gpios)
void __real_gpio_toggle(uint32_t port, uint32_t gpios)
void __real_gpio_setup_input(uint32_t port, uint32_t gpios)
static struct gpio_ext_functions * gpio_ext_impl[GPIOEXT_NB]
void __wrap_gpio_clear(uint32_t port, uint32_t gpios)
void __wrap_gpio_setup_output(uint32_t port, uint32_t gpios)
void(* setup_output)(uint32_t port, uint32_t gpios)
void(* setup_input)(uint32_t port, uint32_t gpios)
uint32_t(* get)(uint32_t port, uint32_t gpios)
void(* clear)(uint32_t port, uint32_t gpios)
void(* toggle)(uint32_t port, uint32_t gpios)
void(* set)(uint32_t port, uint32_t gpios)
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.