4 stable releases
Uses old Rust 2015
1.3.3 | Nov 24, 2023 |
---|---|
1.3.2 | Jun 21, 2022 |
1.3.1 | Apr 2, 2022 |
1.3.0 | Dec 19, 2021 |
#2212 in Hardware support
29,758 downloads per month
Used in 14 crates
(2 directly)
275KB
6.5K
SLoC
Contains (obscure autoconf code, 8KB) etc/hidapi/configure.ac
hidapi-rusb
This crate provides a rust abstraction over the features of the C library
hidapi. Based off of
hidapi-rs by ruabmbua.
The only difference is that it builds off the libusb
coming from rusb
. More information: here. If you want to make any contribution, please make them to the ruabmbua repository.
Usage
This crate is on crates.io and can be
used by adding hidapi-rusb
to the dependencies in your project's Cargo.toml
.
Example
extern crate hidapi_rusb;
let api = hidapi_rusb::HidApi::new().unwrap();
// Print out information about all connected devices
for device in api.device_list() {
println!("{:#?}", device);
}
// Connect to device using its VID and PID
let (VID, PID) = (0x0123, 0x3456);
let device = api.open(VID, PID).unwrap();
// Read data from device
let mut buf = [0u8; 8];
let res = device.read(&mut buf[..]).unwrap();
println!("Read: {:?}", &buf[..res]);
// Write data to device
let buf = [0u8, 1, 2, 3, 4];
let res = device.write(&buf).unwrap();
println!("Wrote: {:?} byte(s)", res);
Documentation
Available at docs.rs.
Dependencies
~0.4–560KB
~12K SLoC