The following structures provide the USB device descriptors required for USB Device with a single interface CDC.
It is ready to use and do not require more definition.
Data Structures | |
struct | udc_desc_t |
Structure for USB Device Configuration Descriptor. More... | |
Macros | |
#define | USB_DEVICE_EP_CTRL_SIZE 64 |
Control endpoint size (Endpoint 0) More... | |
#define | USB_DEVICE_NB_INTERFACE (2*UDI_CDC_PORT_NB) |
Two interfaces for a CDC device. More... | |
#define | USB_VERSION USB_V2_0 |
Variables | |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t | udc_desc_fs |
USB Device Configuration Descriptor filled for full and high speed. More... | |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t | udc_desc_hs |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_desc_t | udc_device_desc |
USB Device Descriptor. More... | |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_qual_desc_t | udc_device_qual |
USB Device Qualifier Descriptor for HS. More... | |
UDC structures which content all USB Device definitions | |
UDC_DESC_STORAGE udi_api_t * | udi_apis [USB_DEVICE_NB_INTERFACE] |
Associate an UDI for each USB interface. More... | |
UDC_DESC_STORAGE udc_config_speed_t | udc_config_fs [1] |
Add UDI with USB Descriptors FS & HS. More... | |
UDC_DESC_STORAGE udc_config_speed_t | udc_config_hs [1] |
UDC_DESC_STORAGE udc_config_t | udc_config |
Add all information about USB Device in global structure for UDC. More... | |
Default endpoint configuration | |
The USBB, UDP, UDPHS and UOTGHS interfaces can support up to 2 CDC interfaces. | |
#define | UDI_CDC_DATA_EP_IN_0 (1 | USB_EP_DIR_IN) |
#define | UDI_CDC_DATA_EP_OUT_0 (2 | USB_EP_DIR_OUT) |
#define | UDI_CDC_COMM_EP_0 (3 | USB_EP_DIR_IN) |
#define | UDI_CDC_DATA_EP_IN_1 (4 | USB_EP_DIR_IN) |
#define | UDI_CDC_DATA_EP_OUT_1 (5 | USB_EP_DIR_OUT) |
#define | UDI_CDC_COMM_EP_1 (6 | USB_EP_DIR_IN) |
#define | USB_DEVICE_MAX_EP (3*UDI_CDC_PORT_NB) |
3 endpoints used per CDC interface More... | |
Default Interface numbers | |
#define | UDI_CDC_COMM_IFACE_NUMBER_0 0 |
#define | UDI_CDC_DATA_IFACE_NUMBER_0 1 |
#define | UDI_CDC_COMM_IFACE_NUMBER_1 2 |
#define | UDI_CDC_DATA_IFACE_NUMBER_1 3 |
#define | UDI_CDC_COMM_IFACE_NUMBER_2 4 |
#define | UDI_CDC_DATA_IFACE_NUMBER_2 5 |
#define | UDI_CDC_COMM_IFACE_NUMBER_3 6 |
#define | UDI_CDC_DATA_IFACE_NUMBER_3 7 |
#define | UDI_CDC_COMM_IFACE_NUMBER_4 8 |
#define | UDI_CDC_DATA_IFACE_NUMBER_4 9 |
#define | UDI_CDC_COMM_IFACE_NUMBER_5 10 |
#define | UDI_CDC_DATA_IFACE_NUMBER_5 11 |
#define | UDI_CDC_COMM_IFACE_NUMBER_6 12 |
#define | UDI_CDC_DATA_IFACE_NUMBER_6 13 |
#define UDI_CDC_COMM_EP_0 (3 | USB_EP_DIR_IN) |
Referenced by udi_cdc_ctrl_state_change().
#define UDI_CDC_COMM_EP_1 (6 | USB_EP_DIR_IN) |
#define UDI_CDC_COMM_IFACE_NUMBER_0 0 |
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_COMM_IFACE_NUMBER_1 2 |
#define UDI_CDC_COMM_IFACE_NUMBER_2 4 |
#define UDI_CDC_COMM_IFACE_NUMBER_3 6 |
#define UDI_CDC_COMM_IFACE_NUMBER_4 8 |
#define UDI_CDC_COMM_IFACE_NUMBER_5 10 |
#define UDI_CDC_COMM_IFACE_NUMBER_6 12 |
#define UDI_CDC_DATA_EP_IN_0 (1 | USB_EP_DIR_IN) |
Referenced by udi_cdc_tx_send().
#define UDI_CDC_DATA_EP_IN_1 (4 | USB_EP_DIR_IN) |
#define UDI_CDC_DATA_EP_OUT_0 (2 | USB_EP_DIR_OUT) |
Referenced by udi_cdc_rx_start().
#define UDI_CDC_DATA_EP_OUT_1 (5 | USB_EP_DIR_OUT) |
#define UDI_CDC_DATA_IFACE_NUMBER_0 1 |
#define UDI_CDC_DATA_IFACE_NUMBER_1 3 |
#define UDI_CDC_DATA_IFACE_NUMBER_2 5 |
#define UDI_CDC_DATA_IFACE_NUMBER_3 7 |
#define UDI_CDC_DATA_IFACE_NUMBER_4 9 |
#define UDI_CDC_DATA_IFACE_NUMBER_5 11 |
#define UDI_CDC_DATA_IFACE_NUMBER_6 13 |
#define USB_DEVICE_EP_CTRL_SIZE 64 |
Control endpoint size (Endpoint 0)
Referenced by udd_ctrl_in_sent(), udd_ctrl_out_received(), and udd_reset_ep_ctrl().
#define USB_DEVICE_MAX_EP (3*UDI_CDC_PORT_NB) |
3 endpoints used per CDC interface
Referenced by udd_ep_alloc(), udd_ep_clear_halt(), udd_ep_free(), udd_ep_interrupt(), udd_ep_job_table_kill(), udd_ep_job_table_reset(), udd_ep_run(), udd_ep_set_halt(), and udd_ep_wait_stall_clear().
#define USB_DEVICE_NB_INTERFACE (2*UDI_CDC_PORT_NB) |
Two interfaces for a CDC device.
#define USB_VERSION USB_V2_0 |
UDC_DESC_STORAGE udc_config_t udc_config |
Add all information about USB Device in global structure for UDC.
Global variables of USB Device Descriptor and UDI links.
Referenced by udc_req_std_dev_get_descriptor(), and udc_req_std_dev_set_configuration().
UDC_DESC_STORAGE udc_config_speed_t udc_config_fs[1] |
Add UDI with USB Descriptors FS & HS.
UDC_DESC_STORAGE udc_config_speed_t udc_config_hs[1] |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t udc_desc_fs |
USB Device Configuration Descriptor filled for full and high speed.
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t udc_desc_hs |
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc |
USB Device Descriptor.
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_qual_desc_t udc_device_qual |
USB Device Qualifier Descriptor for HS.
UDC_DESC_STORAGE udi_api_t* udi_apis[USB_DEVICE_NB_INTERFACE] |
Associate an UDI for each USB interface.