VSF Documented
Macros | Functions
vsf_simple_bmpevt.h File Reference
#include "kernel/vsf_kernel_cfg.h"
#include "../../vsf_eda.h"

Go to the source code of this file.

Macros

#define using_grouped_evt   vsf_bmpevt_pender_t pender
 
#define __declare_grouped_evts(__name)
 
#define declare_grouped_evts(__name)   __declare_grouped_evts(__name)
 
#define __def_grouped_evts(__name)
 
#define __end_def_grouped_evts(__name)
 
#define end_def_grouped_evts(__name)   __end_def_grouped_evts(__name)
 
#define __def_evt(__name, __evt)
 
#define def_evt(__name, __evt)   __def_evt(__name, __evt)
 
#define def_adapter(__name, __evt)   __def_evt(__name, __evt)
 
#define def_grouped_evts(__name)    __def_grouped_evts(__name)
 
#define __implement_grouped_evts(__name, ...)
 
#define implement_grouped_evts(__name, ...)    __implement_grouped_evts(__name, __VA_ARGS__)
 
#define add_sync_adapter(__SYNC, __MSK, ...)
 
#define __init_grouped_evts(__name, __evt_group, __auto_reset)
 
#define init_grouped_evts(__name, __evt_group, __auto_reset)    __init_grouped_evts(__name, __evt_group, (__auto_reset))
 
#define __grouped_evts_info(__name)   __grouped_evts_##__name##_info
 
#define grouped_evts_info(__name)   __grouped_evts_info(__name)
 
#define __grouped_evts_adapter(__name, __INDEX)    __adapters_of_##__name[(__INDEX)]
 
#define grouped_evts_adapter(__name, __INDEX)    __grouped_evts_adapter(__name, (__INDEX))
 
#define wait_for_all_timeout(__group, __msk, __timeout)
 
#define wait_for_all_timeout_ms(__group, __msk, __timeout)
 
#define wait_for_all_timeout_us(__group, __msk, __timeout)
 
#define wait_for_all(__group, __msk)    wait_for_all_timeout( __group, (__msk), -1)
 
#define wait_for_any_timeout(__group, __msk, __timeout)
 
#define wait_for_any_timeout_ms(__group, __msk, __timeout)
 
#define wait_for_any_timeout_us(__group, __msk, __timeout)
 
#define wait_for_any(__group, __msk)    wait_for_any_timeout( __group, (__msk), -1)
 
#define wait_for_one(__group, __msk)    wait_for_any((__group), (__msk))
 
#define wait_for_one_timeout(__group, __msk, __timeout)    wait_for_any_timeout((__group), (__msk), (__timeout))
 
#define wait_for_one_timeout_ms(__group, __msk, __timeout)    wait_for_any_timeout_ms((__group), (__msk), (__timeout))
 
#define wait_for_one_timeout_us(__group, __msk, __timeout)    wait_for_any_timeout_us((__group), (__msk), (__timeout))
 
#define reset_grouped_evts(__group, __msk)    vsf_eda_bmpevt_reset((__group),(__msk))
 
#define set_grouped_evts(__group, __msk)    vsf_eda_bmpevt_set((__group),(__msk))
 

Functions

void __vsf_grouped_evts_init (vsf_bmpevt_t *this_ptr, vsf_bmpevt_adapter_t **adapters_pptr, uint_fast8_t adapter_count, uint_fast32_t auto_reset)
 
vsf_sync_reason_t __vsf_bmpevt_wait_for (vsf_bmpevt_t *bmpevt_ptr, const vsf_bmpevt_pender_t *pender_ptr, int_fast32_t time_out)
 

Macro Definition Documentation

◆ using_grouped_evt

#define using_grouped_evt   vsf_bmpevt_pender_t pender

◆ __declare_grouped_evts

#define __declare_grouped_evts (   __name)
Value:
typedef vsf_bmpevt_t __name; \
typedef enum enum_of_##__name enum_of_##__name;
Definition vsf_eda.h:957
#define __name
Definition hci_transport_aic8800.c:552

◆ declare_grouped_evts

#define declare_grouped_evts (   __name)    __declare_grouped_evts(__name)

◆ __def_grouped_evts

#define __def_grouped_evts (   __name)
Value:
enum enum_of_##__name{ \
__##__name##_start = __COUNTER__ + 1,
void _start(void)
Definition startup_CMSDK_ARMv8MBL.c:62

◆ __end_def_grouped_evts

#define __end_def_grouped_evts (   __name)
Value:
all_evts_msk_of_##__name = \
((uint64_t)1<<(__COUNTER__ - __##__name##_start)) - 1, \
};
unsigned long long uint64_t
Definition stdint.h:11

◆ end_def_grouped_evts

#define end_def_grouped_evts (   __name)    __end_def_grouped_evts(__name)

◆ __def_evt

#define __def_evt (   __name,
  __evt 
)
Value:
__evt##_idx = __COUNTER__ - __##__name##_start, \
__evt##_msk = (uint32_t)(1<<(__evt##_idx))
unsigned uint32_t
Definition stdint.h:9

◆ def_evt

#define def_evt (   __name,
  __evt 
)    __def_evt(__name, __evt)

◆ def_adapter

#define def_adapter (   __name,
  __evt 
)    __def_evt(__name, __evt)

◆ def_grouped_evts

#define def_grouped_evts (   __name)     __def_grouped_evts(__name)

◆ __implement_grouped_evts

#define __implement_grouped_evts (   __name,
  ... 
)
Value:
static const vsf_bmpevt_adapter_t *__adapters_of_##__name[] = { \
__VA_ARGS__ \
};
Definition vsf_eda.h:916

◆ implement_grouped_evts

#define implement_grouped_evts (   __name,
  ... 
)     __implement_grouped_evts(__name, __VA_ARGS__)

◆ add_sync_adapter

#define add_sync_adapter (   __SYNC,
  __MSK,
  ... 
)
Value:
.sync = (__SYNC), \
.use_as__vsf_bmpevt_adapter_eda_t.use_as__vsf_bmpevt_adapter_t = { \
.mask = (__MSK), \
}, \
__VA_ARGS__ \
}.use_as__vsf_bmpevt_adapter_eda_t.use_as__vsf_bmpevt_adapter_t)
Definition vsf_eda.h:1071
const vsf_bmpevt_adapter_op_t vsf_eda_bmpevt_adapter_sync_op

◆ __init_grouped_evts

#define __init_grouped_evts (   __name,
  __evt_group,
  __auto_reset 
)
Value:
__vsf_grouped_evts_init((__evt_group), \
(vsf_bmpevt_adapter_t **)&(__adapters_of_##__name), \
dimof(__adapters_of_##__name), \
(__auto_reset))
#define dimof(__arr)
Definition __type.h:155
void __vsf_grouped_evts_init(vsf_bmpevt_t *this_ptr, vsf_bmpevt_adapter_t **adapters_pptr, uint_fast8_t adapter_count, uint_fast32_t auto_reset)
Definition vsf_simple_bmpevt.c:124

◆ init_grouped_evts

#define init_grouped_evts (   __name,
  __evt_group,
  __auto_reset 
)     __init_grouped_evts(__name, __evt_group, (__auto_reset))

◆ __grouped_evts_info

#define __grouped_evts_info (   __name)    __grouped_evts_##__name##_info

◆ grouped_evts_info

#define grouped_evts_info (   __name)    __grouped_evts_info(__name)

◆ __grouped_evts_adapter

#define __grouped_evts_adapter (   __name,
  __INDEX 
)     __adapters_of_##__name[(__INDEX)]

◆ grouped_evts_adapter

#define grouped_evts_adapter (   __name,
  __INDEX 
)     __grouped_evts_adapter(__name, (__INDEX))

◆ wait_for_all_timeout

#define wait_for_all_timeout (   __group,
  __msk,
  __timeout 
)
Value:
vsf_this.pender.mask = (__msk); \
vsf_this.pender.op = VSF_BMPEVT_AND; \
reason == VSF_SYNC_CANCEL;) \
if ((reason = __vsf_bmpevt_wait_for( \
(__group), \
&vsf_this.pender, (__timeout)), \
(reason == VSF_SYNC_GET || reason == VSF_SYNC_TIMEOUT)))
Definition vsf_eda.h:942
#define VSF_BMPEVT_AND
Definition vsf_eda.h:906
vsf_sync_reason_t
Definition vsf_eda.h:1053
@ VSF_SYNC_GET
Definition vsf_eda.h:1057
@ VSF_SYNC_CANCEL
Definition vsf_eda.h:1058
@ VSF_SYNC_TIMEOUT
Definition vsf_eda.h:1055
#define vsf_this
Definition vsf_fsm.h:60
vsf_sync_reason_t __vsf_bmpevt_wait_for(vsf_bmpevt_t *bmpevt_ptr, const vsf_bmpevt_pender_t *pender_ptr, int_fast32_t time_out)
Definition vsf_simple_bmpevt.c:79

◆ wait_for_all_timeout_ms

#define wait_for_all_timeout_ms (   __group,
  __msk,
  __timeout 
)
Value:
(__msk), \
vsf_systimer_tick_t vsf_systimer_ms_to_tick(uint_fast32_t time_ms)
Definition linux_generic.c:440
#define wait_for_all_timeout(__group, __msk, __timeout)
Definition vsf_simple_bmpevt.h:105

◆ wait_for_all_timeout_us

#define wait_for_all_timeout_us (   __group,
  __msk,
  __timeout 
)
Value:
(__msk), \
vsf_systimer_tick_t vsf_systimer_us_to_tick(uint_fast32_t time_us)
Definition linux_generic.c:435

◆ wait_for_all

#define wait_for_all (   __group,
  __msk 
)     wait_for_all_timeout( __group, (__msk), -1)

◆ wait_for_any_timeout

#define wait_for_any_timeout (   __group,
  __msk,
  __timeout 
)
Value:
vsf_this.pender.mask = (__msk); \
vsf_this.pender.op = VSF_BMPEVT_OR; \
reason == VSF_SYNC_CANCEL;) \
if ((reason = __vsf_bmpevt_wait_for( \
(__group), \
&vsf_this.pender, (__timeout)), \
(reason == VSF_SYNC_GET || reason == VSF_SYNC_TIMEOUT)))
#define VSF_BMPEVT_OR
Definition vsf_eda.h:905

◆ wait_for_any_timeout_ms

#define wait_for_any_timeout_ms (   __group,
  __msk,
  __timeout 
)
Value:
(__msk), \
#define wait_for_any_timeout(__group, __msk, __timeout)
Definition vsf_simple_bmpevt.h:129

◆ wait_for_any_timeout_us

#define wait_for_any_timeout_us (   __group,
  __msk,
  __timeout 
)
Value:
(__msk), \

◆ wait_for_any

#define wait_for_any (   __group,
  __msk 
)     wait_for_any_timeout( __group, (__msk), -1)

◆ wait_for_one

#define wait_for_one (   __group,
  __msk 
)     wait_for_any((__group), (__msk))

◆ wait_for_one_timeout

#define wait_for_one_timeout (   __group,
  __msk,
  __timeout 
)     wait_for_any_timeout((__group), (__msk), (__timeout))

◆ wait_for_one_timeout_ms

#define wait_for_one_timeout_ms (   __group,
  __msk,
  __timeout 
)     wait_for_any_timeout_ms((__group), (__msk), (__timeout))

◆ wait_for_one_timeout_us

#define wait_for_one_timeout_us (   __group,
  __msk,
  __timeout 
)     wait_for_any_timeout_us((__group), (__msk), (__timeout))

◆ reset_grouped_evts

#define reset_grouped_evts (   __group,
  __msk 
)     vsf_eda_bmpevt_reset((__group),(__msk))

◆ set_grouped_evts

#define set_grouped_evts (   __group,
  __msk 
)     vsf_eda_bmpevt_set((__group),(__msk))

Function Documentation

◆ __vsf_grouped_evts_init()

void __vsf_grouped_evts_init ( vsf_bmpevt_t this_ptr,
vsf_bmpevt_adapter_t **  adapters_pptr,
uint_fast8_t  adapter_count,
uint_fast32_t  auto_reset 
)
extern

◆ __vsf_bmpevt_wait_for()

vsf_sync_reason_t __vsf_bmpevt_wait_for ( vsf_bmpevt_t bmpevt_ptr,
const vsf_bmpevt_pender_t pender_ptr,
int_fast32_t  time_out 
)
extern