1.6 KiB
USB
This page documents the low level USB configuration. If you're looking for a higher level protocol documentation see Native Protocol and ASCII Protocol.
This page assumes that you are familiar with the general USB architecture, in particular with terms like "configuration", "interface" and "endpoint".
On USB the ODrive provides a single configuration which is a composite device consisting of a CDC device (virtual COM port) and a vendor specific device.
What is a composite device?
The following interface groups are present:
- Interface Association: Communication Device Class (CDC)
- Interface 0:
- Endpoint
0x82: CDC commands
- Endpoint
- Interface 1:
- Endpoint
0x01: CDC data OUT - Endpoint
0x81: CDC data IN
- Endpoint
- Interface 0:
- Interface Association: Vendor Specific Device Class
- Interface 2:
- Endpoint
0x03: data OUT - Endpoint
0x83: data IN
- Endpoint
- Interface 2:
The CDC interface (endpoint pair 0x01, 0x81) runs the ASCII Protocol by default (see odrv0.config.enable_ascii_protocol_on_usb). The vendor specific interface (endpoint pair 0x03, 0x83) runs the Native Protocol (the packet based variant).
The two interfaces can not (yet) be used simultaneously.