Available on crate feature
eh0
only.Expand description
ADC mock implementation.
§Usage
use embedded_hal::adc::OneShot;
use embedded_hal_mock::eh0::adc::{Mock, MockChan0, MockChan1, Transaction};
// 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 std::io::ErrorKind;
use embedded_hal::adc::OneShot;
use embedded_hal_mock::eh0::{
adc::{Mock, MockChan1, Transaction},
MockError,
};
// 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§
- MockAdc
- Mock ADC implementation
- Mock
Chan0 - Mock ADC channel implementation
- Mock
Chan1 - Mock ADC channel implementation
- Mock
Chan2 - Mock ADC channel implementation
- Transaction
- ADC transaction type
Type Aliases§
- Mock
- Mock ADC implementation