18#ifndef __VSF_74HC165_GPIO_H__
19#define __VSF_74HC165_GPIO_H__
37#if VSF_HAL_USE_GPIO == ENABLED && VSF_HAL_USE_74HC165_GPIO == ENABLED
39#if defined(__VSF_HAL_74HC165_GPIO_CLASS_IMPLEMENT)
40# define __VSF_CLASS_IMPLEMENT__
51#ifndef VSF_74HC165_GPIO_CFG_MULTI_CLASS
52# define VSF_74HC165_GPIO_CFG_MULTI_CLASS VSF_GPIO_CFG_MULTI_CLASS
55#if VSF_74HC165_GPIO_CFG_MULTI_CLASS == ENABLED
56# define __VSF_74HC165_GPIO_HALOP .vsf_gpio.op = &vsf_74hc165_gpio_op,
58# define __VSF_74HC165_GPIO_HALOP
61#define __VSF_74HC165_GPIO_INIT(__CASCADE_NUM, __OP, __PARAM) \
62 __VSF_74HC165_GPIO_HALOP \
63 .op = (vsf_74hc165_op_t *)(__OP), \
65 .cascade_num = (__CASCADE_NUM),
66#define VSF_74HC165_GPIO_INIT(__CASCADE_NUM, __OP, __PARAM) \
67 __VSF_74HC165_GPIO_INIT((__CASCADE_NUM), (__OP), (__PARAM))
69#define __describe_74hc165_gpio(__name, __cascade_num, __param, __ce_control, \
70 __load_control, __clock_control, __serial_input) \
71 static const vsf_74hc165_op_t VSF_MCONNECT3(__, __name, _op) = { \
72 .ce_control = (__ce_control), \
73 .load_control = (__load_control), \
74 .clock_control = (__clock_control), \
75 .serial_input = (__serial_input), \
77 vsf_74hc165_gpio_t __name = { \
78 __VSF_74HC165_GPIO_INIT((__cascade_num), \
79 &VSF_MCONNECT3(__, __name, _op), (__param)) \
82#define describe_74hc165_gpio(__name, __cascade_num, __param, __ce_control, \
83 __load_control, __clock_control, __serial_input) \
84 __describe_74hc165_gpio(__name, (__cascade_num), (__param), \
85 (__ce_control), (__load_control), (__clock_control), (__serial_input))
110#if VSF_74HC165_GPIO_CFG_MULTI_CLASS == ENABLED
#define ENABLED
Definition __type.h:28
Definition vsf_gpio_74hc165.h:97
unsigned char uint8_t
Definition lvgl.h:40
#define vsf_class(__name)
Definition ooc_class.h:48
unsigned char uint_fast8_t
Definition stdint.h:23
Definition vsf_gpio_74hc165.h:90
uint_fast8_t(* serial_input)(void *param)
Definition vsf_gpio_74hc165.h:94
void(* clock_control)(void *param, uint_fast8_t bit)
Definition vsf_gpio_74hc165.h:93
void(* load_control)(void *param, uint_fast8_t bit)
Definition vsf_gpio_74hc165.h:92
void(* ce_control)(void *param, uint_fast8_t bit)
Definition vsf_gpio_74hc165.h:91
gpio channel configuration
Definition vsf_template_gpio.h:414
Definition vsf_template_gpio.h:475
Definition vsf_template_gpio.h:491
vk_av_control_value_t value
Definition vsf_audio.h:171
#define VSF_74HC165_GPIO_CFG_MULTI_CLASS
Definition vsf_gpio_74hc165.h:52
void vsf_74hc165_gpio_init(vsf_74hc165_gpio_t *gpio_ptr)
Definition vsf_gpio_74hc165.c:44
void vsf_74hc165_gpio_set_output(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
void vsf_74hc165_gpio_clear(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
void vsf_74hc165_gpio_port_config_pins(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_cfg_t *cfg)
void vsf_74hc165_gpio_set(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
const vsf_gpio_op_t vsf_74hc165_gpio_op
vsf_gpio_pin_mask_t vsf_74hc165_gpio_get_direction(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
Definition vsf_gpio_74hc165.c:68
vsf_gpio_pin_mask_t vsf_74hc165_gpio_read(vsf_74hc165_gpio_t *gpio_ptr)
Definition vsf_gpio_74hc165.c:74
void vsf_74hc165_gpio_switch_direction(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
void vsf_74hc165_gpio_toggle(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
Definition vsf_gpio_74hc165.c:109
void vsf_74hc165_gpio_write(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_pin_mask_t value)
Definition vsf_gpio_74hc165.c:103
void vsf_74hc165_gpio_set_input(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask)
void vsf_74hc165_gpio_set_direction(vsf_74hc165_gpio_t *gpio_ptr, vsf_gpio_pin_mask_t pin_mask, vsf_gpio_pin_mask_t direction_mask)
Definition vsf_gpio_74hc165.c:63
#define vsf_gpio_pin_mask_t
Definition vsf_template_gpio.h:207