#i2c-bus #i2c #linux #usb2642

usb2642-i2c

使用linux sg3 SCSI接口与USB2642 I2C总线交互的Rust库

2个版本

0.1.1 2020年12月22日
0.1.0 2020年12月22日

#25 in #i2c-bus

23 每月下载次数
用于 usbsdmux

MIT 许可证

11KB
210

usb2642-i2c

API Crate

使用linux sg3 SCSI接口与USB2642 I2C总线交互的Rust库。

使用方法

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:

使用linux sg3 SCSI接口与USB2642 I2C总线交互的Rust库。

使用示例

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();
}

依赖项

~3.5MB
~84K SLoC