File: README.md

package info (click to toggle)
rust-nusb 0.1.13-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 548 kB
  • sloc: makefile: 2
file content (30 lines) | stat: -rw-r--r-- 1,146 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
nusb
----

A new pure-Rust library for cross-platform low-level access to USB devices.

[Documentation](https://docs.rs/nusb)

### Compared to [rusb](https://docs.rs/rusb/latest/rusb/) and [libusb](https://libusb.info/)

* Pure Rust, no dependency on libusb or any other C library.
* Async-first, while not requiring an async runtime like `tokio` or
  `async-std`. Still easily supports blocking with
  `futures_lite::block_on`.
* No context object. You just open a device. There is a global event loop thread
  that is started when opening the first device.
* Thinner layer over OS APIs, with less internal state.

### Current status

* Support for Linux, Windows, macOS, and Android
* Device listing and descriptor parsing
* Transfers on control, bulk and interrupt endpoints
* Device connect / disconnect events on all platforms
* Used by [probe-rs](https://github.com/probe-rs/probe-rs),
  [packetry](https://packetry.readthedocs.io/en/latest/),
  [postcard-rpc](https://github.com/jamesmunns/postcard-rpc)
  and others, but still relatively new. Please test with your device and report issues.

### License
MIT or Apache 2.0, at your option