Module embedded_hal_mock::i2c
source · Expand description
I²C mock implementations.
Usage
extern crate embedded_hal;
extern crate embedded_hal_mock;
use embedded_hal::prelude::*;
use embedded_hal::blocking::i2c::{Read, Write, WriteRead};
use embedded_hal_mock::i2c::{Mock as I2cMock, Transaction as I2cTransaction};
// Configure expectations
let expectations = [
I2cTransaction::write(0xaa, vec![1, 2]),
I2cTransaction::read(0xbb, vec![3, 4]),
];
let mut i2c = I2cMock::new(&expectations);
// Writing
i2c.write(0xaa, &vec![1, 2]).unwrap();
// Reading
let mut buf = vec![0u8; 2];
i2c.read(0xbb, &mut buf).unwrap();
assert_eq!(buf, vec![3, 4]);
// Finalise expectations
i2c.done();
Structs
I2C Transaction type
Enums
I2C Transaction modes
Type Definitions
Mock I2C implementation