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.
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.set_state
method for OutputPin
using an input PinState
value.IoPin
trait for pins that can change between being inputs or outputs dynamically.nb
dependency to version 0.1.3
to ensure compatibility with nb
version 1.0
.dyn
traits in fmt.rs#![deny(warnings)]
, now imposed y CIOldInputPin::new
was incorrectly implemented for v1::OutputPin
values.OutputPin
, StatefulOutputPin
, ToggleableOutputPin
and InputPin
traits has been added under digital::v2
. These traits are now fallible and their methods now return a Result
type as setting an output pin and reading an input pin could potentially fail. See here for more info.digital::v1
and digital::v2
traits allowing v1 traits to be implicitly promoted to v2, and for v2 traits to be explicitly cast to v1 wrappers.OutputPin
, StatefulOutputPin
, ToggleableOutputPin
and InputPin
traits have been marked as deprecated. Please use the new versions included in digital::v2
. See here for more info.ToggeableOutputPin
trait has been added. This trait contains a single method: toggle
that can be used to toggle the state of a push-pull pin.CountDown.wait
changed; it now returns nb::Result<(), Void>
. Where Void
is the stable alternative to the never type, !
, provided by the stable void
crate. Implementations of the CountDown
trait will have to be updated to use the new signature. With this change this crate compiles on the stable and beta channels.[breaking-change] the OutputPin.is_{low,high}
methods have been moved into its own trait StatefulOutputPin
and renamed to is_set_{low,high}
.
It has been clarified in the documentation that OutputPin
must be implemented for push-pull output pins (and e.g. not for open drain output pins).
blocking::serial::*
traitsdigital::InputPin
traitInitial release