mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-21 22:32:29 +00:00
usb: add readme.
This commit is contained in:
parent
ddacbf68af
commit
0af44292a0
@ -1,6 +1,28 @@
|
|||||||
# embassy-usb
|
# embassy-usb
|
||||||
|
|
||||||
TODO crate description
|
Async USB device stack for embedded devices in Rust.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Native async.
|
||||||
|
- Fully lock-free: endpoints are separate objects that can be used independently without needing a central mutex. If the driver supports it, they can even be used from different priority levels.
|
||||||
|
- Suspend/resume, remote wakeup.
|
||||||
|
- USB composite devices.
|
||||||
|
- Ergonomic descriptor builder.
|
||||||
|
- Ready-to-use implementations for a few USB classes (note you can still implement any class yourself oustide the crate).
|
||||||
|
- Serial ports (CDC ACM)
|
||||||
|
- Ethernet (CDC NCM)
|
||||||
|
- Human Interface Devices (HID)
|
||||||
|
- MIDI
|
||||||
|
|
||||||
|
## Adding support for new hardware
|
||||||
|
|
||||||
|
To add `embassy-usb` support for new hardware (i.e. a new MCU chip), you have to write a driver that implements
|
||||||
|
the [`embassy-usb-driver`](https://crates.io/crates/embassy-usb-driver) traits.
|
||||||
|
|
||||||
|
Driver crates should depend only on `embassy-usb-driver`, not on the main `embassy-usb` crate.
|
||||||
|
This allows existing drivers to continue working for newer `embassy-usb` major versions, without needing an update, if the driver
|
||||||
|
trait has not had breaking changes.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user