18#ifndef __HAL_DRIVER_GPIO_EXTI_H__
19#define __HAL_DRIVER_GPIO_EXTI_H__
25#if VSF_HAL_USE_GPIO == ENABLED
27#if defined(__VSF_HAL_USE_GPIO_EXTI_CLASS_IMPLEMENT)
28# undef __VSF_HAL_USE_GPIO_EXTI_CLASS_IMPLEMENT
29# define __VSF_CLASS_IMPLEMENT__
37#ifndef VSF_EXTI_GPIO_CFG_MULTI_CLASS
38# define VSF_EXTI_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS
41#define vsf_gpio_exti_irq_pin_config(__GPIO, ...) \
42 vsf_exti_gpio_exti_irq_pin_config((vsf_exti_gpio_t *)(__GPIO), ##__VA_ARGS__)
45#if VSF_EXTI_GPIO_CFG_MULTI_CLASS == ENABLED
46# define __describe_exti_gpio_op() .vsf_gpio.op = &vsf_exti_gpio_op,
48# define __describe_exti_gpio_op()
51#define __describe_exti_gpio(__name, __gpio, __pin_count, ...) \
52 static vsf_exti_gpio_irq_t VSF_MCONNECT(__name, _irqs)[__pin_count]; \
53 vsf_exti_gpio_t __name = { \
54 __describe_exti_gpio_op() \
55 .gpio = (vsf_gpio_t *)&__gpio, \
56 .prio = vsf_arch_prio_invalid, \
57 .exti_irq = VSF_MCONNECT(__name, _irqs), \
61#define describe_exti_gpio(__name, __gpio, ...) \
62 __describe_exti_gpio(__name, __gpio, __VA_ARGS__)
74#if VSF_EXTI_GPIO_CFG_MULTI_CLASS == ENABLED
84#define VSF_GPIO_CFG_DEC_PREFIX vsf_exti
85#define VSF_GPIO_CFG_DEC_UPCASE_PREFIX vsf_exti
86#define VSF_GPIO_CFG_DEC_EXTERN_OP ENABLED
vsf_err_t
Definition __type.h:42
vsf_arch_prio_t
Definition cortex_a_generic.h:88
vsf_err_t vsf_exti_gpio_exti_irq_pin_config(vsf_exti_gpio_t *hw_exti_gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_exti_irq_cfg_t *irq_cfg_ptr)
Definition exti_gpio.c:159
Definition exti_gpio.h:68
void * target_ptr
Definition exti_gpio.h:70
vsf_gpio_exti_isr_handler_t * handler_fn
Definition exti_gpio.h:69
Definition exti_gpio.h:73
vsf_gpio_t * gpio
Definition exti_gpio.h:77
vsf_exti_gpio_irq_t * exti_irq
Definition exti_gpio.h:79
vsf_arch_prio_t prio
Definition exti_gpio.h:78
vsf_gpio_t vsf_gpio
Definition exti_gpio.h:75
Definition vsf_template_gpio.h:407
Definition vsf_template_gpio.h:491
void vsf_gpio_exti_isr_handler_t(void *target_ptr, vsf_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
External interrupt callback function for gpio.
Definition vsf_template_gpio.h:402
#define vsf_gpio_pin_mask_t
Definition vsf_template_gpio.h:207