The UDC provides a high-level abstraction of the usb device.
You can use these functions to control the main device state (start/attach/wakeup).
The following USB Device configuration must be included in the conf_usb.h file of the application.
USB_DEVICE_VENDOR_ID (Word)
Vendor ID provided by USB org (ATMEL 0x03EB).
USB_DEVICE_PRODUCT_ID (Word)
Product ID (Referenced in usb_atmel.h).
USB_DEVICE_MAJOR_VERSION (Byte)
Major version of the device
USB_DEVICE_MINOR_VERSION (Byte)
Minor version of the device
USB_DEVICE_MANUFACTURE_NAME (string)
ASCII name for the manufacture
USB_DEVICE_PRODUCT_NAME (string)
ASCII name for the product
USB_DEVICE_SERIAL_NAME (string)
ASCII name to enable and set a serial number
USB_DEVICE_POWER (Numeric)
(unit mA) Maximum device power
USB_DEVICE_ATTR (Byte)
USB attributes available:
USB_DEVICE_LOW_SPEED (Only defined)
Force the USB Device to run in low speed
USB_DEVICE_HS_SUPPORT (Only defined)
Authorize the USB Device to run in high speed
USB_DEVICE_MAX_EP (Byte)
Define the maximum endpoint number used by the USB Device.
This one is already defined in UDI default configuration. Ex:
Modules | |
Implementation of UDC | |
Internal implementation. | |
USB Device Controller (UDC) - Prerequisites | |
Common prerequisites for all USB devices. | |
USB Device Controller (UDC) - Example code | |
Common example code for all USB devices. | |
USB Device Controller (UDC) - Workflow | |
Common workflow for all USB devices. | |
USB Device Descriptor | |
Functions | |
static void | udc_attach (void) |
Attach device to the bus when possible. More... | |
static void | udc_detach (void) |
Detaches the device from the bus. More... | |
usb_iface_desc_t UDC_DESC_STORAGE * | udc_get_interface_desc (void) |
Returns a pointer on the current interface descriptor. More... | |
static bool | udc_include_vbus_monitoring (void) |
Authorizes the VBUS event. More... | |
static void | udc_remotewakeup (void) |
The USB driver sends a resume signal called "Upstream Resume" This is authorized only when the remote wakeup feature is enabled by host. More... | |
void | udc_start (void) |
Start the USB Device stack. More... | |
void | udc_stop (void) |
Stop the USB Device stack. More... | |
|
inlinestatic |
Attach device to the bus when possible.
References udd_attach().
|
inlinestatic |
Detaches the device from the bus.
The driver must remove pull-up on USB line D- or D+.
References udd_detach().
usb_iface_desc_t UDC_DESC_STORAGE* udc_get_interface_desc | ( | void | ) |
Returns a pointer on the current interface descriptor.
References udc_ptr_iface.
Referenced by udi_hid_reqstdifaceget_descriptor().
|
inlinestatic |
Authorizes the VBUS event.
The VBus monitoring is used only for USB SELF Power application.
References udd_include_vbus_monitoring().
Referenced by run_usb_mouse_test().
|
inlinestatic |
The USB driver sends a resume signal called "Upstream Resume" This is authorized only when the remote wakeup feature is enabled by host.
References udd_send_remotewakeup().
void udc_start | ( | void | ) |
Start the USB Device stack.
References udd_enable().
Referenced by run_usb_mouse_test(), usb_dual_enable(), and usb_id_handler().
void udc_stop | ( | void | ) |
Stop the USB Device stack.
References udc_reset(), and udd_disable().
Referenced by run_usb_mouse_test(), and usb_id_handler().