Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
USB device descriptors for a single interface

The following structures provide the USB device descriptors required for USB Device with a single interface PHDC.

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 UDI_PHDC_EP_BULK_IN   (2 | USB_EP_DIR_IN)
 
#define UDI_PHDC_EP_BULK_OUT   (1 | USB_EP_DIR_OUT)
 
#define UDI_PHDC_EP_INTERRUPT_IN   (3 | USB_EP_DIR_IN)
 
#define UDI_PHDC_EP_SIZE_BULK_IN   32
 
#define UDI_PHDC_EP_SIZE_BULK_OUT   32
 
#define UDI_PHDC_EP_SIZE_INT_IN   8
 
#define UDI_PHDC_IFACE_NUMBER   0
 
#define USB_DEVICE_EP_CTRL_SIZE   32 /* 8 is not supported by PHDC */
 
#define USB_DEVICE_NB_INTERFACE   1
 

Variables

COMPILER_WORD_ALIGNED
UDC_DESC_STORAGE udc_desc_t 
udc_desc
 
COMPILER_WORD_ALIGNED
UDC_DESC_STORAGE
usb_dev_desc_t 
udc_device_desc
 Pointer on the selected speed device configuration. More...
 

UDC structures which contains all USB Device definitions

UDC_DESC_STORAGE udi_api_tudi_apis [USB_DEVICE_NB_INTERFACE]
 
UDC_DESC_STORAGE udc_config_speed_t udc_config_fshs [1]
 
UDC_DESC_STORAGE udc_config_t udc_config
 Global variables of USB Device Descriptor and UDI links. More...
 

UDD Configuration

#define USB_DEVICE_MAX_EP   3
 

#define UDI_PHDC_EP_SIZE_BULK_IN   32
#define UDI_PHDC_EP_SIZE_BULK_OUT   32
#define UDI_PHDC_EP_SIZE_INT_IN   8
#define UDI_PHDC_IFACE_NUMBER   0
#define USB_DEVICE_EP_CTRL_SIZE   32 /* 8 is not supported by PHDC */
#define USB_DEVICE_MAX_EP   3
#define USB_DEVICE_NB_INTERFACE   1

Initial value:
= {
.confdev_lsfs = &udc_device_desc,
.conf_lsfs = udc_config_fshs,
}
UDC_DESC_STORAGE udc_config_speed_t udc_config_fshs[1]
Definition: udi_phdc_desc.c:140
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE usb_dev_desc_t udc_device_desc
Pointer on the selected speed device configuration.
Definition: udi_phdc_desc.c:63

Global variables of USB Device Descriptor and UDI links.

Referenced by udc_req_std_dev_get_descriptor(), and udc_req_std_dev_set_configuration().

Initial value:
= { {
} }
Standard USB configuration descriptor structure.
Definition: usb_protocol.h:424
UDC_DESC_STORAGE udi_api_t * udi_apis[USB_DEVICE_NB_INTERFACE]
Definition: udi_phdc_desc.c:135
#define UDC_DESC_STORAGE
Defines the memory's location of USB descriptors.
Definition: udc_desc.h:77
COMPILER_WORD_ALIGNED UDC_DESC_STORAGE udc_desc_t udc_desc
Definition: udi_phdc_desc.c:116
Initial value:
= {
.conf.bLength = sizeof(usb_conf_desc_t),
.conf.bDescriptorType = USB_DT_CONFIGURATION,
.conf.wTotalLength = LE16(sizeof(udc_desc_t)),
.conf.bNumInterfaces = USB_DEVICE_NB_INTERFACE,
.conf.bConfigurationValue = 1,
.conf.iConfiguration = 0,
.conf.bmAttributes = USB_CONFIG_ATTR_MUST_SET | USB_DEVICE_ATTR,
.udi_phdc = UDI_PHDC_DESC
}
Definition: usb_protocol.h:198
#define USB_CONFIG_ATTR_MUST_SET
Must always be set.
Definition: usb_protocol.h:436
#define LE16(x)
Definition: compiler.h:1112
Standard USB configuration descriptor structure.
Definition: usb_protocol.h:424
#define USB_DEVICE_ATTR
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:60
#define UDI_PHDC_DESC
Definition: udi_phdc.h:255
#define USB_DEVICE_POWER
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:59
#define USB_CONFIG_MAX_POWER(ma)
Max power in mA.
Definition: usb_protocol.h:441
#define USB_DEVICE_NB_INTERFACE
Definition: udi_phdc_desc.c:60
Structure for USB Device Configuration Descriptor.
Definition: udi_phdc_desc.c:109
Initial value:
= {
.bLength = sizeof(usb_dev_desc_t),
.bDescriptorType = USB_DT_DEVICE,
.bcdUSB = LE16(USB_V2_0),
.bDeviceClass = 0,
.bDeviceSubClass = 0,
.bDeviceProtocol = 0,
.bMaxPacketSize0 = USB_DEVICE_EP_CTRL_SIZE,
.idVendor = LE16(USB_DEVICE_VENDOR_ID),
.idProduct = LE16(USB_DEVICE_PRODUCT_ID),
.bcdDevice = LE16((USB_DEVICE_MAJOR_VERSION << 8)
.iManufacturer = 0,
.iProduct = 0,
.iSerialNumber = 0,
.bNumConfigurations = 1
}
#define USB_V2_0
Value for field bcdUSB.
Definition: usb_protocol.h:63
#define USB_DEVICE_PRODUCT_ID
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:56
Standard USB device descriptor structure.
Definition: usb_protocol.h:327
#define LE16(x)
Definition: compiler.h:1112
Definition: usb_protocol.h:197
#define USB_DEVICE_MINOR_VERSION
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:58
#define USB_DEVICE_EP_CTRL_SIZE
Definition: udi_phdc_conf.h:53
#define USB_DEVICE_VENDOR_ID
USB Device Configuration.
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:55
#define USB_DEVICE_MAJOR_VERSION
Definition: common/services/usb/class/cdc/device/unit_tests/conf_usb.h:57

Pointer on the selected speed device configuration.

Pointer on interface descriptor used by SETUP request.

Referenced by udc_req_std_dev_get_descriptor().

Initial value:
= {
}
UDC_DESC_STORAGE udi_api_t udi_api_phdc
Definition: udi_phdc.c:70