13 unstable releases (6 breaking)
new 0.7.1 | Feb 19, 2025 |
---|---|
0.7.0 |
|
0.6.1 | Feb 10, 2025 |
0.5.0 | Apr 29, 2024 |
0.1.0 | Oct 13, 2023 |
#345 in Asynchronous
335 downloads per month
Used in 3 crates
(2 directly)
55KB
1K
SLoC
USB packet channel (UPC)
This library provides a reliable, packet-based transport over a physical USB connection with an asynchronous API.
Features
This crate provides the following main features:
host
enables the native host-side part,web
enables the web host-side part using WebUSB for device access and targeting WebAssembly,device
enables the device-side part.
To be useful, at least one of these features must be enabled.
Additionally, the feature trace-packets
can be enabled to log USB packets at log level trace.
Requirements
The minimum support Rust version (MSRV) is 1.83.
The native host-side part supports any operating system supported by libusb
.
The device-side part requires Linux and a USB device controller (UDC).
License
upc is licensed under the Apache 2.0 license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in upc by you, shall be licensed as Apache 2.0, without any additional terms or conditions.
Dependencies
~10–22MB
~308K SLoC