https://github.com/surban/upc
USB packet channel (UPC): provides a reliable, packet-based transport over USB.
https://github.com/surban/upc
channel packet rust usb webassembly webusb
Last synced: 3 months ago
JSON representation
USB packet channel (UPC): provides a reliable, packet-based transport over USB.
- Host: GitHub
- URL: https://github.com/surban/upc
- Owner: surban
- License: apache-2.0
- Created: 2023-10-12T15:38:39.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-06-23T22:52:41.000Z (4 months ago)
- Last Synced: 2025-06-23T23:29:37.690Z (4 months ago)
- Topics: channel, packet, rust, usb, webassembly, webusb
- Language: Rust
- Homepage: https://crates.io/crates/upc
- Size: 60.5 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
USB packet channel (UPC)
========================[](https://crates.io/crates/upc)
[](https://docs.rs/upc)
[](https://github.com/surban/upc/blob/master/LICENSE)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.
[WebUSB]: https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API
Requirements
------------The minimum support Rust version (MSRV) is 1.85.
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].
[Apache 2.0 license]: https://github.com/surban/upc/blob/master/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.