18#ifndef __HAL_DRIVER_COMMON_MULTIPLEX_RNG_H__
19#define __HAL_DRIVER_COMMON_MULTIPLEX_RNG_H__
25#if (VSF_HAL_USE_RNG == ENABLED) && (VSF_HAL_USE_MULTIPLEX_RNG == ENABLED)
27#if defined(__VSF_RNG_MULTIPLEX_CLASS_IMPLEMENT)
28# undef __VSF_RNG_MULTIPLEX_CLASS_IMPLEMENT
29# define __VSF_CLASS_IMPLEMENT__
36#ifndef VSF_MULTIPLEX_RNG_CFG_MULTI_CLASS
37# define VSF_MULTIPLEX_RNG_CFG_MULTI_CLASS VSF_RNG_CFG_MULTI_CLASS
40#ifndef VSF_MULTIPLEXER_RNG_CFG_MASK_TYPE
41# define VSF_MULTIPLEXER_RNG_CFG_MASK_TYPE uint8_t
46#if VSF_MULTIPLEX_RNG_CFG_MULTI_CLASS == ENABLED
47# define __describe_multiplex_rng_op() .op = &vsf_multiplex_rng_op,
49# define __describe_multiplex_rng_op()
52#define __describe_multiplex_rng(__multiplexer, __name) \
53 vsf_multiplex_rng_t __name = { \
54 __describe_multiplex_rng_op() \
55 .multiplexer = &(__multiplexer), \
58#define __describe_multiplexer_rng(__name, __rng, ...) \
59 vsf_multiplexer_rng_t __name = { \
62 VSF_MFOREACH_ARG1(__describe_multiplex_rng, __name, __VA_ARGS__)
64#define describe_multiplexer_rng(__name, __rng, ...) \
65 __describe_multiplexer_rng(__name, __rng, __VA_ARGS__)
91 vsf_multiplexer_rng_t *
const multiplexer;
109#define VSF_RNG_CFG_DEC_PREFIX vsf_multiplex
110#define VSF_RNG_CFG_DEC_UPCASE_PREFIX VSF_MULTIPLEX
111#define VSF_RNG_CFG_DEC_EXTERN_OP ENABLED
#define ENABLED
Definition __type.h:28
Definition multiplex_rng.h:86
#define VSF_MULTIPLEXER_RNG_CFG_MASK_TYPE
Definition multiplex_rng.h:41
#define VSF_MULTIPLEX_RNG_CFG_MULTI_CLASS
Definition multiplex_rng.h:37
VSF_MULTIPLEXER_RNG_CFG_MASK_TYPE vsf_rng_multiplex_mask_t
Definition multiplex_rng.h:69
#define vsf_class(__name)
Definition ooc_class.h:52
#define vsf_declare_class(__name)
Definition ooc_class.h:49
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_template_rng.h:197
Definition vsf_list.h:876
Definition vsf_list.h:896
void vsf_rng_on_ready_callback_t(void *param, uint32_t *buffer, uint32_t num)
Definition vsf_template_rng.h:177