#usb #usb-device #packet #channel #gadget #async

upc

USB packet channel (UPC): provides a reliable, packet-based transport over USB

9 unstable releases (3 breaking)

0.4.0 Nov 11, 2023
0.3.2 Nov 11, 2023
0.2.4 Nov 3, 2023
0.1.0 Oct 13, 2023

#4 in #gadget

Download history 32/week @ 2024-02-04 12/week @ 2024-02-18 9/week @ 2024-02-25 3/week @ 2024-03-03 22/week @ 2024-03-10 1/week @ 2024-03-17 19/week @ 2024-03-24 44/week @ 2024-03-31

86 downloads per month
Used in aggligator-util

Apache-2.0

41KB
806 lines

USB packet channel (UPC)

crates.io page docs.rs page Apache 2.0 license

This library provides a reliable, packet-based transport over a physical USB connection with an asynchronous API.

Features

This crate provides the following features:

  • host enables the host-side part,
  • device enables the device-side part.

To be useful, at least one of these features must be enabled.

Requirements

The minimum support Rust version (MSRV) is 1.73.

The 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

~4–15MB
~156K SLoC