No description
Find a file
2023-12-16 21:52:00 -07:00
.github/workflows macos: Enable CI 2023-11-18 20:11:58 -07:00
examples linux: Add Device::active_configuration 2023-12-16 21:50:57 -07:00
fuzz Fuzz descriptor parsing 2023-12-16 21:52:00 -07:00
src Fuzz descriptor parsing 2023-12-16 21:52:00 -07:00
.gitignore Initial commit: bulk transfers on Linux usbfs 2023-09-30 16:51:13 -06:00
Cargo.toml 0.1.2 2023-12-05 22:31:02 -07:00
LICENSE-APACHE A little bit of documentation 2023-10-01 12:20:30 -06:00
LICENSE-MIT A little bit of documentation 2023-10-01 12:20:30 -06:00
README.md 0.1.2 2023-12-05 22:31:02 -07:00

nusb

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

Documentation

Compared to rusb and libusb

  • 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, and macOS
  • Control, bulk and interrupt transfers work
  • Minimally tested: please test with your device and report issues

License

MIT or Apache 2.0, at your option