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
u8
as default SPI as Serial Word type - The Minimum Supported Rust Version (MSRV) is now 1.46.0
Added
- Added
Can
Controller Area Network traits. Error
traits for SPI, I2C and Serial traits. The error types used in those must
implement theseError
traits, 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
DelayMs
in favor ofDelayUs
withu32
as type for clarity.
Release 1.0.0-alpha.5
*** This is (also) an alpha release with breaking changes (sorry) ***
Added
- Added
IoPin
trait for pins that can change between being inputs or outputs
dynamically. - Added
Debug
to 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:
blocking
andnb
(non-blocking). For example, the spi traits can now be found underembedded_hal::spi::blocking
orembedded_hal::spi::nb
. - Execution-model-independent definitions have been moved into the feature module. For example, SPI
Phase
is 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 thenb
crate directly in dependent crates. blocking::Serial
: renamedbwrite_all
towrite
,bflush
to `flush.- Removed
prelude
to avoid method name conflicts between different flavors (blocking, nb) of the same trait. Traits must now be manually imported. - Removed the various
Default
marker 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:
Transactional
SPI interface for executing groups of SPI transactions.Transactional
I2C interface for executing groups of I2C transactions.- 10-bit addressing mode for I2C traits.
set_state
method forOutputPin
using an inputPinState
value.IoPin
trait for pins that can change between being inputs or outputs
dynamically.