mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-25 00:02:28 +00:00
usb: add readme.
This commit is contained in:
parent
ddacbf68af
commit
0af44292a0
@ -1,6 +1,28 @@
|
||||
# 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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user