Skip to content

Release 1.0.0-alpha.5

Compare
Choose a tag to compare
@eldruin eldruin released this 11 Sep 18:26
· 557 commits to master since this release
bd7f607

*** 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 and nb (non-blocking). For example, the spi traits can now be found under embedded_hal::spi::blocking or embedded_hal::spi::nb.
  • Execution-model-independent definitions have been moved into the feature module. For example, SPI Phase is now defined in embedded_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 the nb crate directly in dependent crates.
  • blocking::Serial: renamed bwrite_all to write, 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 in spi::blocking::Transfer.
  • Require all associated error types to implement core::fmt::Debug.

Removed

  • Removed random number generation (rng) traits in favor of rand_core.