2 releases
0.1.1 | Dec 22, 2020 |
---|---|
0.1.0 | Dec 22, 2020 |
#25 in #i2c-bus
23 downloads per month
Used in usbsdmux
11KB
210 lines
usb2642-i2c
A Rust library for interfacing with the USB2642 I2C bus using the linux sg3 SCSI interface.
Usage
const I2C_ADDRESS: I2CAddress = 0x12;
let mut usb2642 = USB2642I2C::open("/dev/sg0").unwrap();
// Write-Only
let mut write_data = [0x01u8, 0x02u8];
usb2642.write(I2C_ADDRESS, &mut data).unwrap();
// Write-Read
let write_data = [register.to_u8().unwrap()];
let read_data = usb2642.write_read(I2C_ADDRESS, &data, 1).unwrap();
lib.rs
:
A Rust library for interfacing with the USB2642 I2C bus using the linux sg3 SCSI interface.
Usage example
use usb2642_i2c::{USB2642I2C, I2CAddress};
const I2C_ADDRESS: I2CAddress = 0x12;
if let Ok(mut usb2642) = USB2642I2C::open("/dev/sg0") {
// Write-Only
let mut write_data = [0x01, 0x02];
usb2642.write(I2C_ADDRESS, &mut write_data).unwrap();
// Write-Read
let write_data = [0x02];
let read_data = usb2642.write_read(I2C_ADDRESS, &write_data, 1).unwrap();
}
Dependencies
~3.5MB
~84K SLoC