Module embedded_hal_mock::adc
source · Expand description
ADC mock implementation.
Usage
use embedded_hal::adc::OneShot;
use embedded_hal_mock::adc::Mock;
use embedded_hal_mock::adc::Transaction;
use embedded_hal_mock::adc::{MockChan0, MockChan1};
// Configure expectations: expected input channel numbers and values returned by read operations
let expectations = [
Transaction::read(0, 0xab),
Transaction::read(1, 0xabcd)
];
let mut adc = Mock::new(&expectations);
// Reading
assert_eq!(0xab, adc.read(&mut MockChan0 {}).unwrap());
assert_eq!(0xabcd, adc.read(&mut MockChan1 {}).unwrap());
// Finalise expectations
adc.done();
Testing Error Handling
Attach an error to test error handling. An error is returned when such a transaction is executed.
use embedded_hal::adc::OneShot;
use embedded_hal_mock::adc::Mock;
use embedded_hal_mock::adc::Transaction;
use embedded_hal_mock::adc::MockChan1;
use embedded_hal_mock::MockError;
use std::io::ErrorKind;
// Configure expectations
let expectations = [
Transaction::read(1, 0xabba).with_error(MockError::Io(ErrorKind::InvalidData))
];
let mut adc = Mock::new(&expectations);
// Reading returns an error
adc.read(&mut MockChan1 {}).expect_err("expected error return");
// Finalise expectations
adc.done();
Structs
Mock ADC implementation
Mock ADC channel implementation
Mock ADC channel implementation
Mock ADC channel implementation
ADC transaction type
Type Definitions
Mock ADC implementation