Go to the documentation of this file.
22#if VSF_HAL_USE_GPIO == ENABLED
24#define VSF_GPIO_CFG_RETAIN_DEFINED_PREFIX ENABLED
26#undef VSF_GPIO_CFG_RETAIN_DEFINED_PREFIX
28#define VSF_IMP_GPIO_EXTI_PORT_MASK VSF_MCONNECT(VSF_GPIO_CFG_IMP_UPCASE_PREFIX, _GPIO_EXTI_PORT_MASK)
29#define VSF_GPIO_EXTI_IMP_PORT_COUNT VSF_MCONNECT(VSF_GPIO_CFG_IMP_UPCASE_PREFIX, _GPIO_EXTI_PORT_COUNT)
31#if !defined(VSF_GPIO_EXTI_IMP_MACRO_ONCE) && ((VSF_GPIO_EXTI_IMP_PORT_COUNT > 0) || (VSF_IMP_GPIO_EXTI_PORT_MASK > 0))
32# define VSF_GPIO_CFG_IMP_REMAP_PREFIX vsf_exti
34# define VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX VSF_GPIO_CFG_IMP_UPCASE_PREFIX
35# define VSF_HAL_TEMPLATE_IMP_COUNT_SUFFIX _EXTI_PORT_COUNT
36# define VSF_HAL_TEMPLATE_IMP_MASK_SUFFIX _EXTI_PORT_MASK
38# define VSF_GPIO_CFG_IMP_INSTANCE VSF_GPIO_CFG_IMP_PREFIX
39# define VSF_GPIO_CFG_REAL_PREFIX VSF_MCONNECT(VSF_GPIO_CFG_IMP_PREFIX, _exti)
40# define VSF_GPIO_CFG_ORIGIN_PREFIX VSF_MCONNECT(VSF_GPIO_CFG_IMP_PREFIX, _exti)
41# define VSF_HAL_TEMPLATE_IMP_PREFIX VSF_MCONNECT(VSF_GPIO_CFG_IMP_PREFIX, _exti)
42# define VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX VSF_MCONNECT(VSF_GPIO_CFG_IMP_PREFIX, _exti)
43# define VSF_HAL_TEMPLATE_IMP_UPCASE_PREFIX VSF_MCONNECT(VSF_GPIO_CFG_IMP_UPCASE_PREFIX, _EXTI)
45# define VSF_GPIO_CFG_IMP_LV0(__IDX, __HAL_OP) \
46 static vsf_exti_gpio_irq_t VSF_MCONNECT(__, VSF_HAL_TEMPLATE_IMP_PREFIX,\
47 _gpio, __IDX, _irqs)[ \
48 VSF_MCONNECT(VSF_GPIO_CFG_IMP_UPCASE_PREFIX, _GPIO_PIN_COUNT)]; \
49 vsf_exti_gpio_t VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_PREFIX, \
51 .gpio = (vsf_gpio_t *)&VSF_MCONNECT(VSF_GPIO_CFG_IMP_INSTANCE, \
53 .prio = vsf_arch_prio_invalid, \
54 .exti_irq = VSF_MCONNECT(__, VSF_HAL_TEMPLATE_IMP_PREFIX, \
55 _gpio, __IDX, _irqs), \
56 .pin_cnt = VSF_MCONNECT(VSF_GPIO_CFG_IMP_UPCASE_PREFIX, \
61# undef VSF_GPIO_CFG_RETAIN_DEFINED_PREFIX
63# undef VSF_IMP_GPIO_EXTI_PORT_MASK
64# undef VSF_GPIO_EXTI_IMP_PORT_COUNT
65# define VSF_GPIO_EXTI_IMP_MACRO_ONCE
67# undef VSF_GPIO_CFG_IMP_PREFIX
68# undef VSF_GPIO_CFG_IMP_UPCASE_PREFIX