Releases: rust-embedded/embedded-hal
Releases · rust-embedded/embedded-hal
Release 1.0.0-alpha.6
*** This is (also) an alpha release with breaking changes (sorry) ***
Changed
- Use
u8as default SPI as Serial Word type - The Minimum Supported Rust Version (MSRV) is now 1.46.0
Added
- Added
CanController Area Network traits. Errortraits for SPI, I2C and Serial traits. The error types used in those must
implement theseErrortraits, which implies providing a conversion to a common
set of error kinds. Generic drivers using these interfaces can then convert the errors
to this common set to act upon them.
Removed
- Removed
DelayMsin favor ofDelayUswithu32as type for clarity.
Release 1.0.0-alpha.5
*** This is (also) an alpha release with breaking changes (sorry) ***
Added
- Added
IoPintrait for pins that can change between being inputs or outputs
dynamically. - Added
Debugto all spi mode types.
Changed
- Swap PWM channel arguments to references
- All trait methods have been renamed to remove the
try_prefix (i.e.try_send->send) for consistency. - Moved all traits into two sub modules for each feature depending on the execution model:
blockingandnb(non-blocking). For example, the spi traits can now be found underembedded_hal::spi::blockingorembedded_hal::spi::nb. - Execution-model-independent definitions have been moved into the feature module. For example, SPI
Phaseis now defined inembedded_hal::spi::Phase. For convenience, these definitions are reexported in both of its blocking and non-blocking submodules. - Re-export
nb::{block!, Error, Result}to avoid version mismatches. These should be used instead of
importing thenbcrate directly in dependent crates. blocking::Serial: renamedbwrite_alltowrite,bflushto `flush.- Removed
preludeto avoid method name conflicts between different flavors (blocking, nb) of the same trait. Traits must now be manually imported. - Removed the various
Defaultmarker traits. - Removed
&[W]returned slice inspi::blocking::Transfer. - Require all associated error types to implement
core::fmt::Debug.
Removed
- Removed random number generation (
rng) traits in favor of rand_core.
Release 0.2.6
Added
Backported non-breaking changes from the upcoming 1.0 release:
TransactionalSPI interface for executing groups of SPI transactions.TransactionalI2C interface for executing groups of I2C transactions.- 10-bit addressing mode for I2C traits.
set_statemethod forOutputPinusing an inputPinStatevalue.IoPintrait for pins that can change between being inputs or outputs
dynamically.