25#ifndef VSF_HAL_TEMPLATE_IMP_PREFIX
26# define VSF_HAL_TEMPLATE_IMP_PREFIX VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_PREFIX)
29#ifndef VSF_HAL_TEMPLATE_IMP_UPCASE_PREFIX
30# define VSF_HAL_TEMPLATE_IMP_UPCASE_PREFIX VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_UPCASE_PREFIX)
33#ifndef VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX
34# define VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_COUNT_MASK_PREFIX)
37#ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX
38# define VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_PREFIX)
43#ifdef VSF_HAL_CFG_IMP_REMAP_FUNCTIONS
44VSF_HAL_CFG_IMP_REMAP_FUNCTIONS
49#ifndef VSF_HAL_TEMPLATE_IMP_MULTI_CLASS
50# define VSF_HAL_TEMPLATE_IMP_MULTI_CLASS VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_UPCASE_PREFIX, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_MULTI_CLASS)
53#if VSF_HAL_TEMPLATE_IMP_MULTI_CLASS == ENABLED
54# ifndef VSF_HAL_TEMPLATE_IMP_HAS_OP
55# define VSF_HAL_TEMPLATE_IMP_HAS_OP VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_HAS_OP)
57# if VSF_HAL_TEMPLATE_IMP_HAS_OP
58# define VSF_HAL_TEMPLATE_IMP_OP_VAR VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _op)
59# define VSF_HAL_TEMPLATE_IMP_OP .VSF_MCONNECT(vsf, VSF_HAL_TEMPLATE_IMP_NAME).op = & VSF_HAL_TEMPLATE_IMP_OP_VAR,
61# ifndef VSF_HAL_TEMPLATE_IMP_EXTERN_OP
62# define VSF_HAL_TEMPLATE_IMP_EXTERN_OP VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_EXTERN_OP)
64# if VSF_HAL_TEMPLATE_IMP_EXTERN_OP == DISABLED
65# define VSF_HAL_TEMPLATE_IMP_OP_VAR VSF_MCONNECT(__, VSF_HAL_TEMPLATE_IMP_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _op)
66# define VSF_HAL_TEMPLATE_IMP_OP_ATR static
68# define VSF_HAL_TEMPLATE_IMP_OP_VAR VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _op)
69# define VSF_HAL_TEMPLATE_IMP_OP_ATR
71# define VSF_HAL_TEMPLATE_IMP_OP .VSF_MCONNECT(vsf, VSF_HAL_TEMPLATE_IMP_NAME).op = & VSF_HAL_TEMPLATE_IMP_OP_VAR,
73# undef __VSF_HAL_TEMPLATE_API
74# define __VSF_HAL_TEMPLATE_API VSF_HAL_TEMPLATE_API_OP
76#ifndef VSF_HAL_TEMPLATE_IMP_OP_TYPE
77# define VSF_HAL_TEMPLATE_IMP_OP_TYPE VSF_MCONNECT(vsf, VSF_HAL_TEMPLATE_IMP_NAME, _op_t)
80#ifndef VSF_HAL_TEMPLATE_IMP_OP_MACRO
81# define VSF_HAL_TEMPLATE_IMP_OP_MACRO VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _APIS)
99# define VSF_HAL_TEMPLATE_IMP_OP
104#ifndef VSF_HAL_TEMPLATE_IMP_COUNT_SUFFIX
105# define VSF_HAL_TEMPLATE_IMP_COUNT_SUFFIX _COUNT
108#ifndef VSF_HAL_TEMPLATE_IMP_MASK_SUFFIX
109# define VSF_HAL_TEMPLATE_IMP_MASK_SUFFIX _MASK
112#ifndef VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT
113# define VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, VSF_HAL_TEMPLATE_IMP_COUNT_SUFFIX)
116#ifndef VSF_HAL_TEMPLATE_IMP_DEFINED_MASK
117# define VSF_HAL_TEMPLATE_IMP_DEFINED_MASK VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, VSF_HAL_TEMPLATE_IMP_MASK_SUFFIX)
120#if VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT || VSF_HAL_TEMPLATE_IMP_DEFINED_MASK
121# if !defined(VSF_HAL_TEMPLATE_IMP_COUNT) && VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT
122# define VSF_HAL_TEMPLATE_IMP_COUNT VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT
125# if !defined(VSF_HAL_TEMPLATE_IMP_MASK) && VSF_HAL_TEMPLATE_IMP_DEFINED_MASK
126# define VSF_HAL_TEMPLATE_IMP_MASK VSF_HAL_TEMPLATE_IMP_DEFINED_MASK
129# if defined(VSF_HAL_TEMPLATE_IMP_MASK) && !defined(VSF_HAL_TEMPLATE_IMP_COUNT)
130# define VSF_HAL_TEMPLATE_IMP_COUNT VSF_HAL_MASK_TO_COUNT(VSF_HAL_TEMPLATE_IMP_MASK)
133# if defined(VSF_HAL_TEMPLATE_IMP_COUNT) && !defined(VSF_HAL_TEMPLATE_IMP_MASK)
134# define VSF_HAL_TEMPLATE_IMP_MASK ((1ull << VSF_HAL_TEMPLATE_IMP_COUNT) - 1)
149# define __VSF_HAL_TEMPLATE_MASK VSF_HAL_TEMPLATE_IMP_MASK
150# define __VSF_HAL_TEMPLATE_MACRO VSF_MCONNECT(VSF, VSF_HAL_TEMPLATE_IMP_UPCASE_NAME, _CFG_IMP_LV0)
151# define __VSF_HAL_TEMPLATE_ARG VSF_HAL_TEMPLATE_IMP_OP
162# if !defined(VSF_HAL_TEMPLATE_IMP_REMOVE_ARRAY)
163# ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY
164# define VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, s)
166# ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_TYPE
167# define VSF_HAL_TEMPLATE_IMP_INSTANCE_TYPE VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _t)
169VSF_HAL_TEMPLATE_IMP_INSTANCE_TYPE *
const VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY[VSF_HAL_TEMPLATE_IMP_COUNT] = {
170# ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY_ITEM
171# define VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY_ITEM(__INDEX, __NULL) \
172 &VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, __INDEX),
175# define __VSF_HAL_TEMPLATE_MASK VSF_HAL_TEMPLATE_IMP_MASK
176# define __VSF_HAL_TEMPLATE_MACRO VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY_ITEM
177# define __VSF_HAL_TEMPLATE_ARG VSF_HAL_TEMPLATE_IMP_OP
187#ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_INDEX_ARRAY
188# define VSF_HAL_TEMPLATE_IMP_INSTANCE_INDEX_ARRAY VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _indexs)
190const uint8_t VSF_HAL_TEMPLATE_IMP_INSTANCE_INDEX_ARRAY[VSF_HAL_TEMPLATE_IMP_COUNT] = {
191# ifndef VSF_HAL_TEMPLATE_INDEX_ARRAY_ITEM
192# define VSF_HAL_TEMPLATE_INDEX_ARRAY_ITEM(__INDEX, __NULL) __INDEX,
194# define __VSF_HAL_TEMPLATE_MASK VSF_HAL_TEMPLATE_IMP_MASK
195# define __VSF_HAL_TEMPLATE_MACRO VSF_HAL_TEMPLATE_INDEX_ARRAY_ITEM
196# define __VSF_HAL_TEMPLATE_ARG VSF_HAL_TEMPLATE_IMP_OP
206#ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_NAME_ARRAY
207# define VSF_HAL_TEMPLATE_IMP_INSTANCE_NAME_ARRAY VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _names)
209const char* VSF_HAL_TEMPLATE_IMP_INSTANCE_NAME_ARRAY[VSF_HAL_TEMPLATE_IMP_COUNT] = {
210# ifndef VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM
211# undef __VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM
212# define __VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG) \
214# define VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG) \
215 __VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG)
217# define __VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG) \
219# define VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG) \
220 __VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM(__INDEX, __ARG)
221# define __VSF_HAL_TEMPLATE_MASK VSF_HAL_TEMPLATE_IMP_MASK
222# define __VSF_HAL_TEMPLATE_MACRO VSF_HAL_TEMPLATE_IMP_NAME_ARRAY_ITEM
223# define __VSF_HAL_TEMPLATE_ARG VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME)
239#ifndef VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY
240# define VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME, _devices)
242const vsf_hal_device_t VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY[VSF_HAL_TEMPLATE_IMP_COUNT] = {
243# define __VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY_ITEM(__INDEX, __ARG)\
244 { .pointer = &VSF_MCONNECT(__ARG, __INDEX), .name = # __ARG #__INDEX, },
245# define VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY_ITEM(__INDEX, __ARG) \
246 __VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY_ITEM(__INDEX, __ARG)
247# define __VSF_HAL_TEMPLATE_MASK VSF_HAL_TEMPLATE_IMP_MASK
248# define __VSF_HAL_TEMPLATE_MACRO VSF_HAL_TEMPLATE_IMP_INSTANCE_DEVICE_ARRAY_ITEM
249# define __VSF_HAL_TEMPLATE_ARG VSF_MCONNECT(VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX, VSF_HAL_TEMPLATE_IMP_NAME)
257#undef VSF_HAL_TEMPLATE_IMP_NAME
258#undef VSF_HAL_TEMPLATE_IMP_UPCASE_NAME
259#undef VSF_HAL_TEMPLATE_IMP_PREFIX
260#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_PREFIX
261#undef VSF_HAL_TEMPLATE_IMP_UPCASE_PREFIX
262#undef VSF_HAL_TEMPLATE_IMP_REMAP_PREFIX
263#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_TYPE
264#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY
265#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_ARRAY_ITEM
266#undef VSF_HAL_TEMPLATE_INDEX_ARRAY_ITEM
267#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_INDEX_ARRAY
268#undef VSF_HAL_TEMPLATE_IMP_INSTANCE_NAME_ARRAY
269#undef VSF_HAL_TEMPLATE_IMP_EXTERN_OP
270#undef VSF_HAL_TEMPLATE_IMP_COUNT
271#undef VSF_HAL_TEMPLATE_IMP_MASK
272#undef VSF_HAL_TEMPLATE_IMP_COUNT_MASK_PREFIX
273#undef VSF_HAL_TEMPLATE_IMP_COUNT_SUFFIX
274#undef VSF_HAL_TEMPLATE_IMP_MASK_SUFFIX
275#undef VSF_HAL_TEMPLATE_IMP_DEFINED_COUNT
276#undef VSF_HAL_TEMPLATE_IMP_DEFINED_MASK
277#undef VSF_HAL_TEMPLATE_IMP_LV0
278#undef VSF_HAL_TEMPLATE_IMP_MULTI_CLASS
279#undef VSF_HAL_TEMPLATE_IMP_HAS_OP
280#undef VSF_HAL_TEMPLATE_IMP_OP_TYPE
281#undef VSF_HAL_TEMPLATE_IMP_OP_MACRO
282#undef VSF_HAL_TEMPLATE_IMP_OP_VAR
283#undef VSF_HAL_TEMPLATE_IMP_OP
284#undef VSF_HAL_TEMPLATE_IMP_REMOVE_ARRAY
unsigned char uint8_t
Definition lvgl.h:40
Definition vsf_template_hal_driver.h:183
#define VSF_HAL_TEMPLATE_IMP_OP_VAR
Definition vsf_template_instance_implementation.h:65
#define VSF_HAL_TEMPLATE_IMP_OP_MACRO
Definition vsf_template_instance_implementation.h:81
#define VSF_HAL_TEMPLATE_IMP_OP_ATR
Definition vsf_template_instance_implementation.h:66
#define VSF_HAL_TEMPLATE_IMP_PREFIX
Definition vsf_template_instance_implementation.h:26
#define VSF_HAL_TEMPLATE_IMP_OP_TYPE
Definition vsf_template_instance_implementation.h:77