USB Component  Version 6.0
MDK-Professional Middleware for USB Device and Host
 All Data Structures Functions Variables Enumerations Enumerator Groups Pages
Structures

Structures of USB Device component. More...

Structures

struct  usbd_adc_data_t
 Structure containing runtime values for ADC device instance. More...
 
struct  usbd_adc_t
 Structure containing configuration values for ADC device instance. More...
 
struct  usbd_cdc_data_t
 Structure containing runtime values for CDC device instance. More...
 
struct  usbd_cdc_data_t.__unnamed__
 
struct  usbd_cdc_t
 Structure containing configuration values for CDC device instance. More...
 
struct  usbd_custom_class_t
 Structure containing configuration values for Custom Class device instance. More...
 
struct  usbd_data_t
 Structure containing device information. More...
 
union  usbd_data_t.__unnamed__
 
struct  usbd_data_t.__unnamed__.__unnamed__
 
struct  usbd_desc_t
 Structure containing all descriptors (except report descriptor) More...
 
struct  usbd_dev_t
 Structure containing controller instance information for stack. More...
 
struct  usbd_ep_data_t
 Structure used for Control Endpoint 0 communication. More...
 
struct  usbd_hid_data_t
 Structure containing runtime values for HID device instance. More...
 
struct  usbd_hid_desc_t
 Structure containing values for HID descriptor. More...
 
struct  usbd_hid_t
 Structure containing configuration values for HID device instance. More...
 
struct  usbd_msc_data_t
 Structure containing runtime values for MSC device instance. More...
 
struct  usbd_msc_t
 Structure containing configuration values for MSC device instance. More...
 

Description

Structures of USB Device component.


Data Structure Documentation

struct usbd_adc_data_t

Structure containing runtime values for ADC device instance.

Used by

Data Fields
uint16_t data_in data in index
uint16_t data_out data out index
uint8_t data_run data stream run state
uint8_t mute mute state
uint16_t vol_cur volume current value
uint16_t vol_max volume maximum value
uint16_t vol_min volume minimum value
uint16_t vol_res volume resolution
uint32_t volume volume level
struct usbd_adc_t

Structure containing configuration values for ADC device instance.

Data Fields
uint32_t cfg_b_s sample resolution configuration settings
uint32_t cfg_data_freq data frequency configuration setting
uint32_t cfg_p_c sample packet count
uint32_t cfg_p_s sample packet size
uint8_t cif_num audio control interface number
int16_t * data_buf data buffer for audio samples
usbd_adc_data_t * data_ptr pointer to structure containing runtime values
uint8_t dev_num device instance configuration setting
uint8_t ep_iso_out isochronous out endpoint number
uint8_t sif_num audio streaming (zero bandwidth) interface number (operational is next)
struct usbd_cdc_data_t

Structure containing runtime values for CDC device instance.

Used by

Data Fields
struct usbd_cdc_data_t __unnamed__
uint16_t control_line_state control line state settings bitmap (bit 0: DTR state, bit 1: - RTS state)
int32_t data_to_send_rd number of bytes read from the send intermediate buffer
int32_t data_to_send_wr number of bytes written to the send intermediate buffer
CDC_LINE_CODING line_coding communication settings */
uint8_t * ptr_data_read pointer to the receive intermediate buffer to the received read data
uint8_t * ptr_data_received pointer to the receive intermediate buffer to the received unread data
uint8_t * ptr_data_sent pointer to send intermediate buffer to data already sent
uint8_t * ptr_data_to_send pointer to send intermediate buffer to data to be sent
struct usbd_cdc_data_t.__unnamed__
Data Fields
uint32_t data_receive_active: 1 flag active while data is being received
uint32_t data_send_active: 1 flag active while data is being sent
uint32_t data_send_zlp: 1 flag active when zero length packet needs to be sent
uint32_t notify_active: 1 flag active while notification is being sent
struct usbd_cdc_t

Structure containing configuration values for CDC device instance.

Data Fields
uint8_t cif_num communication class interface number
usbd_cdc_data_t * data_ptr pointer to structure containing runtime values
uint8_t dev_num device instance configuration setting
uint8_t dif_num data class interface number
uint8_t ep_bulk_in bulk in endpoint number
uint8_t ep_bulk_out bulk out endpoint number
uint8_t ep_int_in interrupt in endpoint number
uint16_t max_packet_size maximum packet size for interrupt endpoint (for LS/FS and HS)
uint16_t max_packet_size1 maximum packet size for bulk endpoints (for LS/FS and HS)
uint8_t * notify_buf notify data buffer
uint8_t * receive_buf receive data buffer
uint16_t receive_buf_sz maximum size of receive buffer
uint8_t * send_buf send data buffer
uint16_t send_buf_sz maximum size of send buffer
struct usbd_custom_class_t

Structure containing configuration values for Custom Class device instance.

Data Fields
uint8_t dev_num device instance configuration setting
uint8_t ep_msk mask of used endpoints
uint8_t if0_ep_bulk_in interface 0 bulk in endpoint number
uint8_t if0_ep_bulk_out interface 0 bulk out endpoint number
uint8_t if0_ep_int_in interface 0 interrupt in endpoint number
uint8_t if0_ep_int_out interface 0 interrupt out endpoint number
uint8_t if0_ep_iso_in interface 0 isochronous in endpoint number
uint8_t if0_ep_iso_out interface 0 isochronous out endpoint number
uint8_t if0_num interface 0 number
uint8_t if1_ep_bulk_in interface 1 bulk in endpoint number
uint8_t if1_ep_bulk_out interface 1 bulk out endpoint number
uint8_t if1_ep_int_in interface 1 interrupt in endpoint number
uint8_t if1_ep_int_out interface 1 interrupt out endpoint number
uint8_t if1_ep_iso_in interface 1 isochronous in endpoint number
uint8_t if1_ep_iso_out interface 1 isochronous out endpoint number
uint8_t if1_num interface 1 number
uint8_t if2_ep_bulk_in interface 2 bulk in endpoint number
uint8_t if2_ep_bulk_out interface 2 bulk out endpoint number
uint8_t if2_ep_int_in interface 2 interrupt in endpoint number
uint8_t if2_ep_int_out interface 2 interrupt out endpoint number
uint8_t if2_ep_iso_in interface 2 isochronous in endpoint number
uint8_t if2_ep_iso_out interface 2 isochronous out endpoint number
uint8_t if2_num interface 2 number
uint8_t if3_ep_bulk_in interface 3 bulk in endpoint number
uint8_t if3_ep_bulk_out interface 3 bulk out endpoint number
uint8_t if3_ep_int_in interface 3 interrupt in endpoint number
uint8_t if3_ep_int_out interface 3 interrupt out endpoint number
uint8_t if3_ep_iso_in interface 3 isochronous in endpoint number
uint8_t if3_ep_iso_out interface 3 isochronous out endpoint number
uint8_t if3_num interface 3 number
struct usbd_data_t

Structure containing device information.

Used by

Data Fields
union usbd_data_t __unnamed__
uint8_t * buf Buffer for in/out data.
uint8_t configuration active configuration
uint8_t device_address device address on the bus
uint16_t device_status device status (remote wakeup, self powered)
uint32_t endpoint_active mask containing endpoints with active transfers
uint32_t endpoint_halt mask containing halted endpoints
uint32_t endpoint_mask mask containing active endpoints
uint32_t endpoint_stall mask containing stalled endpoints
usbd_ep_data_t ep0_data Control Endpoint 0 structure.
uint8_t interface active interface
int32_t len Length for in/out data.
int32_t len_cur Currently transferred bytes for in/out data.
uint8_t num_interfaces number of available interfaces
USB_SETUP_PACKET setup_packet Setup Packet structure.
union usbd_data_t.__unnamed__
Data Fields
__unnamed__ __unnamed__
uint8_t flags status flags
struct usbd_data_t.__unnamed__.__unnamed__
Data Fields
uint8_t ext_handle: 1 externally habdled request
uint8_t high_speed: 1 information if device is in high speed
uint8_t zlp: 1 zero length packet flag
struct usbd_desc_t

Structure containing all descriptors (except report descriptor)

Data Fields
uint8_t * config_descriptor_fs configuration descriptor for low/full-speed
uint8_t * config_descriptor_hs configuration descriptor for high-speed
uint8_t * device_descriptor device descriptor
uint8_t * device_qualifier_fs device qualifier for low/full-speed
uint8_t * device_qualifier_hs device qualifier for high-speed
uint8_t * ep0_descriptor Control Endpoint 0 descriptor.
uint8_t * other_speed_config_descriptor_fs other speed configuration descriptor for low/full-speed
uint8_t * other_speed_config_descriptor_hs other speed configuration descriptor for high-speed
uint8_t * string_descriptor string descriptors
struct usbd_dev_t

Structure containing controller instance information for stack.

Data Fields
uint8_t * alt_setting pointer to alternate settings
uint8_t bmattributes bmAttributes configuration setting
usbd_data_t * data_ptr pointer to structure containing device information
ARM_DRIVER_USBD * driver pointer to driver
uint8_t * ep0_buf pointer to Control Endpoint 0 buffer
uint8_t ep_num number of endpoints
uint8_t hs high-speed capability setting
uint16_t if_num number of interfaces
uint8_t max_packet0 maximum packet size for Control Endpoint 0
struct usbd_ep_data_t

Structure used for Control Endpoint 0 communication.

Used by:

Data Fields
uint16_t cnt number of bytes in data buffer (to send or received)
uint8_t * data data buffer for send or receive
struct usbd_hid_data_t

Structure containing runtime values for HID device instance.

Used by:

Data Fields
uint16_t data_feat_rece_len length of received feature data
uint16_t data_in_rece_len length of received data
bool data_out_async_req request to asynchronously send data flag
bool data_out_end_with_short_packet data send ended with short packet flag
bool data_out_in_progress data out in progress flag
uint16_t data_out_sent_len length of data already sent
volatile uint16_t data_out_to_send_len length of data to be sent
uint32_t data_out_update_req_mask request to update send data flag
uint16_t polling_count polling count used for data update
uint8_t protocol active protocol
uint8_t * ptr_data_feat feature data buffer
uint8_t * ptr_data_in receive data buffer
uint8_t * ptr_data_out send data buffer
struct usbd_hid_desc_t

Structure containing values for HID descriptor.

Data Fields
uint16_t hid_descriptor_offset HID descriptor offset in device descriptor.
uint8_t * report_descriptor report descriptor
uint16_t report_descriptor_size report descriptor size
struct usbd_hid_t

Structure containing configuration values for HID device instance.

Data Fields
usbd_hid_data_t * data_ptr pointer to structure containing runtime values for each report
uint8_t dev_num device instance configuration setting
uint8_t ep_int_in interrupt in endpoint number
uint8_t ep_int_out interrupt out endpoint number (0 if not used)
uint8_t * feat_report feature report data buffer for each report
uint16_t feat_report_max_sz maximum feature report size
uint16_t * idle_count pointer to idle count data for each report
uint16_t * idle_reload pointer to idle reload data for each report
uint8_t * idle_set pointer to idle set data (using SetIdle) for each report
uint8_t if_num interface number
uint8_t * in_report input report data buffer for each report
uint16_t in_report_max_sz maximum input report size
uint8_t in_report_num number of input reports
uint16_t interval polling interval configuration setting (for LS/FS and HS)
uint16_t max_packet_size maximum packet size interrupt endpoints (for LS/FS and HS)
uint8_t * out_report output report data buffer for each report
uint16_t out_report_max_sz maximum output report size
uint8_t out_report_num number of output reports
struct usbd_msc_data_t

Structure containing runtime values for MSC device instance.

Used by:

Data Fields
uint32_t block read/write operation block
uint8_t * block_buf data buffer for media data read/write
uint32_t block_count media total number of blocks
uint32_t block_group blocks available size in cache
uint32_t block_size media block size
uint32_t bulk_len bulk in/out length
uint32_t bulk_req_len bulk in/out requested length
uint8_t bulk_stage bulk stage
MSC_CBW cbw command block wrapper
MSC_CSW csw command status wrapper
uint32_t length read write operation remaining length
bool media_ready media ready flag
bool media_ready_ex previous state of media ready flag
bool mem_ok memory verify status
uint32_t memory_size media memory size
uint32_t offset read/write operation offset
bool read_only media read only flag
struct usbd_msc_t

Structure containing configuration values for MSC device instance.

Data Fields
uint8_t * bulk_buf data buffer for bulk transfers
uint32_t bulk_buf_sz size of bulk buffer
usbd_msc_data_t * data_ptr pointer to structure containing runtime values
uint8_t dev_num device instance configuration setting
uint8_t ep_bulk_in bulk in endpoint number
uint8_t ep_bulk_out bulk out endpoint number
uint8_t if_num interface number
uint8_t * inquiry_data data returned upon SCSI Inquiry request
uint16_t max_packet_size maximum packet size for bulk endpoints (for LS/FS and HS)