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_HYSTERESIS 0x10 112 #define GPIO_HAL_PIN_CFG_EDGE_NONE 0x00 113 #define GPIO_HAL_PIN_CFG_EDGE_RISING 0x04 114 #define GPIO_HAL_PIN_CFG_EDGE_FALLING 0x08 115 #define GPIO_HAL_PIN_CFG_EDGE_BOTH (GPIO_HAL_PIN_CFG_EDGE_RISING | \ 116 GPIO_HAL_PIN_CFG_EDGE_FALLING) 118 #define GPIO_HAL_PIN_CFG_INT_DISABLE 0x00 119 #define GPIO_HAL_PIN_CFG_INT_ENABLE 0x80 120 #define GPIO_HAL_PIN_CFG_INT_MASK 0x80 131 gpio_hal_callback_t handler;
140 #define GPIO_HAL_PIN_UNKNOWN 0xFF 192 #define gpio_hal_pin_to_mask(pin) ((gpio_hal_pin_mask_t)1 << (pin)) 234 #ifdef GPIO_HAL_CONF_ARCH_HDR_PATH 235 #include GPIO_HAL_CONF_ARCH_HDR_PATH 238 #ifndef gpio_hal_arch_init 250 #ifndef gpio_hal_arch_interrupt_enable 263 #ifndef gpio_hal_arch_interrupt_disable 276 #ifndef gpio_hal_arch_pin_cfg_set 295 #ifndef gpio_hal_arch_pin_cfg_get 309 #ifndef gpio_hal_arch_pin_set_input 325 #ifndef gpio_hal_arch_pin_set_output 341 #ifndef gpio_hal_arch_set_pin 354 #ifndef gpio_hal_arch_clear_pin 367 #ifndef gpio_hal_arch_toggle_pin 385 #ifndef gpio_hal_arch_read_pin 400 #ifndef gpio_hal_arch_write_pin 414 #ifndef gpio_hal_arch_set_pins 430 #ifndef gpio_hal_arch_clear_pins 446 #ifndef gpio_hal_arch_toggle_pins 467 #ifndef gpio_hal_arch_read_pins 486 #ifndef gpio_hal_arch_write_pins Datatype for GPIO event handlers.
void gpio_hal_arch_init(void)
Perform architecture specific gpio initaliaztion.
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.
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.
uint32_t gpio_hal_pin_cfg_t
GPIO pin configuration.
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.