[−][src]Module embedded_hal_mock::spi
SPI mock implementations.
This mock supports the specification and checking of expectations to allow automated testing of SPI based drivers. Mismatches between expected and real SPI transactions will cause runtime assertions to assist with locating faults.
Usage
extern crate embedded_hal; extern crate embedded_hal_mock; use embedded_hal::blocking::spi::{Transfer, Write}; use embedded_hal_mock::spi::{Mock as SpiMock, Transaction as SpiTransaction}; use embedded_hal::spi::FullDuplex; // Configure expectations let expectations = [ SpiTransaction::send(0x09), SpiTransaction::read(0x0A), SpiTransaction::send(0xFE), SpiTransaction::read(0xFF), SpiTransaction::write(vec![1, 2]), SpiTransaction::transfer(vec![3, 4], vec![5, 6]), ]; let mut spi = SpiMock::new(&expectations); // FullDuplex transfers spi.send(0x09); assert_eq!(spi.read().unwrap(), 0x0A); spi.send(0xFE); assert_eq!(spi.read().unwrap(), 0xFF); // Writing spi.write(&vec![1, 2]).unwrap(); // Transferring let mut buf = vec![3, 4]; spi.transfer(&mut buf).unwrap(); assert_eq!(buf, vec![5, 6]); // Finalise expectations spi.done();
Structs
Transaction | SPI transaction type |
Enums
Mode | SPI Transaction mode |
Type Definitions
Mock | Mock SPI implementation |