WIP: read flash data
This commit is contained in:
@@ -1,7 +1,26 @@
|
|||||||
use i2cdev::core::I2CDevice;
|
use i2cdev::core::I2CDevice;
|
||||||
use i2cdev::linux::LinuxI2CDevice;
|
use i2cdev::linux::LinuxI2CDevice;
|
||||||
|
|
||||||
|
const IECS_CMD: u8 = 8;
|
||||||
|
const IECS_DATA: u8 = 9;
|
||||||
|
const MSG_OUT_RDATA: u8 = 18;
|
||||||
|
const CMD_AFRR: &'static [u8] = &[b'A', b'F', b'R', b'R'];
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut dev = LinuxI2CDevice::new("/dev/i2c-11", 0x40).unwrap();
|
let mut dev = LinuxI2CDevice::new("/dev/i2c-11", 0x40).unwrap();
|
||||||
println!("{:X?}", dev.smbus_read_block_data(0));
|
println!("Vendor: {:X?}", dev.smbus_read_block_data(0));
|
||||||
|
println!("Device: {:X?}", dev.smbus_read_block_data(1));
|
||||||
|
|
||||||
|
dev.smbus_write_block_data(IECS_DATA, &[8]).unwrap();
|
||||||
|
dev.smbus_write_block_data(IECS_CMD, CMD_AFRR).unwrap();
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let data = dev.smbus_read_block_data(IECS_CMD).unwrap();
|
||||||
|
println!("{:?}", data);
|
||||||
|
if data.as_slice() != CMD_AFRR {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Version: {:X?}", dev.smbus_read_block_data(MSG_OUT_RDATA));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user