All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Print a warning to stderr and fail test if a mock is dropped without having
calling
.done()
on it, or if.done()
is called twice (#59, #61)
Generic
mock: Fix a bug that caused the call to.done()
to fail if.next()
was called on the mock after all expectations have already been consumed (#58)
- The minimal supported Rust version (MSRV) is specified in the
Cargo.toml
to offer clearer error messages to consumers with outdated Rust versions
- Implement
WriteIter
andWriteIterRead
for i2c mock (#44) - Implement
PwmPin
for pin mock (#52) - Add mock for timers using embedded-time with nanosecond precision (#40)
- Bump minimal supported Rust version (MSRV) to 1.60
- Switch to Rust 2021 edition (#55)
- Switch from CircleCI to GitHub Actions (#50)
- Add one-shot ADC mock (#38)
- Implement
std::Error
trait forMockError
(#31) - serial: Implement error expectations (#32)
- i2c: Implement error expectations (#29)
- Fix link to digital pin docs (#28)
- The serial transaction API now has two new constructor methods:
read_many
andwrite_many
.
- The serial transaction API changed: The
Transaction::write
function now expects a single word, not a collection of words. To add a transaction for many writes, useTransaction::write_many
instead.
- Make the serial mock actually cloneable
- Add serial device mock (#21)
- Add InputPin and OutputPin mocks (#18)
MockError::Io
now wraps anio::ErrorKind
instance instead ofio::Error
.
- SPI: Add support for non-blocking
FullDuplex
mode (#14)
- Require Rust 1.31+
- Apply and enforce rustfmt
- Add
StdSleep
delay implementation based onstd::thread::sleep
(#8) - Add
new()
methods toMockNoop
andStdSleep
- Fix error messages for unfulfilled I²C expectations (#12)
- I²C mock has a new transaction based API, matching the SPI mock (#4)
- SPI mock implementation (#2)
- Set up CI (#3)
- Restructure crate:
I2cMock
is now ati2c::Mock
DelayMockNoop
is now atdelay::MockNoop
- Move all docs into crate docs (so it can be tested)
- Upgrade to
embedded-hal
0.2.
Initial release on crates.io.