VSF Documented
Data Structures | Macros | Variables
vsf_usbd_CDCNCM.h File Reference
#include "component/usb/vsf_usb_cfg.h"
#include "component/tcpip/vsf_tcpip.h"
#include "component/usb/common/class/CDC/vsf_usb_CDCECM.h"
#include "component/usb/common/class/CDC/vsf_usb_CDCNCM.h"
#include "./vsf_usbd_CDCNCM_desc.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

class  vk_usbd_cdcncm_t
 

Macros

#define VSF_USBD_CDCNCM_SUPPORT_NTB32   ENABLED
 
#define VSF_USBD_CDCNCM_CFG_MAX_NTB_IN_SIZE   (4 * 1024)
 
#define VSF_USBD_CDCNCM_CFG_MAX_NTB_OUT_SIZE   (4 * 1024)
 
#define USB_CDC_NCM_PARAM(__INT_IN_EP, __BULK_IN_EP, __BULK_OUT_EP)
 
#define USB_CDC_NCM_IFS_NUM   USB_CDC_IFS_NUM
 
#define USB_CDC_NCM_IFS_CONTROL(__CDC_NCM_PARAM)    USB_IFS(&vk_usbd_cdcncm_control, &__CDC_NCM_PARAM)
 
#define USB_CDC_NCM_IFS_DATA(__CDC_NCM_PARAM)    USB_IFS(&vk_usbd_cdcncm_data, &__CDC_NCM_PARAM)
 
#define __usbd_cdc_ncm_desc_iad(__name, __ifs_start, __i_func, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __max_datagram_size, ...)
 
#define __usbd_cdc_ncm_func1(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac, __max_datagram_size)
 
#define __usbd_cdc_ncm_func0(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac)
 
#define __usbd_cdc_ncm_func(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac, ...)
 
#define __usbd_cdc_ncm_ifs(__name, __func_id)
 
#define usbd_cdc_ncm_desc_iad(__name, __func_id, ...)
 
#define usbd_cdc_ncm_desc_table(__name, __func_id)
 
#define usbd_cdc_ncm_func(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac, ...)
 
#define usbd_cdc_ncm_ifs(__name, __func_id)    __usbd_cdc_ncm_ifs(__name, __func_id)
 
#define usbd_cdcncm_desc_iad(...)   usbd_cdc_ncm_desc_iad(__VA_ARGS__)
 
#define usbd_cdcncm_desc_table(...)   usbd_cdc_ncm_desc_table(__VA_ARGS__)
 
#define usbd_cdcncm_func(...)   usbd_cdc_ncm_func(__VA_ARGS__)
 
#define usbd_cdcncm_ifs(...)   usbd_cdc_ncm_ifs(__VA_ARGS__)
 

Variables

const vk_usbd_class_op_t vk_usbd_cdcncm_control
 
const vk_usbd_class_op_t vk_usbd_cdcncm_data
 

Macro Definition Documentation

◆ VSF_USBD_CDCNCM_SUPPORT_NTB32

#define VSF_USBD_CDCNCM_SUPPORT_NTB32   ENABLED

◆ VSF_USBD_CDCNCM_CFG_MAX_NTB_IN_SIZE

#define VSF_USBD_CDCNCM_CFG_MAX_NTB_IN_SIZE   (4 * 1024)

◆ VSF_USBD_CDCNCM_CFG_MAX_NTB_OUT_SIZE

#define VSF_USBD_CDCNCM_CFG_MAX_NTB_OUT_SIZE   (4 * 1024)

◆ USB_CDC_NCM_PARAM

#define USB_CDC_NCM_PARAM (   __INT_IN_EP,
  __BULK_IN_EP,
  __BULK_OUT_EP 
)
Value:
.ep = { \
.notify = (__INT_IN_EP), \
.out = (__BULK_OUT_EP), \
.in = (__BULK_IN_EP), \
},

◆ USB_CDC_NCM_IFS_NUM

#define USB_CDC_NCM_IFS_NUM   USB_CDC_IFS_NUM

◆ USB_CDC_NCM_IFS_CONTROL

#define USB_CDC_NCM_IFS_CONTROL (   __CDC_NCM_PARAM)     USB_IFS(&vk_usbd_cdcncm_control, &__CDC_NCM_PARAM)

◆ USB_CDC_NCM_IFS_DATA

#define USB_CDC_NCM_IFS_DATA (   __CDC_NCM_PARAM)     USB_IFS(&vk_usbd_cdcncm_data, &__CDC_NCM_PARAM)

◆ __usbd_cdc_ncm_desc_iad

#define __usbd_cdc_ncm_desc_iad (   __name,
  __ifs_start,
  __i_func,
  __int_in_ep,
  __bulk_in_ep,
  __bulk_out_ep,
  __bulk_ep_size,
  __int_ep_interval,
  __i_mac,
  __max_datagram_size,
  ... 
)
Value:
USB_DESC_CDC_NCM_IAD((__ifs_start), (__i_func), \
(__int_in_ep), (__bulk_in_ep), (__bulk_out_ep), \
(__bulk_ep_size), (__int_ep_interval), (__i_mac), \
(__max_datagram_size), ##__VA_ARGS__)
#define USB_DESC_CDC_NCM_IAD(__IFS_START, __I_FUNC, __INT_IN_EP, __BULK_IN_EP, __BULK_OUT_EP, __BULK_EP_SIZE, __INT_EP_INTERVAL, __I_MAC,...)
Definition vsf_usbd_CDCNCM_desc.h:91

◆ __usbd_cdc_ncm_func1

#define __usbd_cdc_ncm_func1 (   __name,
  __func_id,
  __str_func,
  __i_func,
  __ifs_start,
  __int_in_ep,
  __bulk_in_ep,
  __bulk_out_ep,
  __bulk_ep_size,
  __int_ep_interval,
  __i_mac,
  __str_mac,
  __max_datagram_size 
)
Value:
enum { \
__##__name##_CDCNCM##__func_id##_IFS_START = (__ifs_start), \
__##__name##_CDCNCM##__func_id##_I_FUNC = (__i_func), \
__##__name##_CDCNCM##__func_id##_INTIN_EP = (__int_in_ep), \
__##__name##_CDCNCM##__func_id##_BULKIN_EP = (__bulk_in_ep), \
__##__name##_CDCNCM##__func_id##_BULKOUT_EP = (__bulk_out_ep), \
__##__name##_CDCNCM##__func_id##_BULK_EP_SIZE = (__bulk_ep_size),\
__##__name##_CDCNCM##__func_id##_BULK_EP_INTERVAL = (__int_ep_interval),\
__##__name##_CDCNCM##__func_id##_I_MAC = (__i_mac), \
__##__name##_CDCNCM##__func_id##_MAX_DATAGRAM_SIZE = (__max_datagram_size),\
}; \
usbd_func_str_desc(__name, __func_id, __str_func) \
usbd_func_str_desc(__name, __func_id ## _mac, __str_mac) \
vk_usbd_cdcncm_t __##__name##_CDCNCM##__func_id = { \
USB_CDC_NCM_PARAM((__int_in_ep), (__bulk_in_ep), (__bulk_out_ep))\
.max_datagram_size = (__max_datagram_size), \
.str_mac = (__##__name##_str_##func##__func_id##_mac.str), \
};
Definition vsf_usbd_CDCNCM.h:153
vk_usbd_cdc_t uint16_t max_datagram_size
Definition vsf_usbd_CDCNCM.h:158
#define __name
Definition hci_transport_aic8800.c:552

◆ __usbd_cdc_ncm_func0

#define __usbd_cdc_ncm_func0 (   __name,
  __func_id,
  __str_func,
  __i_func,
  __ifs_start,
  __int_in_ep,
  __bulk_in_ep,
  __bulk_out_ep,
  __bulk_ep_size,
  __int_ep_interval,
  __i_mac,
  __str_mac 
)
Value:
__usbd_cdc_ncm_func1(__name, __func_id, __str_func, __i_func, __ifs_start,\
__int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval,\
__i_mac, __str_mac, (14 + 1500))
#define __usbd_cdc_ncm_func1(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac, __max_datagram_size)
Definition vsf_usbd_CDCNCM.h:81

◆ __usbd_cdc_ncm_func

#define __usbd_cdc_ncm_func (   __name,
  __func_id,
  __str_func,
  __i_func,
  __ifs_start,
  __int_in_ep,
  __bulk_in_ep,
  __bulk_out_ep,
  __bulk_ep_size,
  __int_ep_interval,
  __i_mac,
  __str_mac,
  ... 
)
Value:
__PLOOC_EVAL(__usbd_cdc_ncm_func, __VA_ARGS__)(__name, __func_id, __str_func, __i_func, __ifs_start,\
__int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval,\
__i_mac, __str_mac, ##__VA_ARGS__)
#define __usbd_cdc_ncm_func(__name, __func_id, __str_func, __i_func, __ifs_start, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __str_mac,...)
Definition vsf_usbd_CDCNCM.h:108

◆ __usbd_cdc_ncm_ifs

#define __usbd_cdc_ncm_ifs (   __name,
  __func_id 
)
Value:
USB_CDC_NCM_IFS_CONTROL(__##__name##_CDCNCM##__func_id) \
USB_CDC_NCM_IFS_DATA(__##__name##_CDCNCM##__func_id)
#define USB_CDC_NCM_IFS_CONTROL(__CDC_NCM_PARAM)
Definition vsf_usbd_CDCNCM.h:66

◆ usbd_cdc_ncm_desc_iad

#define usbd_cdc_ncm_desc_iad (   __name,
  __func_id,
  ... 
)
Value:
__##__name##_CDCNCM##__func_id##_IFS_START, \
4 + __##__name##_CDCNCM##__func_id##_I_FUNC, \
__##__name##_CDCNCM##__func_id##_INTIN_EP, \
__##__name##_CDCNCM##__func_id##_BULKIN_EP, \
__##__name##_CDCNCM##__func_id##_BULKOUT_EP, \
__##__name##_CDCNCM##__func_id##_BULK_EP_SIZE, \
__##__name##_CDCNCM##__func_id##_BULK_EP_INTERVAL, \
__##__name##_CDCNCM##__func_id##_I_MAC, \
__##__name##_CDCNCM##__func_id##_MAX_DATAGRAM_SIZE, ##__VA_ARGS__)
#define __usbd_cdc_ncm_desc_iad(__name, __ifs_start, __i_func, __int_in_ep, __bulk_in_ep, __bulk_out_ep, __bulk_ep_size, __int_ep_interval, __i_mac, __max_datagram_size,...)
Definition vsf_usbd_CDCNCM.h:73

◆ usbd_cdc_ncm_desc_table

#define usbd_cdc_ncm_desc_table (   __name,
  __func_id 
)
Value:
VSF_USBD_DESC_STRING(0x0409, __##__name##_CDCNCM##__func_id##_I_MAC,\
&__##__name##_str_func##__func_id##_mac, sizeof(__##__name##_str_func##__func_id##_mac)),
#define usbd_func_str_desc_table(__name, __func_id,...)
Definition vsf_usbd.h:352

◆ usbd_cdc_ncm_func

#define usbd_cdc_ncm_func (   __name,
  __func_id,
  __str_func,
  __i_func,
  __ifs_start,
  __int_in_ep,
  __bulk_in_ep,
  __bulk_out_ep,
  __bulk_ep_size,
  __int_ep_interval,
  __i_mac,
  __str_mac,
  ... 
)
Value:
__usbd_cdc_ncm_func(__name, __func_id, (__str_func), (__i_func), (__ifs_start),\
(__int_in_ep), (__bulk_in_ep), (__bulk_out_ep), (__bulk_ep_size), (__int_ep_interval),\
(__i_mac), (__str_mac), ##__VA_ARGS__)

◆ usbd_cdc_ncm_ifs

#define usbd_cdc_ncm_ifs (   __name,
  __func_id 
)     __usbd_cdc_ncm_ifs(__name, __func_id)

◆ usbd_cdcncm_desc_iad

#define usbd_cdcncm_desc_iad (   ...)    usbd_cdc_ncm_desc_iad(__VA_ARGS__)

◆ usbd_cdcncm_desc_table

#define usbd_cdcncm_desc_table (   ...)    usbd_cdc_ncm_desc_table(__VA_ARGS__)

◆ usbd_cdcncm_func

#define usbd_cdcncm_func (   ...)    usbd_cdc_ncm_func(__VA_ARGS__)

◆ usbd_cdcncm_ifs

#define usbd_cdcncm_ifs (   ...)    usbd_cdc_ncm_ifs(__VA_ARGS__)

Variable Documentation

◆ vk_usbd_cdcncm_control

const vk_usbd_class_op_t vk_usbd_cdcncm_control
extern

◆ vk_usbd_cdcncm_data

const vk_usbd_class_op_t vk_usbd_cdcncm_data
extern