hidapi-rusb

Crates.iohidapi-rusb
lib.rshidapi-rusb
version1.3.3
sourcesrc
created_at2021-12-19 22:11:12.008555
updated_at2023-11-24 19:46:01.075171
descriptionRust-y wrapper around hidapi with rusb backend.
homepage
repositoryhttps://github.com/joshieDo/hidapi-rs
max_upload_size
id500514
size724,329
(joshieDo)

documentation

https://docs.rs/hidapi-rusb

README

hidapi-rusb Version License: MIT

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.

Commit count: 189

cargo fmt