[<<][usb][>>][..]
Sat Aug 31 12:24:06 EDT 2013
Staapl USB ACM serial driver
The Staapl descriptor language might be too abstract.
Overall, when dealing with design-by-commitee specs, it seems best to
just keep the structure definitions as close as possible to what is
found in the documents.
The ACM needs a couple of descriptors:
- There are two interface descriptors
- The descriptor list found in
at91lib/usb/device/cdc-serial/CDCDSerialDriverDescriptors.c :
- CDC Abstract Control Model
- Call manageement
- Abstract Control Management
What I do not understand:
- Where to add class-specific descriptors
- How are these distinguished from USB standard descriptors?
- Are all descriptors simply concatenated?
It seems the host just does these:
- Device
- Configuration (which has all interfaces concatenated)
- String
It seems that GET_DESCRIPTOR isn't called for INTERFACE, at least in
the Staapl USB firmware this isn't implemented.
Found an answer[2]:
Set Descriptor/Get Descriptor is used to return the specified
descriptor in wValue. A request for the configuration descriptor
will return the device descriptor and all interface and endpoint
descriptors in the one request.
Endpoint Descriptors cannot be accessed directly by a
GetDescriptor/SetDescriptor Request.
Interface Descriptors cannot be accessed directly by a
GetDescriptor/SetDescriptor Request.
String Descriptors include a Language ID in wIndex to allow for
multiple language support.
[1] http://www.lvr.com/usb_virtual_com_port.htm
[2] http://www.beyondlogic.org/usbnutshell/usb6.shtml
[Reply][About]
[<<][usb][>>][..]