VSF Documented
Macros | Functions
vsf_usbd.c File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "kernel/vsf_kernel.h"
#include "./vsf_usbd.h"
#include "./vsf_usbd_drv_ifs.h"

Macros

#define __VSF_EDA_CLASS_INHERIT__
 
#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__
 
#define __VSF_USBD_CLASS_IMPLEMENT
 
#define VSF_USBD_CFG_PROTECT_LEVEL   interrupt
 
#define __vsf_usbd_protect   vsf_protect(VSF_USBD_CFG_PROTECT_LEVEL)
 
#define __vsf_usbd_unprotect   vsf_unprotect(VSF_USBD_CFG_PROTECT_LEVEL)
 
#define __vsf_usbd_trace(...)   vsf_trace_debug(__VA_ARGS__)
 
#define __vsf_usbd_trace_buffer(__ptr, __size)   vsf_trace_buffer(VSF_TRACE_DEBUG, (__ptr), (__size), VSF_TRACE_DF_NEWLINE)
 
#define __vsf_usbd_trace_setup(__req)
 
#define __vsf_usbd_trace_evt(__evt, __value)
 

Functions

vsf_err_t vsf_usbd_notify_user (vk_usbd_dev_t *dev, usb_evt_t evt, void *param)
 
vk_usbd_desc_tvk_usbd_get_descriptor (vk_usbd_desc_t *desc, uint_fast8_t desc_num, uint_fast8_t type, uint_fast8_t index, uint_fast16_t langid)
 
vsf_err_t vk_usbd_ep_stall (vk_usbd_dev_t *dev, uint_fast8_t ep)
 
vsf_err_t vk_usbd_ep_recv (vk_usbd_dev_t *dev, vk_usbd_trans_t *trans)
 
vsf_err_t vk_usbd_ep_send (vk_usbd_dev_t *dev, vk_usbd_trans_t *trans)
 
void vk_usbd_stdreq_status_stage (vk_usbd_dev_t *dev)
 
void vk_usbd_stdreq_data_stage (vk_usbd_dev_t *dev)
 
void vk_usbd_connect (vk_usbd_dev_t *dev)
 
void vk_usbd_disconnect (vk_usbd_dev_t *dev)
 
void vk_usbd_wakeup (vk_usbd_dev_t *dev)
 
void vk_usbd_init (vk_usbd_dev_t *dev)
 
void vk_usbd_fini (vk_usbd_dev_t *dev)
 
vsf_err_t vk_usbd_ep_recv_stream (vk_usbd_ep_stream_t *stream_ep, uint_fast32_t size)
 
vsf_err_t vk_usbd_ep_send_stream (vk_usbd_ep_stream_t *stream_ep, uint_fast32_t size)
 

Macro Definition Documentation

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ __VSF_SIMPLE_STREAM_CLASS_INHERIT__

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__

◆ __VSF_USBD_CLASS_IMPLEMENT

#define __VSF_USBD_CLASS_IMPLEMENT

◆ VSF_USBD_CFG_PROTECT_LEVEL

#define VSF_USBD_CFG_PROTECT_LEVEL   interrupt
Note
If ep_stream is enabled, default protect level will be interrupt, ! because vk_usbd_ep_recv and vk_usbd_ep_send will be called in ! evthandler of stream, which is maybe called in interrupt. ! If ep_stream is not enabled, default protect level will be none. ! ! in the case when you want to disable it, ! please use following macro: ! #define VSF_USBD_CFG_PROTECT_LEVEL none ! ! in the case when you want to use scheduler-safe, ! please use following macro: ! #define VSF_USBD_CFG_PROTECT_LEVEL scheduler ! ! NOTE: This macro should be defined in vsf_usr_cfg.h

◆ __vsf_usbd_protect

#define __vsf_usbd_protect   vsf_protect(VSF_USBD_CFG_PROTECT_LEVEL)

◆ __vsf_usbd_unprotect

#define __vsf_usbd_unprotect   vsf_unprotect(VSF_USBD_CFG_PROTECT_LEVEL)

◆ __vsf_usbd_trace

#define __vsf_usbd_trace (   ...)    vsf_trace_debug(__VA_ARGS__)

◆ __vsf_usbd_trace_buffer

#define __vsf_usbd_trace_buffer (   __ptr,
  __size 
)    vsf_trace_buffer(VSF_TRACE_DEBUG, (__ptr), (__size), VSF_TRACE_DF_NEWLINE)

◆ __vsf_usbd_trace_setup

#define __vsf_usbd_trace_setup (   __req)
Value:
do { \
__vsf_usbd_trace("%lld: usbd_setup: ", vsf_systimer_get_ms()); \
__vsf_usbd_trace_buffer((__req), 8); \
} while (0)
#define vsf_systimer_get_ms()
Definition vsf_eda.h:176

◆ __vsf_usbd_trace_evt

#define __vsf_usbd_trace_evt (   __evt,
  __value 
)
Value:
do { \
__vsf_usbd_trace("%lld: usbd_evt: %s %d" VSF_TRACE_CFG_LINEEND, \
vsf_systimer_get_ms(), __vsf_usbd_trace_evts[(__evt)], (__value));\
} while (0)
#define VSF_TRACE_CFG_LINEEND
Definition vsf_trace.h:47

Function Documentation

◆ vsf_usbd_notify_user()

vsf_err_t vsf_usbd_notify_user ( vk_usbd_dev_t *  dev,
usb_evt_t  evt,
void *  param 
)
extern

◆ vk_usbd_get_descriptor()

vk_usbd_desc_t * vk_usbd_get_descriptor ( vk_usbd_desc_t desc,
uint_fast8_t  desc_num,
uint_fast8_t  type,
uint_fast8_t  index,
uint_fast16_t  langid 
)

◆ vk_usbd_ep_stall()

vsf_err_t vk_usbd_ep_stall ( vk_usbd_dev_t *  dev,
uint_fast8_t  ep 
)

◆ vk_usbd_ep_recv()

vsf_err_t vk_usbd_ep_recv ( vk_usbd_dev_t *  dev,
vk_usbd_trans_t trans 
)

◆ vk_usbd_ep_send()

vsf_err_t vk_usbd_ep_send ( vk_usbd_dev_t *  dev,
vk_usbd_trans_t trans 
)

◆ vk_usbd_stdreq_status_stage()

void vk_usbd_stdreq_status_stage ( vk_usbd_dev_t *  dev)

◆ vk_usbd_stdreq_data_stage()

void vk_usbd_stdreq_data_stage ( vk_usbd_dev_t *  dev)

◆ vk_usbd_connect()

void vk_usbd_connect ( vk_usbd_dev_t *  dev)

◆ vk_usbd_disconnect()

void vk_usbd_disconnect ( vk_usbd_dev_t *  dev)

◆ vk_usbd_wakeup()

void vk_usbd_wakeup ( vk_usbd_dev_t *  dev)

◆ vk_usbd_init()

void vk_usbd_init ( vk_usbd_dev_t *  dev)

◆ vk_usbd_fini()

void vk_usbd_fini ( vk_usbd_dev_t *  dev)

◆ vk_usbd_ep_recv_stream()

vsf_err_t vk_usbd_ep_recv_stream ( vk_usbd_ep_stream_t *  stream_ep,
uint_fast32_t  size 
)

◆ vk_usbd_ep_send_stream()

vsf_err_t vk_usbd_ep_send_stream ( vk_usbd_ep_stream_t *  stream_ep,
uint_fast32_t  size 
)