The external UDC API allows the application to manage common USB device behavior and receive common USB device events. These controls and events are common to any USB application.
Declaration | Description |
---|---|
udc_start() | Start USB device stack |
udc_stop() | Stop USB device stack |
udc_attach() udc_detach() |
Authorize the device enumeration or not. Enable pull-up on DM or DP. |
udc_remotewakeup() | Wake-up the USB device |
All UDC callbacks are optional and defined by user in usb_conf.h for each application. When defined, the callbacks will be called by the UDD ISR.
Define name | Description |
---|---|
UDC_VBUS_EVENT(bool b_present) | To notify VBUS level change (only if USB hardware includes VBUS monitoring) |
UDC_SUSPEND_EVENT() | Called when USB enters in Suspend mode |
UDC_RESUME_EVENT() | Called when USB wakes-up |
UDC_SOF_EVENT() | Called for each received SOF each 1ms Note: Available in High and Full Speed mode |
UDC_REMOTEWAKEUP_ENABLE() | Called when USB host requests to enable/disable remote wake-up feature when the device supports it |
UDC_REMOTEWAKEUP_DISABLE() | |
UDC_GET_EXTRA_STRING() | When an extra string descriptor must be supported (other than manufacturer, a product and serial string) |
UDC_SPECIFIC_REQUEST() | When a specific device setup request must be supported |