68 #ifdef GPIO_HAL_CONF_ARCH_SW_TOGGLE 69 #define GPIO_HAL_ARCH_SW_TOGGLE GPIO_HAL_CONF_ARCH_SW_TOGGLE 71 #define GPIO_HAL_ARCH_SW_TOGGLE 1 87 #ifdef GPIO_HAL_CONF_PIN_COUNT 88 #define GPIO_HAL_PIN_COUNT GPIO_HAL_CONF_PIN_COUNT 90 #define GPIO_HAL_PIN_COUNT 32 93 #if GPIO_HAL_PIN_COUNT > 32 104 #define GPIO_HAL_PIN_CFG_PULL_NONE 0x00 105 #define GPIO_HAL_PIN_CFG_PULL_UP 0x01 106 #define GPIO_HAL_PIN_CFG_PULL_DOWN 0x02 107 #define GPIO_HAL_PIN_CFG_PULL_MASK (GPIO_HAL_PIN_CFG_PULL_UP | \ 108 GPIO_HAL_PIN_CFG_PULL_DOWN) 110 #define GPIO_HAL_PIN_CFG_EDGE_NONE 0x00 111 #define GPIO_HAL_PIN_CFG_EDGE_RISING 0x04 112 #define GPIO_HAL_PIN_CFG_EDGE_FALLING 0x08 113 #define GPIO_HAL_PIN_CFG_EDGE_BOTH (GPIO_HAL_PIN_CFG_EDGE_RISING | \ 114 GPIO_HAL_PIN_CFG_EDGE_FALLING) 116 #define GPIO_HAL_PIN_CFG_INT_DISABLE 0x00 117 #define GPIO_HAL_PIN_CFG_INT_ENABLE 0x80 118 #define GPIO_HAL_PIN_CFG_INT_MASK 0x80 129 gpio_hal_callback_t handler;
138 #define GPIO_HAL_PIN_UNKNOWN 0xFF 190 #define gpio_hal_pin_to_mask(pin) (1 << (pin)) 232 #ifdef GPIO_HAL_CONF_ARCH_HDR_PATH 233 #include GPIO_HAL_CONF_ARCH_HDR_PATH 236 #ifndef gpio_hal_arch_interrupt_enable 249 #ifndef gpio_hal_arch_interrupt_disable 262 #ifndef gpio_hal_arch_pin_cfg_set 281 #ifndef gpio_hal_arch_pin_cfg_get 295 #ifndef gpio_hal_arch_pin_set_input 311 #ifndef gpio_hal_arch_pin_set_output 327 #ifndef gpio_hal_arch_set_pin 340 #ifndef gpio_hal_arch_clear_pin 353 #ifndef gpio_hal_arch_toggle_pin 371 #ifndef gpio_hal_arch_read_pin 386 #ifndef gpio_hal_arch_write_pin 400 #ifndef gpio_hal_arch_set_pins 416 #ifndef gpio_hal_arch_clear_pins 432 #ifndef gpio_hal_arch_toggle_pins 453 #ifndef gpio_hal_arch_read_pins 472 #ifndef gpio_hal_arch_write_pins Datatype for GPIO event handlers.
void gpio_hal_arch_interrupt_disable(gpio_hal_pin_t pin)
Disable interrupts for a gpio pin.
void gpio_hal_arch_write_pins(gpio_hal_pin_mask_t pins, gpio_hal_pin_mask_t value)
Write multiple pins.
void gpio_hal_arch_pin_set_input(gpio_hal_pin_t pin)
Configure a pin as GPIO input.
void gpio_hal_arch_interrupt_enable(gpio_hal_pin_t pin)
Enable interrupts for a gpio pin.
void gpio_hal_init()
Initialise the GPIO HAL.
void gpio_hal_event_handler(gpio_hal_pin_mask_t pins)
The platform-independent GPIO event handler.
void gpio_hal_register_handler(gpio_hal_event_handler_t *handler)
Register a function to be called whenever a pin triggers an event.
uint8_t gpio_hal_pin_cfg_t
GPIO pin configuration.
void gpio_hal_arch_set_pin(gpio_hal_pin_t pin)
Set a GPIO pin to logical high.
gpio_hal_pin_mask_t gpio_hal_arch_read_pins(gpio_hal_pin_mask_t pins)
Read multiple pins.
void gpio_hal_arch_clear_pin(gpio_hal_pin_t pin)
Clear a GPIO pin (logical low)
void gpio_hal_arch_toggle_pin(gpio_hal_pin_t pin)
Toggle a GPIO pin.
void gpio_hal_arch_toggle_pins(gpio_hal_pin_mask_t pins)
Toggle multiple pins.
uint8_t gpio_hal_pin_t
GPIO pin number representation.
gpio_hal_pin_cfg_t gpio_hal_arch_pin_cfg_get(gpio_hal_pin_t pin)
Read the configuration of a GPIO pin.
uint32_t gpio_hal_pin_mask_t
GPIO pin mask representation.
struct gpio_hal_event_handler_s gpio_hal_event_handler_t
Datatype for GPIO event handlers.
uint8_t gpio_hal_arch_read_pin(gpio_hal_pin_t pin)
Read a GPIO pin.
void gpio_hal_arch_pin_set_output(gpio_hal_pin_t pin)
Configure a pin as GPIO output.
void gpio_hal_arch_clear_pins(gpio_hal_pin_mask_t pins)
Clear multiple pins to logical low.
void gpio_hal_arch_write_pin(gpio_hal_pin_t pin, uint8_t value)
Write a GPIO pin.
void gpio_hal_arch_set_pins(gpio_hal_pin_mask_t pins)
Set multiple pins to logical high.
void gpio_hal_arch_pin_cfg_set(gpio_hal_pin_t pin, gpio_hal_pin_cfg_t cfg)
Configure a gpio pin.