VSF Documented
vsf_eda.h File Reference

Go to the source code of this file.

Data Structures

struct  vsf_cpu_usage_ctx_t
 
struct  vsf_cpu_usage_t
 
union  vsf_eda_feature_t
 
union  __vsf_eda_state_t
 
union  __vsf_eda_flag_t
 
union  __vsf_eda_fn_t
 
struct  __vsf_eda_frame_state_t
 
class  __vsf_eda_frame_t
 
struct  vsf_eda_cfg_t
 
class  vsf_eda_t
 
class  vsf_teda_t
 
class  vsf_callback_timer_t
 
class  vsf_sync_t
 
class  vsf_sync_owner_t
 
struct  vsf_bmpevt_adapter_op_t
 
class  vsf_bmpevt_adapter_t
 
class  vsf_bmpevt_adapter_eda_t
 
class  vsf_bmpevt_pender_t
 
class  vsf_bmpevt_t
 
struct  vsf_eda_queue_op_t
 
class  vsf_eda_queue_t
 
struct  vsf_bmpevt_adapter_sync_t
 
struct  vsf_bmpevt_adapter_bmpevt_t
 
struct  vsf_kernel_cfg_t
 

Macros

#define VSF_SYNC_AUTO_RST   0x0000
 
#define VSF_SYNC_MANUAL_RST   0x8000
 
#define VSF_SYNC_HAS_OWNER   0x8000
 
#define VSF_SYNC_MAX   0x7FFF
 
#define VSF_KERNEL_CFG_EDA_USER_BITLEN   5
 
#define __vsf_eda_sem_init2(__psem, __init_cnt, __max_cnt)
 
#define __vsf_eda_sem_init1(__psem, __init_cnt)
 
#define __vsf_eda_sem_init0(__psem)
 
#define vsf_eda_sem_init(__psem, ...)
 
#define vsf_eda_sem_post(__psem)
 
#define __vsf_eda_sem_pend1(__psem, __timeout)
 
#define __vsf_eda_sem_pend0(__psem)
 
#define vsf_eda_sem_pend(__psem, ...)
 
#define vsf_eda_sem_post_isr(__psem)
 
#define vsf_eda_mutex_init(__pmtx)
 
#define __vsf_eda_mutex_enter1(__pmtx, __timeout)
 
#define __vsf_eda_mutex_enter0(__pmtx)
 
#define vsf_eda_mutex_enter(__pmtx, ...)
 
#define vsf_eda_mutex_leave(__pmtx)
 
#define vsf_eda_mutex_leave_isr(__pmtx)
 
#define vsf_eda_crit_init(__pcrit)
 
#define __vsf_eda_crit_enter1(__pcrit, __timeout)
 
#define __vsf_eda_crit_enter0(__pcrit)
 
#define vsf_eda_crit_enter(__pcrit, ...)
 
#define vsf_eda_crit_leave(__pcrit)
 
#define vsf_eda_trig_init(__pevt, __set, __auto_rst)
 
#define vsf_eda_trig_set0(__pevt)
 
#define vsf_eda_trig_set1(__pevt, __manual)
 
#define vsf_eda_trig_set(__pevt, ...)
 
#define vsf_eda_trig_reset(__pevt)
 
#define __vsf_eda_trig_wait1(__pevt, __timeout)
 
#define __vsf_eda_trig_wait0(__pevt)
 
#define vsf_eda_trig_wait(__pevt, ...)
 
#define vsf_eda_trig_set_isr(__pevt)
 
#define __vsf_eda_crit_npb_init(__pcrit)
 
#define __vsf_eda_crit_npb_enter1(__pcrit, __timeout)
 
#define __vsf_eda_crit_npb_enter0(__pcrit)
 
#define __vsf_eda_crit_npb_enter(__pcrit, ...)
 
#define __vsf_eda_crit_npb_leave(__pcrit)
 
#define __vsf_eda_init2(__eda, __priority, __feature)
 
#define __vsf_eda_init1(__eda, __priority)
 
#define __vsf_eda_init0(__eda)
 
#define vsf_eda_init(__eda, ...)
 
#define vsf_teda_init(__teda, ...)
 
#define vsf_eda_return(...)
 
#define vsf_systimer_get_ms()
 
#define vsf_systimer_get_us()
 
#define vsf_eda_call_eda(__evthandler, ...)
 
#define vsf_eda_call_param_eda(__param_evthandler, __param, ...)
 
#define vsf_eda_get_local(...)
 
#define __vsf_peda_local(__name)
 
#define vsf_peda_local(__name)
 
#define __vsf_peda_arg(__name)
 
#define vsf_peda_arg(__name)
 
#define __vsf_peda_func(__name)
 
#define vsf_peda_func(__name)
 
#define __vsf_peda_param(__name)
 
#define vsf_peda_param(__name)
 
#define __declare_vsf_peda_ctx(__name)
 
#define declare_vsf_peda_ctx(__name)
 
#define dcl_vsf_peda_ctx(__name)
 
#define __declare_vsf_peda(__name)
 
#define declare_vsf_peda(__name)
 
#define dcl_vsf_peda(__name)
 
#define declare_vsf_peda_methods1(__decoration, __name)
 
#define declare_vsf_peda_methods2(__decoration, __name, __func1)
 
#define declare_vsf_peda_methods3(__decoration, __name, __func1, __func2)
 
#define declare_vsf_peda_methods4(__name, __func1, __func2, __func3)
 
#define declare_vsf_peda_methods5( __decoration, __name, __func1, __func2, __func3, __func4)
 
#define declare_vsf_peda_methods6( __decoration, __name, __func1, __func2, __func3, __func4, __func5)
 
#define declare_vsf_peda_methods7( __decoration, __name, __func1, __func2, __func3, __func4, __func5, __func6)
 
#define declare_vsf_peda_methods8( __decoration, __name, __func1, __func2, __func3, __func4, __func5, __func6, __func7)
 
#define declare_vsf_peda_methods(__decoration, ...)
 
#define dcl_vsf_peda_methods(__decoration, ...)
 
#define __def_vsf_peda_ctx4(__name, __param, __arg, __local)
 
#define __def_vsf_peda4(__name, __param, __arg, __local)
 
#define __def_vsf_peda_ctx3(__name, __param, __arg)
 
#define __def_vsf_peda3(__name, __param, __arg)
 
#define __def_vsf_peda_ctx2(__name, __param)
 
#define __def_vsf_peda_ctx1(__name)
 
#define __def_vsf_peda2(__name, __param)
 
#define __def_vsf_peda1(__name)
 
#define def_vsf_peda(...)
 
#define end_def_vsf_peda(...)
 
#define def_vsf_peda_ctx(...)
 
#define end_def_vsf_peda_ctx(...)
 
#define define_vsf_peda_ctx(__name, ...)
 
#define end_define_vsf_peda_ctx(...)
 
#define def_locals(...)
 
#define end_def_locals(...)
 
#define define_locals(...)
 
#define end_define_locals(...)
 
#define def_args(...)
 
#define end_def_args(...)
 
#define define_args(...)
 
#define end_define_args(...)
 
#define define_arguments(...)
 
#define end_define_arguments(...)
 
#define define_parameters(...)
 
#define end_define_parameters(...)
 
#define vsf_peda_start   vsf_teda_start
 
#define __init_vsf_peda(__name, __param_eda, __pri, ...)
 
#define init_vsf_peda(__name, __param_eda, __pri, ...)
 
#define __implement_vsf_peda2(__name, __func_name)
 
#define __implement_vsf_peda1(__name)
 
#define vsf_peda_begin()
 
#define vsf_peda_end()
 
#define implement_vsf_peda(...)
 
#define imp_vsf_peda(...)
 
#define vsf_eda_call_peda(__name, __param)
 
#define vsf_local   (*vsf_plocal)
 
#define vsf_this   (*vsf_pthis)
 
#define vsf_eda_mutex_try_enter   vsf_eda_mutex_enter
 
#define vsf_eda_crit_try_enter   vsf_eda_crit_enter
 
#define VSF_KERNEL_TIMEOUT_TICK_T   int_fast64_t
 
#define __VSF_BITMAP_EVT_DEFINED__
 
#define VSF_BMPEVT_OR   0
 
#define VSF_BMPEVT_AND   1
 

Typedefs

typedef VSF_KERNEL_TIMEOUT_TICK_T vsf_timeout_tick_t
 
typedef struct vsf_cpu_usage_ctx_t vsf_cpu_usage_ctx_t
 
typedef struct vsf_cpu_usage_t vsf_cpu_usage_t
 
typedef int16_t vsf_evt_t
 
typedef void(* vsf_eda_evthandler_t) (vsf_eda_t *eda, vsf_evt_t evt)
 
typedef void(* vsf_eda_on_terminate_t) (vsf_eda_t *eda)
 
typedef void(* vsf_param_eda_evthandler_t) (uintptr_t target, vsf_evt_t evt)
 
typedef uint8_t __vsf_eda_feature_word
 
typedef uint16_t __vsf_eda_flag_word
 
typedef union vsf_eda_feature_t vsf_eda_feature_t
 
typedef union __vsf_eda_state_t __vsf_eda_state_t
 
typedef union __vsf_eda_flag_t __vsf_eda_flag_t
 
typedef union __vsf_eda_fn_t __vsf_eda_fn_t
 
typedef struct __vsf_eda_frame_state_t __vsf_eda_frame_state_t
 
typedef struct vsf_eda_cfg_t vsf_eda_cfg_t
 
typedef struct vsf_bmpevt_adapter_op_t vsf_bmpevt_adapter_op_t
 
typedef struct vsf_eda_queue_op_t vsf_eda_queue_op_t
 
typedef struct vsf_eda_queue_t vsf_osa_queue_t
 define alias for vsf_eda_queue_t. osa means os-aware
 
typedef struct vsf_eda_queue_op_t vsf_osa_queue_op_t
 
typedef vsf_teda_t vsf_peda_t
 
typedef enum vsf_sync_reason_t vsf_sync_reason_t
 
typedef vsf_sync_t vsf_sem_t
 
typedef vsf_sync_t vsf_trig_t
 
typedef vsf_sync_t __vsf_crit_npb_t
 
typedef vsf_sync_owner_t vsf_mutex_t
 
typedef vsf_mutex_t vsf_crit_t
 
typedef struct vsf_bmpevt_adapter_sync_t vsf_bmpevt_adapter_sync_t
 
typedef struct vsf_bmpevt_adapter_bmpevt_t vsf_bmpevt_adapter_bmpevt_t
 
typedef enum vsf_kernel_error_t vsf_kernel_error_t
 
typedef struct vsf_kernel_cfg_t vsf_kernel_cfg_t
 

Enumerations

enum  {
  VSF_EVT_INVALID = -1 ,
  VSF_EVT_NONE = 0 ,
  VSF_EVT_YIELD = 1 ,
  VSF_EVT_SIGNAL = 2 ,
  VSF_EVT_SYSTEM = 0x100 ,
  VSF_EVT_DUMMY = VSF_EVT_SYSTEM + 0 ,
  VSF_EVT_INIT = VSF_EVT_SYSTEM + 1 ,
  VSF_EVT_FINI = VSF_EVT_SYSTEM + 2 ,
  VSF_EVT_ENTER = VSF_EVT_SYSTEM + 3 ,
  VSF_EVT_EXIT = VSF_EVT_SYSTEM + 4 ,
  VSF_EVT_RETURN = VSF_EVT_EXIT ,
  VSF_EVT_TIMER = VSF_EVT_SYSTEM + 5 ,
  VSF_EVT_SYNC = VSF_EVT_SYSTEM + 6 ,
  VSF_EVT_SYNC_CANCEL = VSF_EVT_SYSTEM + 7 ,
  VSF_EVT_SYNC_POLL = VSF_EVT_SYSTEM + 8 ,
  VSF_EVT_MESSAGE = VSF_EVT_SYSTEM + 9 ,
  VSF_EVT_USER = VSF_EVT_SYSTEM + 10
}
 
enum  {
  VSF_KERNEL_EVT_CALLBACK_TIMER = VSF_EVT_USER + 0 ,
  VSF_KERNEL_EVT_CALLBACK_TIMER_ADD = VSF_EVT_USER + 1 ,
  VSF_KERNEL_EVT_QUEUE_SEND_NOTIFY = VSF_EVT_USER + 2 ,
  VSF_KERNEL_EVT_QUEUE_RECV_NOTIFY = VSF_EVT_USER + 3
}
 
enum  vsf_sync_reason_t {
  VSF_SYNC_FAIL ,
  VSF_SYNC_TIMEOUT ,
  VSF_SYNC_PENDING ,
  VSF_SYNC_GET ,
  VSF_SYNC_CANCEL
}
 
enum  vsf_kernel_error_t {
  VSF_KERNEL_ERR_NONE = 0 ,
  VSF_KERNEL_ERR_INVALID_CONTEXT ,
  VSF_KERNEL_ERR_INVALID_USAGE ,
  VSF_KERNEL_ERR_EDA_DOES_NOT_SUPPORT_TIMER ,
  VSF_KERNEL_ERR_SHOULD_NOT_USE_PRIO_INHERIT_IN_IDLE_OR_ISR
}
 

Functions

void vsf_systimer_on_tick (void)
 
vsf_systimer_tick_t vsf_systimer_get_tick (void)
 
vsf_systimer_tick_t vsf_systimer_get_duration (vsf_systimer_tick_t from_time, vsf_systimer_tick_t to_time)
 
vsf_systimer_tick_t vsf_systimer_get_elapsed (vsf_systimer_tick_t from_time)
 
vsf_err_t vsf_eda_go_to (uintptr_t evthandler)
 
vsf_err_t vsf_eda_start (vsf_eda_t *pthis, vsf_eda_cfg_t *cfg)
 
vsf_eda_tvsf_eda_get_cur (void)
 
vsf_evt_t vsf_eda_get_cur_evt (void)
 
void * vsf_eda_get_cur_msg (void)
 
bool vsf_eda_is_stack_owner (vsf_eda_t *pthis)
 
bool __vsf_eda_return (uintptr_t return_value)
 
uintptr_t vsf_eda_get_return_value (void)
 
void __vsf_eda_yield (void)
 
void vsf_eda_cpu_usage_start (vsf_eda_t *pthis, vsf_cpu_usage_ctx_t *ctx)
 
void vsf_eda_cpu_usage_stop (vsf_eda_t *pthis)
 
void vsf_eda_set_user_value (uint8_t value)
 
uint8_t vsf_eda_get_user_value (void)
 
vsf_err_t __vsf_eda_call_eda_prepare (uintptr_t evthandler, uintptr_t param, size_t local_size)
 
vsf_err_t __vsf_eda_call_eda (uintptr_t evthandler, uintptr_t param, size_t local_size)
 
vsf_err_t __vsf_eda_go_to_ex (uintptr_t evthandler, uintptr_t param)
 
vsf_err_t __vsf_eda_call_eda_ex_prepare (uintptr_t func, uintptr_t param, __vsf_eda_frame_state_t state, bool is_sub_call)
 
vsf_err_t __vsf_eda_call_eda_ex (uintptr_t func, uintptr_t param, __vsf_eda_frame_state_t state, bool is_sub_call)
 
uintptr_t __vsf_eda_get_local (vsf_eda_t *pthis)
 
vsf_err_t vsf_eda_target_set (uintptr_t param)
 
uintptr_t vsf_eda_target_get (void)
 
vsf_err_t vsf_teda_start (vsf_teda_t *pthis, vsf_eda_cfg_t *cfg)
 
vsf_err_t vsf_teda_set_timer (vsf_systimer_tick_t tick)
 
vsf_err_t vsf_teda_set_due_ex (vsf_teda_t *this_ptr, vsf_systimer_tick_t due)
 
vsf_err_t vsf_teda_set_timer_ex (vsf_teda_t *pthis, vsf_systimer_tick_t tick)
 
vsf_err_t vsf_teda_cancel_timer (void)
 
vsf_err_t __vsf_teda_cancel_timer (vsf_teda_t *pthis)
 
void vsf_callback_timer_init (vsf_callback_timer_t *timer)
 
vsf_err_t vsf_callback_timer_add_due (vsf_callback_timer_t *timer, vsf_systimer_tick_t due)
 
vsf_err_t vsf_callback_timer_add (vsf_callback_timer_t *timer, vsf_systimer_tick_t tick)
 
vsf_err_t vsf_callback_timer_remove (vsf_callback_timer_t *timer)
 
vsf_err_t vsf_callback_timer_add_due_isr (vsf_callback_timer_t *timer, vsf_systimer_tick_t due)
 
vsf_err_t vsf_callback_timer_add_isr (vsf_callback_timer_t *timer, vsf_systimer_tick_t tick)
 
vsf_err_t vsf_callback_timer_remove_isr (vsf_callback_timer_t *timer)
 
uintptr_t vsf_irq_enter (void)
 
void vsf_irq_leave (uintptr_t ctx)
 
vsf_err_t vsf_eda_post_evt (vsf_eda_t *pthis, vsf_evt_t evt)
 
vsf_err_t vsf_eda_post_msg (vsf_eda_t *pthis, void *msg)
 
vsf_err_t vsf_eda_post_evt_msg (vsf_eda_t *pthis, vsf_evt_t evt, void *msg)
 
vsf_err_t vsf_eda_sync_init (vsf_sync_t *pthis, uint_fast16_t cur_value, uint_fast16_t max_value)
 
vsf_err_t vsf_eda_sync_increase_isr (vsf_sync_t *pthis)
 
vsf_err_t vsf_eda_sync_increase (vsf_sync_t *pthis)
 
vsf_err_t vsf_eda_sync_increase_ex (vsf_sync_t *pthis, vsf_eda_t *eda)
 
vsf_err_t __vsf_eda_sync_increase_ex (vsf_sync_t *pthis, vsf_eda_t *eda, bool manual)
 
vsf_err_t __vsf_eda_sync_decrease_ex (vsf_sync_t *pthis, vsf_timeout_tick_t timeout, vsf_eda_t *eda, bool manual)
 
void vsf_eda_sync_force_reset (vsf_sync_t *pthis)
 
vsf_err_t vsf_eda_sync_decrease (vsf_sync_t *pthis, vsf_timeout_tick_t timeout)
 
vsf_err_t vsf_eda_sync_decrease_ex (vsf_sync_t *pthis, vsf_timeout_tick_t timeout, vsf_eda_t *eda)
 
void vsf_eda_sync_cancel (vsf_sync_t *pthis)
 
vsf_sync_reason_t vsf_eda_sync_get_reason (vsf_sync_t *pthis, vsf_evt_t evt)
 
vsf_err_t vsf_eda_bmpevt_init (vsf_bmpevt_t *pthis, uint_fast8_t adapter_count)
 
vsf_err_t vsf_eda_bmpevt_set (vsf_bmpevt_t *pthis, uint_fast32_t mask)
 
vsf_err_t vsf_eda_bmpevt_reset (vsf_bmpevt_t *pthis, uint_fast32_t mask)
 
vsf_err_t vsf_eda_bmpevt_cancel (vsf_bmpevt_t *pthis, uint_fast32_t mask)
 
vsf_err_t vsf_eda_bmpevt_pend (vsf_bmpevt_t *pthis, vsf_bmpevt_pender_t *pender, vsf_timeout_tick_t timeout)
 
vsf_sync_reason_t vsf_eda_bmpevt_poll (vsf_bmpevt_t *pthis, vsf_bmpevt_pender_t *pender, vsf_evt_t evt)
 
vsf_err_t vsf_eda_queue_init (vsf_eda_queue_t *pthis, uint_fast16_t max)
 
vsf_err_t vsf_eda_queue_send (vsf_eda_queue_t *pthis, void *node, vsf_timeout_tick_t timeout)
 
vsf_err_t vsf_eda_queue_send_ex (vsf_eda_queue_t *pthis, void *node, vsf_timeout_tick_t timeout, vsf_eda_t *eda)
 
vsf_sync_reason_t vsf_eda_queue_send_get_reason (vsf_eda_queue_t *pthis, vsf_evt_t evt, void *node)
 
vsf_err_t vsf_eda_queue_recv (vsf_eda_queue_t *pthis, void **node, vsf_timeout_tick_t timeout)
 
vsf_err_t vsf_eda_queue_recv_ex (vsf_eda_queue_t *pthis, void **node, vsf_timeout_tick_t timeout, vsf_eda_t *eda)
 
vsf_sync_reason_t vsf_eda_queue_recv_get_reason (vsf_eda_queue_t *pthis, vsf_evt_t evt, void **node)
 
uint_fast16_t vsf_eda_queue_get_cnt (vsf_eda_queue_t *pthis)
 
void vsf_eda_queue_cancel (vsf_eda_queue_t *pthis)
 
vsf_err_t vsf_eda_queue_send_isr (vsf_eda_queue_t *pthis, void *node)
 
vsf_err_t vsf_eda_queue_recv_isr (vsf_eda_queue_t *pthis, void **node)
 

Variables

const vsf_bmpevt_adapter_op_t vsf_eda_bmpevt_adapter_sync_op
 
const vsf_bmpevt_adapter_op_t vsf_eda_bmpevt_adapter_bmpevt_op
 

Macro Definition Documentation

◆ VSF_SYNC_AUTO_RST

#define VSF_SYNC_AUTO_RST   0x0000

\NOTE: Make sure #include "utilities/ooc_class.h" is close to the class ! definition and there is NO ANY OTHER module-interface-header file ! included in this file

◆ VSF_SYNC_MANUAL_RST

#define VSF_SYNC_MANUAL_RST   0x8000

◆ VSF_SYNC_HAS_OWNER

#define VSF_SYNC_HAS_OWNER   0x8000

◆ VSF_SYNC_MAX

#define VSF_SYNC_MAX   0x7FFF

◆ VSF_KERNEL_CFG_EDA_USER_BITLEN

#define VSF_KERNEL_CFG_EDA_USER_BITLEN   5

◆ __vsf_eda_sem_init2

#define __vsf_eda_sem_init2 ( __psem,
__init_cnt,
__max_cnt )
Value:
vsf_eda_sync_init((__psem), (__init_cnt), (__max_cnt) | VSF_SYNC_AUTO_RST)
vsf_err_t vsf_eda_sync_init(vsf_sync_t *pthis, uint_fast16_t cur_value, uint_fast16_t max_value)
#define VSF_SYNC_AUTO_RST
Definition vsf_eda.h:51

◆ __vsf_eda_sem_init1

#define __vsf_eda_sem_init1 ( __psem,
__init_cnt )
Value:
__vsf_eda_sem_init2((__psem), (__init_cnt), VSF_SYNC_MAX)
#define VSF_SYNC_MAX
Definition vsf_eda.h:55
#define __vsf_eda_sem_init2(__psem, __init_cnt, __max_cnt)
Definition vsf_eda.h:64

◆ __vsf_eda_sem_init0

#define __vsf_eda_sem_init0 ( __psem)
Value:
__vsf_eda_sem_init1((__psem), 0)
#define __vsf_eda_sem_init1(__psem, __init_cnt)
Definition vsf_eda.h:66

◆ vsf_eda_sem_init

#define vsf_eda_sem_init ( __psem,
... )
Value:
__PLOOC_EVAL(__vsf_eda_sem_init, __VA_ARGS__)((__psem), ##__VA_ARGS__)

◆ vsf_eda_sem_post

#define vsf_eda_sem_post ( __psem)
Value:
vsf_err_t vsf_eda_sync_increase(vsf_sync_t *pthis)

◆ __vsf_eda_sem_pend1

#define __vsf_eda_sem_pend1 ( __psem,
__timeout )
Value:
vsf_eda_sync_decrease((__psem), (__timeout))
vsf_err_t vsf_eda_sync_decrease(vsf_sync_t *pthis, vsf_timeout_tick_t timeout)

◆ __vsf_eda_sem_pend0

#define __vsf_eda_sem_pend0 ( __psem)
Value:
__vsf_eda_sem_pend1((__psem), -1)
#define __vsf_eda_sem_pend1(__psem, __timeout)
Definition vsf_eda.h:76

◆ vsf_eda_sem_pend

#define vsf_eda_sem_pend ( __psem,
... )
Value:
__PLOOC_EVAL(__vsf_eda_sem_pend, __VA_ARGS__)((__psem), ##__VA_ARGS__)

◆ vsf_eda_sem_post_isr

#define vsf_eda_sem_post_isr ( __psem)
Value:
vsf_err_t vsf_eda_sync_increase_isr(vsf_sync_t *pthis)

◆ vsf_eda_mutex_init

#define vsf_eda_mutex_init ( __pmtx)
Value:
vsf_eda_sync_init( &((__pmtx)->use_as__vsf_sync_t), \
#define VSF_SYNC_HAS_OWNER
Definition vsf_eda.h:53

◆ __vsf_eda_mutex_enter1

#define __vsf_eda_mutex_enter1 ( __pmtx,
__timeout )
Value:
vsf_eda_sync_decrease(&((__pmtx)->use_as__vsf_sync_t), (__timeout))

◆ __vsf_eda_mutex_enter0

#define __vsf_eda_mutex_enter0 ( __pmtx)
Value:
#define __vsf_eda_mutex_enter1(__pmtx, __timeout)
Definition vsf_eda.h:92

◆ vsf_eda_mutex_enter

#define vsf_eda_mutex_enter ( __pmtx,
... )
Value:
__PLOOC_EVAL(__vsf_eda_mutex_enter, __VA_ARGS__)((__pmtx), ##__VA_ARGS__)

◆ vsf_eda_mutex_leave

#define vsf_eda_mutex_leave ( __pmtx)
Value:
vsf_eda_sync_increase(&((__pmtx)->use_as__vsf_sync_t))

◆ vsf_eda_mutex_leave_isr

#define vsf_eda_mutex_leave_isr ( __pmtx)
Value:
vsf_eda_sync_increase_isr(&(__pmtx)->use_as__vsf_sync_t)

◆ vsf_eda_crit_init

#define vsf_eda_crit_init ( __pcrit)
Value:
vsf_eda_mutex_init((__pcrit))
#define vsf_eda_mutex_init(__pmtx)
Definition vsf_eda.h:87

◆ __vsf_eda_crit_enter1

#define __vsf_eda_crit_enter1 ( __pcrit,
__timeout )
Value:
vsf_eda_mutex_enter((__pcrit), (__timeout))
#define vsf_eda_mutex_enter(__pmtx,...)
Definition vsf_eda.h:96

◆ __vsf_eda_crit_enter0

#define __vsf_eda_crit_enter0 ( __pcrit)
Value:
__vsf_eda_crit_enter1((__pcrit), -1)
#define __vsf_eda_crit_enter1(__pcrit, __timeout)
Definition vsf_eda.h:109

◆ vsf_eda_crit_enter

#define vsf_eda_crit_enter ( __pcrit,
... )
Value:
__PLOOC_EVAL(__vsf_eda_crit_enter, __VA_ARGS__)((__pcrit), ##__VA_ARGS__)

◆ vsf_eda_crit_leave

#define vsf_eda_crit_leave ( __pcrit)
Value:
#define vsf_eda_mutex_leave(__pmtx)
Definition vsf_eda.h:99

◆ vsf_eda_trig_init

#define vsf_eda_trig_init ( __pevt,
__set,
__auto_rst )
Value:
vsf_eda_sync_init((__pevt), (__set), \
1 | ((__auto_rst) ? VSF_SYNC_AUTO_RST : VSF_SYNC_MANUAL_RST))
#define VSF_SYNC_MANUAL_RST
Definition vsf_eda.h:52

◆ vsf_eda_trig_set0

#define vsf_eda_trig_set0 ( __pevt)
Value:

◆ vsf_eda_trig_set1

#define vsf_eda_trig_set1 ( __pevt,
__manual )
Value:
__vsf_eda_sync_increase_ex((__pevt), NULL, (__manual))
#define NULL
Definition lvgl.h:26
vsf_err_t __vsf_eda_sync_increase_ex(vsf_sync_t *pthis, vsf_eda_t *eda, bool manual)

◆ vsf_eda_trig_set

#define vsf_eda_trig_set ( __pevt,
... )
Value:
__PLOOC_EVAL(vsf_eda_trig_set, __VA_ARGS__)((__pevt), ##__VA_ARGS__)
#define vsf_eda_trig_set(__pevt,...)
Definition vsf_eda.h:129

◆ vsf_eda_trig_reset

#define vsf_eda_trig_reset ( __pevt)
Value:
void vsf_eda_sync_force_reset(vsf_sync_t *pthis)

◆ __vsf_eda_trig_wait1

#define __vsf_eda_trig_wait1 ( __pevt,
__timeout )
Value:
vsf_eda_sync_decrease((__pevt), (__timeout))

◆ __vsf_eda_trig_wait0

#define __vsf_eda_trig_wait0 ( __pevt)
Value:
__vsf_eda_trig_wait1((__pevt), -1)
#define __vsf_eda_trig_wait1(__pevt, __timeout)
Definition vsf_eda.h:134

◆ vsf_eda_trig_wait

#define vsf_eda_trig_wait ( __pevt,
... )
Value:
__PLOOC_EVAL(__vsf_eda_trig_wait, __VA_ARGS__)((__pevt), ##__VA_ARGS__)

◆ vsf_eda_trig_set_isr

#define vsf_eda_trig_set_isr ( __pevt)
Value:

◆ __vsf_eda_crit_npb_init

#define __vsf_eda_crit_npb_init ( __pcrit)
Value:

◆ __vsf_eda_crit_npb_enter1

#define __vsf_eda_crit_npb_enter1 ( __pcrit,
__timeout )
Value:
vsf_eda_sync_decrease((__pcrit), (__timeout))

◆ __vsf_eda_crit_npb_enter0

#define __vsf_eda_crit_npb_enter0 ( __pcrit)
Value:
#define __vsf_eda_crit_npb_enter1(__pcrit, __timeout)
Definition vsf_eda.h:149

◆ __vsf_eda_crit_npb_enter

#define __vsf_eda_crit_npb_enter ( __pcrit,
... )
Value:
__PLOOC_EVAL(__vsf_eda_crit_npb_enter, __VA_ARGS__)((__pcrit), ##__VA_ARGS__)
#define __vsf_eda_crit_npb_enter(__pcrit,...)
Definition vsf_eda.h:153

◆ __vsf_eda_crit_npb_leave

#define __vsf_eda_crit_npb_leave ( __pcrit)
Value:

◆ __vsf_eda_init2

#define __vsf_eda_init2 ( __eda,
__priority,
__feature )
Value:
__vsf_eda_init((__eda), (__priority), (__feature))
vsf_err_t __vsf_eda_init(vsf_eda_t *pthis, vsf_prio_t priority, vsf_eda_feature_t feature)
Definition vsf_eda.c:819

◆ __vsf_eda_init1

#define __vsf_eda_init1 ( __eda,
__priority )
Value:
__vsf_eda_init2((__eda), (__priority), (vsf_eda_feature_t){.value = 0})
Definition vsf_eda.h:673
#define __vsf_eda_init2(__eda, __priority, __feature)
Definition vsf_eda.h:159

◆ __vsf_eda_init0

#define __vsf_eda_init0 ( __eda)
Value:
#define __vsf_eda_init1(__eda, __priority)
Definition vsf_eda.h:161
@ vsf_prio_inherit
Definition vsf_kernel_common.h:38

◆ vsf_eda_init

#define vsf_eda_init ( __eda,
... )
Value:
__PLOOC_EVAL(__vsf_eda_init, __VA_ARGS__)((__eda), ##__VA_ARGS__)

◆ vsf_teda_init

#define vsf_teda_init ( __teda,
... )
Value:
vsf_eda_init(&(__teda)->use_as__vsf_eda_t, ##__VA_ARGS__)
#define vsf_eda_init(__eda,...)
Definition vsf_eda.h:166

◆ vsf_eda_return

#define vsf_eda_return ( ...)
Value:
__vsf_eda_return((uintptr_t)(0, ##__VA_ARGS__))
uint32_t uintptr_t
Definition stdint.h:38
bool __vsf_eda_return(uintptr_t return_value)
Definition vsf_eda.c:484

◆ vsf_systimer_get_ms

#define vsf_systimer_get_ms ( )
Value:
vsf_systimer_tick_t vsf_systimer_tick_to_ms(vsf_systimer_tick_t tick)
Definition linux_generic.c:450
vsf_systimer_tick_t vsf_systimer_get_tick(void)

◆ vsf_systimer_get_us

#define vsf_systimer_get_us ( )
Value:
vsf_systimer_tick_t vsf_systimer_tick_to_us(vsf_systimer_tick_t tick)
Definition linux_generic.c:445

◆ vsf_eda_call_eda

#define vsf_eda_call_eda ( __evthandler,
... )
Value:
__vsf_eda_call_eda((uintptr_t)__evthandler, NULL, (0, ##__VA_ARGS))
vsf_err_t __vsf_eda_call_eda(uintptr_t evthandler, uintptr_t param, size_t local_size)
Definition vsf_eda.c:730

◆ vsf_eda_call_param_eda

#define vsf_eda_call_param_eda ( __param_evthandler,
__param,
... )
Value:
__vsf_eda_call_eda( (uintptr_t)__param_evthandler, \
(uintptr_t)__param, \
(0, ##__VA_ARGS__))

◆ vsf_eda_get_local

#define vsf_eda_get_local ( ...)
Value:
Definition vsf_eda.h:769
uintptr_t __vsf_eda_get_local(vsf_eda_t *pthis)
Definition vsf_eda.c:589
vsf_eda_t * vsf_eda_get_cur(void)
Definition vsf_eda.c:416

◆ __vsf_peda_local

#define __vsf_peda_local ( __name)
Value:
peda_local_##__name
#define __name
Definition hci_transport_aic8800.c:555

◆ vsf_peda_local

#define vsf_peda_local ( __name)
Value:
#define __vsf_peda_local(__name)
Definition vsf_eda.h:191

◆ __vsf_peda_arg

#define __vsf_peda_arg ( __name)
Value:
peda_arg_##__name

◆ vsf_peda_arg

#define vsf_peda_arg ( __name)
Value:
#define __vsf_peda_arg(__name)
Definition vsf_eda.h:194

◆ __vsf_peda_func

#define __vsf_peda_func ( __name)
Value:
vsf_peda_func_##__name

◆ vsf_peda_func

#define vsf_peda_func ( __name)
Value:
#define __vsf_peda_func(__name)
Definition vsf_eda.h:197

◆ __vsf_peda_param

#define __vsf_peda_param ( __name)
Value:
peda_cb_##__name

◆ vsf_peda_param

#define vsf_peda_param ( __name)
Value:
#define __vsf_peda_param(__name)
Definition vsf_eda.h:201

◆ __declare_vsf_peda_ctx

#define __declare_vsf_peda_ctx ( __name)
Value:
typedef struct vsf_peda_param(__name) vsf_peda_param(__name); \
typedef struct vsf_peda_arg(__name) vsf_peda_arg(__name); \
typedef struct vsf_peda_local(__name) vsf_peda_local(__name);
#define vsf_peda_param(__name)
Definition vsf_eda.h:202
#define vsf_peda_arg(__name)
Definition vsf_eda.h:195
#define vsf_peda_local(__name)
Definition vsf_eda.h:192

◆ declare_vsf_peda_ctx

#define declare_vsf_peda_ctx ( __name)
Value:
#define __declare_vsf_peda_ctx(__name)
Definition vsf_eda.h:205

◆ dcl_vsf_peda_ctx

#define dcl_vsf_peda_ctx ( __name)
Value:
#define declare_vsf_peda_ctx(__name)
Definition vsf_eda.h:209

◆ __declare_vsf_peda

#define __declare_vsf_peda ( __name)
Value:
typedef struct __name __name; \
__declare_vsf_peda_ctx(__name)

◆ declare_vsf_peda

#define declare_vsf_peda ( __name)
Value:
#define __declare_vsf_peda(__name)
Definition vsf_eda.h:214

◆ dcl_vsf_peda

#define dcl_vsf_peda ( __name)
Value:
#define declare_vsf_peda(__name)
Definition vsf_eda.h:217

◆ declare_vsf_peda_methods1

#define declare_vsf_peda_methods1 ( __decoration,
__name )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);
int16_t vsf_evt_t
Definition vsf_eda.h:654
#define vsf_peda_func(__name)
Definition vsf_eda.h:198

◆ declare_vsf_peda_methods2

#define declare_vsf_peda_methods2 ( __decoration,
__name,
__func1 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods3

#define declare_vsf_peda_methods3 ( __decoration,
__name,
__func1,
__func2 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods4

#define declare_vsf_peda_methods4 ( __name,
__func1,
__func2,
__func3 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func3( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods5

#define declare_vsf_peda_methods5 ( __decoration,
__name,
__func1,
__func2,
__func3,
__func4 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func3( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func4( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods6

#define declare_vsf_peda_methods6 ( __decoration,
__name,
__func1,
__func2,
__func3,
__func4,
__func5 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func3( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func4( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func5( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods7

#define declare_vsf_peda_methods7 ( __decoration,
__name,
__func1,
__func2,
__func3,
__func4,
__func5,
__func6 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func3( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func4( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func5( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func6( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods8

#define declare_vsf_peda_methods8 ( __decoration,
__name,
__func1,
__func2,
__func3,
__func4,
__func5,
__func6,
__func7 )
Value:
__decoration \
struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func1( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func2( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func3( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func4( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func5( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func6( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt); \
__decoration \
void __func7( struct vsf_peda_local(__name) *vsf_pthis,\
vsf_evt_t evt);

◆ declare_vsf_peda_methods

#define declare_vsf_peda_methods ( __decoration,
... )
Value:
__PLOOC_EVAL(declare_vsf_peda_methods, __VA_ARGS__) \
(__decoration, __VA_ARGS__)
#define declare_vsf_peda_methods(__decoration,...)
Definition vsf_eda.h:368

◆ dcl_vsf_peda_methods

#define dcl_vsf_peda_methods ( __decoration,
... )
Value:
declare_vsf_peda_methods(__decoration, __VA_ARGS__)

◆ __def_vsf_peda_ctx4

#define __def_vsf_peda_ctx4 ( __name,
__param,
__arg,
__local )
Value:
struct vsf_peda_param(__name) { \
__param \
}; \
struct vsf_peda_arg(__name) { \
__arg \
}; \
struct vsf_peda_local(__name) { \
implement(vsf_peda_arg(__name)) \
__local \
};

◆ __def_vsf_peda4

#define __def_vsf_peda4 ( __name,
__param,
__arg,
__local )
Value:
__def_vsf_peda_ctx4(__name, __param, __arg, __local) \
struct __name { \
implement(vsf_peda_t) \
implement_ex(vsf_peda_param(__name), param) \
};
Definition vsf_eda.h:837
#define __def_vsf_peda_ctx4(__name, __param, __arg, __local)
Definition vsf_eda.h:390

◆ __def_vsf_peda_ctx3

#define __def_vsf_peda_ctx3 ( __name,
__param,
__arg )
Value:
struct vsf_peda_param(__name) { \
__param \
}; \
struct vsf_peda_arg(__name) { \
__arg \
}; \
struct vsf_peda_local(__name) { \
implement(vsf_peda_arg(__name)) \
};

◆ __def_vsf_peda3

#define __def_vsf_peda3 ( __name,
__param,
__arg )
Value:
__def_vsf_peda_ctx3(__name, __param, __arg) \
struct __name { \
implement(vsf_peda_t) \
implement_ex(vsf_peda_param(__name), param) \
};
#define __def_vsf_peda_ctx3(__name, __param, __arg)
Definition vsf_eda.h:424

◆ __def_vsf_peda_ctx2

#define __def_vsf_peda_ctx2 ( __name,
__param )
Value:
struct vsf_peda_param(__name) { \
__param \
}; \
struct vsf_peda_arg(__name) { \
}; \
struct vsf_peda_local(__name) { \
implement(vsf_peda_arg(__name)) \
};

◆ __def_vsf_peda_ctx1

#define __def_vsf_peda_ctx1 ( __name)
Value:
#define __def_vsf_peda_ctx2(__name, __param)
Definition vsf_eda.h:457

◆ __def_vsf_peda2

#define __def_vsf_peda2 ( __name,
__param )
Value:
struct __name { \
implement(vsf_peda_t) \
implement_ex(vsf_peda_param(__name), param) \
};

◆ __def_vsf_peda1

#define __def_vsf_peda1 ( __name)
Value:
struct __name { \
implement(vsf_peda_t) \
implement_ex(vsf_peda_param(__name), param) \
};
#define __def_vsf_peda_ctx1(__name)
Definition vsf_eda.h:468

◆ def_vsf_peda

#define def_vsf_peda ( ...)
Value:
__PLOOC_EVAL(__def_vsf_peda, __VA_ARGS__) (__VA_ARGS__)

◆ end_def_vsf_peda

#define end_def_vsf_peda ( ...)

◆ def_vsf_peda_ctx

#define def_vsf_peda_ctx ( ...)
Value:
__PLOOC_EVAL(__def_vsf_peda_ctx, __VA_ARGS__)(__VA_ARGS__)

◆ end_def_vsf_peda_ctx

#define end_def_vsf_peda_ctx ( ...)

◆ define_vsf_peda_ctx

#define define_vsf_peda_ctx ( __name,
... )
Value:
def_vsf_peda_ctx(__name, __VA_ARGS__)
#define def_vsf_peda_ctx(...)
Definition vsf_eda.h:490

◆ end_define_vsf_peda_ctx

#define end_define_vsf_peda_ctx ( ...)

◆ def_locals

#define def_locals ( ...)
Value:
,##__VA_ARGS__

◆ end_def_locals

#define end_def_locals ( ...)

◆ define_locals

#define define_locals ( ...)
Value:
,##__VA_ARGS__

◆ end_define_locals

#define end_define_locals ( ...)

◆ def_args

#define def_args ( ...)
Value:
,__VA_ARGS__

◆ end_def_args

#define end_def_args ( ...)

◆ define_args

#define define_args ( ...)
Value:
,__VA_ARGS__

◆ end_define_args

#define end_define_args ( ...)

◆ define_arguments

#define define_arguments ( ...)
Value:
,__VA_ARGS__

◆ end_define_arguments

#define end_define_arguments ( ...)

◆ define_parameters

#define define_parameters ( ...)
Value:
__VA_ARGS__

◆ end_define_parameters

#define end_define_parameters ( ...)

◆ vsf_peda_start

#define vsf_peda_start   vsf_teda_start

◆ __init_vsf_peda

#define __init_vsf_peda ( __name,
__param_eda,
__pri,
... )
Value:
do { \
.fn.param_evthandler = \
.priority = (__pri), \
.target = (uintptr_t)&((__param_eda)->param), \
.local_size = sizeof(vsf_peda_local(__name)), \
__VA_ARGS__ \
}; \
vsf_peda_start((vsf_peda_t *)(__param_eda), \
} while(0)
Definition vsf_eda.h:758
void(* vsf_param_eda_evthandler_t)(uintptr_t target, vsf_evt_t evt)
Definition vsf_eda.h:658
#define VSF_MACRO_SAFE_NAME(__NAME)
Definition vsf_preprocessor.h:32

◆ init_vsf_peda

#define init_vsf_peda ( __name,
__param_eda,
__pri,
... )
Value:
__init_vsf_peda(__name, (__param_eda), (__pri), __VA_ARGS__)
#define __init_vsf_peda(__name, __param_eda, __pri,...)
Definition vsf_eda.h:524

◆ __implement_vsf_peda2

#define __implement_vsf_peda2 ( __name,
__func_name )
Value:
void __func_name( struct vsf_peda_local(__name) *vsf_plocal, \
vsf_evt_t evt) \
{ \
vsf_peda_param(__name) *vsf_pthis = \
((uintptr_t)vsf_plocal - sizeof(uintptr_t)); \
VSF_UNUSED_PARAM(vsf_pthis); \
VSF_KERNEL_ASSERT(NULL != vsf_pthis || NULL != vsf_plocal);

◆ __implement_vsf_peda1

#define __implement_vsf_peda1 ( __name)
Value:
void vsf_peda_func(__name)( struct vsf_peda_local(__name) *vsf_plocal, \
vsf_evt_t evt) \
{ \
vsf_peda_param(__name) *vsf_pthis = \
((uintptr_t)vsf_plocal - sizeof(uintptr_t)); \
VSF_UNUSED_PARAM(vsf_pthis); \
VSF_KERNEL_ASSERT(NULL != vsf_pthis || NULL != vsf_plocal);

◆ vsf_peda_begin

#define vsf_peda_begin ( )

◆ vsf_peda_end

#define vsf_peda_end ( )
Value:
}

◆ implement_vsf_peda

#define implement_vsf_peda ( ...)
Value:
__PLOOC_EVAL(__implement_vsf_peda, __VA_ARGS__)(__VA_ARGS__)

◆ imp_vsf_peda

#define imp_vsf_peda ( ...)
Value:
implement_vsf_peda(__VA_ARGS__)
#define implement_vsf_peda(...)
Definition vsf_eda.h:567

◆ vsf_eda_call_peda

#define vsf_eda_call_peda ( __name,
__param )
Value:
(__param), \
#define vsf_eda_call_param_eda(__param_evthandler, __param,...)
Definition vsf_eda.h:183

◆ vsf_local

#define vsf_local   (*vsf_plocal)

◆ vsf_this

#define vsf_this   (*vsf_pthis)

◆ vsf_eda_mutex_try_enter

#define vsf_eda_mutex_try_enter   vsf_eda_mutex_enter

◆ vsf_eda_crit_try_enter

#define vsf_eda_crit_try_enter   vsf_eda_crit_enter

◆ VSF_KERNEL_TIMEOUT_TICK_T

#define VSF_KERNEL_TIMEOUT_TICK_T   int_fast64_t

◆ __VSF_BITMAP_EVT_DEFINED__

#define __VSF_BITMAP_EVT_DEFINED__

◆ VSF_BMPEVT_OR

#define VSF_BMPEVT_OR   0

◆ VSF_BMPEVT_AND

#define VSF_BMPEVT_AND   1

Typedef Documentation

◆ vsf_timeout_tick_t

◆ vsf_cpu_usage_ctx_t

typedef struct vsf_cpu_usage_ctx_t vsf_cpu_usage_ctx_t

◆ vsf_cpu_usage_t

typedef struct vsf_cpu_usage_t vsf_cpu_usage_t

◆ vsf_evt_t

typedef int16_t vsf_evt_t

◆ vsf_eda_evthandler_t

typedef void(* vsf_eda_evthandler_t) (vsf_eda_t *eda, vsf_evt_t evt)

◆ vsf_eda_on_terminate_t

typedef void(* vsf_eda_on_terminate_t) (vsf_eda_t *eda)

◆ vsf_param_eda_evthandler_t

typedef void(* vsf_param_eda_evthandler_t) (uintptr_t target, vsf_evt_t evt)

◆ __vsf_eda_feature_word

◆ __vsf_eda_flag_word

◆ vsf_eda_feature_t

typedef union vsf_eda_feature_t vsf_eda_feature_t

◆ __vsf_eda_state_t

typedef union __vsf_eda_state_t __vsf_eda_state_t

◆ __vsf_eda_flag_t

typedef union __vsf_eda_flag_t __vsf_eda_flag_t

◆ __vsf_eda_fn_t

typedef union __vsf_eda_fn_t __vsf_eda_fn_t

◆ __vsf_eda_frame_state_t

typedef struct __vsf_eda_frame_state_t __vsf_eda_frame_state_t

◆ vsf_eda_cfg_t

typedef struct vsf_eda_cfg_t vsf_eda_cfg_t

◆ vsf_bmpevt_adapter_op_t

typedef struct vsf_bmpevt_adapter_op_t vsf_bmpevt_adapter_op_t

◆ vsf_eda_queue_op_t

typedef struct vsf_eda_queue_op_t vsf_eda_queue_op_t

◆ vsf_osa_queue_t

define alias for vsf_eda_queue_t. osa means os-aware

◆ vsf_osa_queue_op_t

◆ vsf_peda_t

◆ vsf_sync_reason_t

◆ vsf_sem_t

◆ vsf_trig_t

◆ __vsf_crit_npb_t

◆ vsf_mutex_t

◆ vsf_crit_t

◆ vsf_bmpevt_adapter_sync_t

typedef struct vsf_bmpevt_adapter_sync_t vsf_bmpevt_adapter_sync_t

◆ vsf_bmpevt_adapter_bmpevt_t

typedef struct vsf_bmpevt_adapter_bmpevt_t vsf_bmpevt_adapter_bmpevt_t

◆ vsf_kernel_error_t

◆ vsf_kernel_cfg_t

typedef struct vsf_kernel_cfg_t vsf_kernel_cfg_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VSF_EVT_INVALID 

compatible with fsm_rt_err

\ note wait for invalid also means wait for any evt

VSF_EVT_NONE 

compatible with fsm_rt_cpl

VSF_EVT_YIELD 

compatible with fsm_rt_on_going

VSF_EVT_SIGNAL 
VSF_EVT_SYSTEM 
VSF_EVT_DUMMY 
VSF_EVT_INIT 
VSF_EVT_FINI 
VSF_EVT_ENTER 
VSF_EVT_EXIT 
VSF_EVT_RETURN 
VSF_EVT_TIMER 
VSF_EVT_SYNC 
VSF_EVT_SYNC_CANCEL 
VSF_EVT_SYNC_POLL 
VSF_EVT_MESSAGE 
VSF_EVT_USER 

◆ anonymous enum

anonymous enum
Enumerator
VSF_KERNEL_EVT_CALLBACK_TIMER 
VSF_KERNEL_EVT_CALLBACK_TIMER_ADD 
VSF_KERNEL_EVT_QUEUE_SEND_NOTIFY 
VSF_KERNEL_EVT_QUEUE_RECV_NOTIFY 

◆ vsf_sync_reason_t

Enumerator
VSF_SYNC_FAIL 
VSF_SYNC_TIMEOUT 
VSF_SYNC_PENDING 
VSF_SYNC_GET 
VSF_SYNC_CANCEL 

◆ vsf_kernel_error_t

Enumerator
VSF_KERNEL_ERR_NONE 
VSF_KERNEL_ERR_INVALID_CONTEXT 
VSF_KERNEL_ERR_INVALID_USAGE 
VSF_KERNEL_ERR_EDA_DOES_NOT_SUPPORT_TIMER 
VSF_KERNEL_ERR_SHOULD_NOT_USE_PRIO_INHERIT_IN_IDLE_OR_ISR 

Function Documentation

◆ vsf_systimer_on_tick()

void vsf_systimer_on_tick ( void )
extern

◆ vsf_systimer_get_tick()

vsf_systimer_tick_t vsf_systimer_get_tick ( void )
extern

◆ vsf_systimer_get_duration()

vsf_systimer_tick_t vsf_systimer_get_duration ( vsf_systimer_tick_t from_time,
vsf_systimer_tick_t to_time )
extern

◆ vsf_systimer_get_elapsed()

vsf_systimer_tick_t vsf_systimer_get_elapsed ( vsf_systimer_tick_t from_time)
extern

◆ vsf_eda_go_to()

vsf_err_t vsf_eda_go_to ( uintptr_t evthandler)
extern

◆ vsf_eda_start()

vsf_err_t vsf_eda_start ( vsf_eda_t * pthis,
vsf_eda_cfg_t * cfg )

override the is_use_frame flag

◆ vsf_eda_get_cur()

vsf_eda_t * vsf_eda_get_cur ( void )
extern

◆ vsf_eda_get_cur_evt()

vsf_evt_t vsf_eda_get_cur_evt ( void )
extern

◆ vsf_eda_get_cur_msg()

void * vsf_eda_get_cur_msg ( void )
extern

◆ vsf_eda_is_stack_owner()

bool vsf_eda_is_stack_owner ( vsf_eda_t * pthis)
extern

◆ __vsf_eda_return()

bool __vsf_eda_return ( uintptr_t return_value)
extern
Note
automatically free a frame if the top eda doesn't set ! is_use_frame

< top frame

< not force frame

◆ vsf_eda_get_return_value()

uintptr_t vsf_eda_get_return_value ( void )
extern

◆ __vsf_eda_yield()

void __vsf_eda_yield ( void )
extern

◆ vsf_eda_cpu_usage_start()

void vsf_eda_cpu_usage_start ( vsf_eda_t * pthis,
vsf_cpu_usage_ctx_t * ctx )
extern

◆ vsf_eda_cpu_usage_stop()

void vsf_eda_cpu_usage_stop ( vsf_eda_t * pthis)
extern

◆ vsf_eda_set_user_value()

void vsf_eda_set_user_value ( uint8_t value)
extern

◆ vsf_eda_get_user_value()

uint8_t vsf_eda_get_user_value ( void )
extern

◆ __vsf_eda_call_eda_prepare()

vsf_err_t __vsf_eda_call_eda_prepare ( uintptr_t evthandler,
uintptr_t param,
size_t local_size )

◆ __vsf_eda_call_eda()

vsf_err_t __vsf_eda_call_eda ( uintptr_t evthandler,
uintptr_t param,
size_t local_size )
extern

◆ __vsf_eda_go_to_ex()

vsf_err_t __vsf_eda_go_to_ex ( uintptr_t evthandler,
uintptr_t param )
extern

◆ __vsf_eda_call_eda_ex_prepare()

vsf_err_t __vsf_eda_call_eda_ex_prepare ( uintptr_t func,
uintptr_t param,
__vsf_eda_frame_state_t state,
bool is_sub_call )
extern
Note
please NEVER do following things. If param is NULL, please let frame->param to be NULL

if (NULL == param) { frame->param = pthis; //!< point to the current eda } else { frame->param = param; }

◆ __vsf_eda_call_eda_ex()

vsf_err_t __vsf_eda_call_eda_ex ( uintptr_t func,
uintptr_t param,
__vsf_eda_frame_state_t state,
bool is_sub_call )
extern

◆ __vsf_eda_get_local()

uintptr_t __vsf_eda_get_local ( vsf_eda_t * pthis)
extern

◆ vsf_eda_target_set()

vsf_err_t vsf_eda_target_set ( uintptr_t param)
extern

◆ vsf_eda_target_get()

uintptr_t vsf_eda_target_get ( void )
extern

◆ vsf_teda_start()

vsf_err_t vsf_teda_start ( vsf_teda_t * pthis,
vsf_eda_cfg_t * cfg )
extern

◆ vsf_teda_set_timer()

vsf_err_t vsf_teda_set_timer ( vsf_systimer_tick_t tick)
extern

◆ vsf_teda_set_due_ex()

vsf_err_t vsf_teda_set_due_ex ( vsf_teda_t * this_ptr,
vsf_systimer_tick_t due )
extern

◆ vsf_teda_set_timer_ex()

vsf_err_t vsf_teda_set_timer_ex ( vsf_teda_t * pthis,
vsf_systimer_tick_t tick )
extern

◆ vsf_teda_cancel_timer()

vsf_err_t vsf_teda_cancel_timer ( void )
extern

◆ __vsf_teda_cancel_timer()

vsf_err_t __vsf_teda_cancel_timer ( vsf_teda_t * pthis)
extern

◆ vsf_callback_timer_init()

void vsf_callback_timer_init ( vsf_callback_timer_t * timer)
extern

◆ vsf_callback_timer_add_due()

vsf_err_t vsf_callback_timer_add_due ( vsf_callback_timer_t * timer,
vsf_systimer_tick_t due )
extern

◆ vsf_callback_timer_add()

vsf_err_t vsf_callback_timer_add ( vsf_callback_timer_t * timer,
vsf_systimer_tick_t tick )
extern

◆ vsf_callback_timer_remove()

vsf_err_t vsf_callback_timer_remove ( vsf_callback_timer_t * timer)
extern

◆ vsf_callback_timer_add_due_isr()

vsf_err_t vsf_callback_timer_add_due_isr ( vsf_callback_timer_t * timer,
vsf_systimer_tick_t due )
extern

◆ vsf_callback_timer_add_isr()

vsf_err_t vsf_callback_timer_add_isr ( vsf_callback_timer_t * timer,
vsf_systimer_tick_t tick )
extern

◆ vsf_callback_timer_remove_isr()

vsf_err_t vsf_callback_timer_remove_isr ( vsf_callback_timer_t * timer)
extern

◆ vsf_irq_enter()

uintptr_t vsf_irq_enter ( void )
extern

◆ vsf_irq_leave()

void vsf_irq_leave ( uintptr_t ctx)
extern

◆ vsf_eda_post_evt()

vsf_err_t vsf_eda_post_evt ( vsf_eda_t * pthis,
vsf_evt_t evt )
extern

◆ vsf_eda_post_msg()

vsf_err_t vsf_eda_post_msg ( vsf_eda_t * pthis,
void * msg )
extern

◆ vsf_eda_post_evt_msg()

vsf_err_t vsf_eda_post_evt_msg ( vsf_eda_t * pthis,
vsf_evt_t evt,
void * msg )
extern

◆ vsf_eda_sync_init()

vsf_err_t vsf_eda_sync_init ( vsf_sync_t * pthis,
uint_fast16_t cur_value,
uint_fast16_t max_value )
extern

◆ vsf_eda_sync_increase_isr()

vsf_err_t vsf_eda_sync_increase_isr ( vsf_sync_t * pthis)
extern

◆ vsf_eda_sync_increase()

vsf_err_t vsf_eda_sync_increase ( vsf_sync_t * pthis)
extern

◆ vsf_eda_sync_increase_ex()

vsf_err_t vsf_eda_sync_increase_ex ( vsf_sync_t * pthis,
vsf_eda_t * eda )
extern

◆ __vsf_eda_sync_increase_ex()

vsf_err_t __vsf_eda_sync_increase_ex ( vsf_sync_t * pthis,
vsf_eda_t * eda,
bool manual )
extern

◆ __vsf_eda_sync_decrease_ex()

vsf_err_t __vsf_eda_sync_decrease_ex ( vsf_sync_t * pthis,
vsf_timeout_tick_t timeout,
vsf_eda_t * eda,
bool manual )
extern

◆ vsf_eda_sync_force_reset()

void vsf_eda_sync_force_reset ( vsf_sync_t * pthis)
extern

◆ vsf_eda_sync_decrease()

vsf_err_t vsf_eda_sync_decrease ( vsf_sync_t * pthis,
vsf_timeout_tick_t timeout )
extern

◆ vsf_eda_sync_decrease_ex()

vsf_err_t vsf_eda_sync_decrease_ex ( vsf_sync_t * pthis,
vsf_timeout_tick_t timeout,
vsf_eda_t * eda )
extern

◆ vsf_eda_sync_cancel()

void vsf_eda_sync_cancel ( vsf_sync_t * pthis)
extern

◆ vsf_eda_sync_get_reason()

vsf_sync_reason_t vsf_eda_sync_get_reason ( vsf_sync_t * pthis,
vsf_evt_t evt )
extern

◆ vsf_eda_bmpevt_init()

vsf_err_t vsf_eda_bmpevt_init ( vsf_bmpevt_t * pthis,
uint_fast8_t adapter_count )
extern

◆ vsf_eda_bmpevt_set()

vsf_err_t vsf_eda_bmpevt_set ( vsf_bmpevt_t * pthis,
uint_fast32_t mask )
extern

◆ vsf_eda_bmpevt_reset()

vsf_err_t vsf_eda_bmpevt_reset ( vsf_bmpevt_t * pthis,
uint_fast32_t mask )
extern

◆ vsf_eda_bmpevt_cancel()

vsf_err_t vsf_eda_bmpevt_cancel ( vsf_bmpevt_t * pthis,
uint_fast32_t mask )
extern

◆ vsf_eda_bmpevt_pend()

vsf_err_t vsf_eda_bmpevt_pend ( vsf_bmpevt_t * pthis,
vsf_bmpevt_pender_t * pender,
vsf_timeout_tick_t timeout )
extern

◆ vsf_eda_bmpevt_poll()

vsf_sync_reason_t vsf_eda_bmpevt_poll ( vsf_bmpevt_t * pthis,
vsf_bmpevt_pender_t * pender,
vsf_evt_t evt )
extern

◆ vsf_eda_queue_init()

vsf_err_t vsf_eda_queue_init ( vsf_eda_queue_t * pthis,
uint_fast16_t max )
extern

◆ vsf_eda_queue_send()

vsf_err_t vsf_eda_queue_send ( vsf_eda_queue_t * pthis,
void * node,
vsf_timeout_tick_t timeout )
extern

◆ vsf_eda_queue_send_ex()

vsf_err_t vsf_eda_queue_send_ex ( vsf_eda_queue_t * pthis,
void * node,
vsf_timeout_tick_t timeout,
vsf_eda_t * eda )
extern

◆ vsf_eda_queue_send_get_reason()

vsf_sync_reason_t vsf_eda_queue_send_get_reason ( vsf_eda_queue_t * pthis,
vsf_evt_t evt,
void * node )
extern

◆ vsf_eda_queue_recv()

vsf_err_t vsf_eda_queue_recv ( vsf_eda_queue_t * pthis,
void ** node,
vsf_timeout_tick_t timeout )
extern

◆ vsf_eda_queue_recv_ex()

vsf_err_t vsf_eda_queue_recv_ex ( vsf_eda_queue_t * pthis,
void ** node,
vsf_timeout_tick_t timeout,
vsf_eda_t * eda )
extern

◆ vsf_eda_queue_recv_get_reason()

vsf_sync_reason_t vsf_eda_queue_recv_get_reason ( vsf_eda_queue_t * pthis,
vsf_evt_t evt,
void ** node )
extern

◆ vsf_eda_queue_get_cnt()

uint_fast16_t vsf_eda_queue_get_cnt ( vsf_eda_queue_t * pthis)
extern

◆ vsf_eda_queue_cancel()

void vsf_eda_queue_cancel ( vsf_eda_queue_t * pthis)
extern

◆ vsf_eda_queue_send_isr()

vsf_err_t vsf_eda_queue_send_isr ( vsf_eda_queue_t * pthis,
void * node )
extern

◆ vsf_eda_queue_recv_isr()

vsf_err_t vsf_eda_queue_recv_isr ( vsf_eda_queue_t * pthis,
void ** node )
extern

Variable Documentation

◆ vsf_eda_bmpevt_adapter_sync_op

const vsf_bmpevt_adapter_op_t vsf_eda_bmpevt_adapter_sync_op
extern

◆ vsf_eda_bmpevt_adapter_bmpevt_op

const vsf_bmpevt_adapter_op_t vsf_eda_bmpevt_adapter_bmpevt_op
extern
Generated from commit: vsfteam/vsf@9c2a974