diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-01-11 19:10:56 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2024-01-11 19:10:56 +0100 |
| commit | 0af44292a0862b1c115def1ed1a48e29daae241c (patch) | |
| tree | 8b4afb7123039f4d85786fffce83b7a9d5d63d23 | |
| parent | ddacbf68aff53447bdfac7db2380a9f0aaaf0b83 (diff) | |
usb: add readme.
| -rw-r--r-- | embassy-usb/README.md | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/embassy-usb/README.md b/embassy-usb/README.md index da656e8e9..7411fcf52 100644 --- a/embassy-usb/README.md +++ b/embassy-usb/README.md | |||
| @@ -1,6 +1,28 @@ | |||
| 1 | # embassy-usb | 1 | # embassy-usb |
| 2 | 2 | ||
| 3 | TODO crate description | 3 | Async USB device stack for embedded devices in Rust. |
| 4 | |||
| 5 | ## Features | ||
| 6 | |||
| 7 | - Native async. | ||
| 8 | - 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. | ||
| 9 | - Suspend/resume, remote wakeup. | ||
| 10 | - USB composite devices. | ||
| 11 | - Ergonomic descriptor builder. | ||
| 12 | - Ready-to-use implementations for a few USB classes (note you can still implement any class yourself oustide the crate). | ||
| 13 | - Serial ports (CDC ACM) | ||
| 14 | - Ethernet (CDC NCM) | ||
| 15 | - Human Interface Devices (HID) | ||
| 16 | - MIDI | ||
| 17 | |||
| 18 | ## Adding support for new hardware | ||
| 19 | |||
| 20 | To add `embassy-usb` support for new hardware (i.e. a new MCU chip), you have to write a driver that implements | ||
| 21 | the [`embassy-usb-driver`](https://crates.io/crates/embassy-usb-driver) traits. | ||
| 22 | |||
| 23 | Driver crates should depend only on `embassy-usb-driver`, not on the main `embassy-usb` crate. | ||
| 24 | This allows existing drivers to continue working for newer `embassy-usb` major versions, without needing an update, if the driver | ||
| 25 | trait has not had breaking changes. | ||
| 4 | 26 | ||
| 5 | ## Configuration | 27 | ## Configuration |
| 6 | 28 | ||
