*** 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.