The following structures provide the USB device descriptors required for USB Device with a single interface MSC.
It is ready to use and do not require more definition.
Endpoint numbers used by MSC interface.
#define UDI_MSC_IFACE_NUMBER 0 |
Interface number is 0 because it is the unique interface.
#define USB_DEVICE_EP_CTRL_SIZE 64 |
#define USB_DEVICE_MAX_EP 2 |
2 endpoints used by MSC interface
#define USB_DEVICE_NB_INTERFACE 1 |
Only one interface for this device.
Initial value:= {
}
UDC_DESC_STORAGE udc_config_speed_t udc_config_lsfs[1]
Add UDI with USB Descriptors FS.
Definition: udi_composite_desc.c:148
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc
INDENT-OFF.
Definition: udi_composite_desc.c:52
Add all information about USB Device in global structure for UDC.
Global variables of USB Device Descriptor and UDI links.
Initial value:= {{
}}
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t udc_desc_fs
USB Device Configuration Descriptor filled for FS.
Definition: udi_composite_desc.c:108
Standard USB configuration descriptor structure.
Definition: usb_protocol.h:410
UDC_DESC_STORAGE udi_api_t * udi_apis[USB_DEVICE_NB_INTERFACE]
Associate an UDI for each USB interface.
Definition: udi_composite_desc.c:143
#define UDC_DESC_STORAGE
Defines the memory's location of USB descriptors.
Definition: udc_desc.h:70
Add UDI with USB Descriptors FS.
Initial value:= {
.conf.bConfigurationValue = 1,
.conf.iConfiguration = 0,
}
Definition: usb_protocol.h:191
#define UDI_MSC_DESC_FS
Content of MSC interface descriptor for full speed only.
Definition: udi_msc.h:108
#define USB_DEVICE_NB_INTERFACE
Only one interface for this device.
Definition: udi_msc_desc.c:54
#define USB_CONFIG_ATTR_MUST_SET
Must always be set.
Definition: usb_protocol.h:422
Standard USB configuration descriptor structure.
Definition: usb_protocol.h:410
#define USB_DEVICE_ATTR
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:53
#define USB_DEVICE_POWER
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:52
#define USB_CONFIG_MAX_POWER(ma)
Max power in mA.
Definition: usb_protocol.h:427
#define LE16(x)
Definition: compiler.h:773
Structure for USB Device Configuration Descriptor.
Definition: udi_composite_desc.c:100
USB Device Configuration Descriptor filled for FS.
Initial value:= {
.bDeviceClass = 0,
.bDeviceSubClass = 0,
.bDeviceProtocol = 0,
.iManufacturer = 0,
.iProduct = 0,
.iSerialNumber = 0,
.bNumConfigurations = 1
}
#define USB_V2_0
Value for field bcdUSB.
Definition: usb_protocol.h:56
#define USB_DEVICE_MINOR_VERSION
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:51
Standard USB device descriptor structure.
Definition: usb_protocol.h:313
#define USB_DEVICE_EP_CTRL_SIZE
USB Device low level configuration When only one interface is used, these configurations are defined ...
Definition: common/services/usb/class/composite/device/example4/conf_usb.h:107
Definition: usb_protocol.h:190
#define USB_DEVICE_VENDOR_ID
USB Device Configuration.
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:48
#define USB_DEVICE_MAJOR_VERSION
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:50
#define LE16(x)
Definition: compiler.h:773
#define USB_DEVICE_PRODUCT_ID
Definition: common/services/usb/class/hid/dual/mouse/example/conf_usb.h:49
USB Device Descriptor.
Pointer on the selected speed device configuration.
Initial value:= {
}
UDC_DESC_STORAGE udi_api_t udi_api_msc
Global structure which contains standard UDI API for UDC.
Definition: udi_msc.c:66
Associate an UDI for each USB interface.