|0.2.7||Oct 3, 2020|
|0.2.6||Sep 22, 2020|
|0.2.5||Feb 10, 2020|
|0.2.3||Aug 27, 2019|
|0.1.0||Dec 24, 2018|
#11 in Embedded development
3,190 downloads per month
Used in 43 crates (40 directly)
Experimental device-side USB stack for embedded devices in Rust.
This crate is still under development and should not be considered production ready or even USB compliant.
The UsbDevice object represents a composite USB device and is the most important object for application implementors. The UsbDevice combines a number of UsbClasses (either custom ones, or pre-existing ones provided by other crates) and a UsbBus device drives to implement the USB device.
The UsbClass trait can be used to implemented USB classes such as a HID device or a serial port. An implementation may also use a custom class if the required functionality isn't covered by a standard class.
The UsbBus trait is intended to be implemented by device-specific crates to provide a driver for each device's USB peripheral.
Features planned but not implemented yet:
- Interface alternate settings
- Multilingual string descriptors
- Isochronous endpoints
Features not planning to support at the moment:
- More than one configuration descriptor (uncommon in practice)