diff --git a/you-ass-bee-see/src/main.rs b/you-ass-bee-see/src/main.rs index fc4c84a..d9a1587 100644 --- a/you-ass-bee-see/src/main.rs +++ b/you-ass-bee-see/src/main.rs @@ -1,7 +1,26 @@ use i2cdev::core::I2CDevice; 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() { 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)); }