1.6 KiB
Cross USB
A USB library which works seamlessly across most native and WASM targets.
Note
Web USB only works in Chromium based browsers for now.
Note
Web USB has certain interation requirements in browsers, along with requiring a Secure context. Please read more about this on the mdn web docs
Important
When compiling this crate on a WASM target, you must use either
RUSTFLAGS=--cfg=web_sys_unstable_apis
or by passing the argument in a.cargo/config.toml
file. Read more here: https://rustwasm.github.io/wasm-bindgen/web-sys/unstable-apis.html
Dependencies
For native USB, the crate utilizies nusb, a pure rust library similar to the very popular libusb.
For WASM, this crate utilizes web-sys which gives access to browser API calls, and in this case is used to interact with WebUSB
TODO
- Add choice for native backend between
libusb
wrapper and pure rustnusb
- Allow platform-specific operations if the user requires them
- Hot plug support... requires either using
libusb
as an optional backend or fornusb
to implement it