Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages

The following structures provide predefined USB interface descriptors.

It must be used to define the final USB descriptors.

Data Structures

struct  udi_msc_desc_t
 Interface descriptor structure for MSC. More...
 

Macros

#define UDI_MSC_DESC
 Content of MSC interface descriptor for all speeds. More...
 
#define UDI_MSC_DESC_FS
 Content of MSC interface descriptor for full speed only. More...
 
#define UDI_MSC_DESC_HS
 Content of MSC interface descriptor for high speed only. More...
 
#define UDI_MSC_EPS_SIZE_FS   64
 MSC endpoints size for full speed. More...
 
#define UDI_MSC_EPS_SIZE_HS   512
 MSC endpoints size for high speed. More...
 
#define UDI_MSC_STRING_ID   0
 By default no string associated to this interface. More...
 

#define UDI_MSC_DESC
Value:
.iface.bLength = sizeof(usb_iface_desc_t),\
.iface.bDescriptorType = USB_DT_INTERFACE,\
.iface.bInterfaceNumber = UDI_MSC_IFACE_NUMBER,\
.iface.bAlternateSetting = 0,\
.iface.bNumEndpoints = 2,\
.iface.bInterfaceClass = MSC_CLASS,\
.iface.bInterfaceSubClass = MSC_SUBCLASS_TRANSPARENT,\
.iface.bInterfaceProtocol = MSC_PROTOCOL_BULK,\
.iface.iInterface = UDI_MSC_STRING_ID,\
.ep_in.bLength = sizeof(usb_ep_desc_t),\
.ep_in.bDescriptorType = USB_DT_ENDPOINT,\
.ep_in.bEndpointAddress = UDI_MSC_EP_IN,\
.ep_in.bmAttributes = USB_EP_TYPE_BULK,\
.ep_in.bInterval = 0,\
.ep_out.bLength = sizeof(usb_ep_desc_t),\
.ep_out.bDescriptorType = USB_DT_ENDPOINT,\
.ep_out.bEndpointAddress = UDI_MSC_EP_OUT,\
.ep_out.bmAttributes = USB_EP_TYPE_BULK,\
.ep_out.bInterval = 0,
#define MSC_CLASS
Definition: usb_protocol_msc.h:59
#define UDI_MSC_EP_IN
USB MSC low level configuration In standalone these configurations are defined by the MSC module...
Definition: common/services/usb/class/composite/device/example1/conf_usb.h:148
Definition: usb_protocol.h:201
Definition: usb_protocol.h:200
#define MSC_PROTOCOL_BULK
Bulk-only.
Definition: usb_protocol_msc.h:86
Standard USB interface descriptor structure.
Definition: usb_protocol.h:460
#define UDI_MSC_EP_OUT
Definition: common/services/usb/class/composite/device/example1/conf_usb.h:149
Definition: usb_protocol.h:265
Standard USB endpoint descriptor structure.
Definition: usb_protocol.h:475
#define UDI_MSC_STRING_ID
By default no string associated to this interface.
Definition: udi_msc.h:84
#define UDI_MSC_IFACE_NUMBER
Interface number.
Definition: common/services/usb/class/composite/device/example1/conf_usb.h:152
#define MSC_SUBCLASS_TRANSPARENT
Determined by INQUIRY.
Definition: usb_protocol_msc.h:76

Content of MSC interface descriptor for all speeds.

#define UDI_MSC_DESC_FS
Value:
{\
.ep_in.wMaxPacketSize = LE16(UDI_MSC_EPS_SIZE_FS),\
.ep_out.wMaxPacketSize = LE16(UDI_MSC_EPS_SIZE_FS),\
}
#define UDI_MSC_EPS_SIZE_FS
MSC endpoints size for full speed.
Definition: udi_msc.h:88
#define UDI_MSC_DESC
Content of MSC interface descriptor for all speeds.
Definition: udi_msc.h:93
#define LE16(x)
Definition: compiler.h:1112

Content of MSC interface descriptor for full speed only.

#define UDI_MSC_DESC_HS
Value:
{\
.ep_in.wMaxPacketSize = LE16(UDI_MSC_EPS_SIZE_HS),\
.ep_out.wMaxPacketSize = LE16(UDI_MSC_EPS_SIZE_HS),\
}
#define UDI_MSC_DESC
Content of MSC interface descriptor for all speeds.
Definition: udi_msc.h:93
#define LE16(x)
Definition: compiler.h:1112
#define UDI_MSC_EPS_SIZE_HS
MSC endpoints size for high speed.
Definition: udi_msc.h:90

Content of MSC interface descriptor for high speed only.

#define UDI_MSC_EPS_SIZE_FS   64

MSC endpoints size for full speed.

#define UDI_MSC_EPS_SIZE_HS   512

MSC endpoints size for high speed.

#define UDI_MSC_STRING_ID   0

By default no string associated to this interface.