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.
v0.2.7 - 2022-02-09
- Backport CAN interface from the upcoming 1.0 release.
v0.2.6 - 2021-08-03
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.
v0.2.5 - 2021-04-28
- Updated
nb
dependency to version0.1.3
to ensure compatibility withnb
version1.0
.
v0.2.4 - 2020-06-17
- Fix for
dyn
traits in fmt.rs - Remove
#![deny(warnings)]
, now imposed y CI - Updates stm32f30x from 0.6.0 to 0.8.0
- Fix the input pin v2->v1 compatibility shim constructor, where
OldInputPin::new
was incorrectly implemented forv1::OutputPin
values.
v0.2.3 - 2019-05-09
- A new version of the digital
OutputPin
,StatefulOutputPin
,ToggleableOutputPin
andInputPin
traits has been added underdigital::v2
. These traits are now fallible and their methods now return aResult
type as setting an output pin and reading an input pin could potentially fail. See here for more info. - Compatibility shims between
digital::v1
anddigital::v2
traits allowing v1 traits to be implicitly promoted to v2, and for v2 traits to be explicitly cast to v1 wrappers.
- The current versions of the
OutputPin
,StatefulOutputPin
,ToggleableOutputPin
andInputPin
traits have been marked as deprecated. Please use the new versions included indigital::v2
. See here for more info.
v0.2.2 - 2018-11-03
- Added the Rust Code of Conduct to this repository
- The first ADC-related trait. This is a simple trait for one-shot conversions.
- Iterator-based blocking write and write+read traits have been added to I2C and SPI.
- New helper constants for SPI modes.
- A new trait for a cancellable countdown.
- New traits for watchdog timer management, including startup, feeding, and stopping.
- Updated docs to clarify I2C address bit widths and expectations.
v0.2.1 - 2018-05-14
- Auto-generated documentation (docs.rs) now includes the unproven traits.
v0.2.0 - 2018-05-12
- A
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.
- [breaking-change] The signature of
CountDown.wait
changed; it now returnsnb::Result<(), Void>
. WhereVoid
is the stable alternative to the never type,!
, provided by the stablevoid
crate. Implementations of theCountDown
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 traitStatefulOutputPin
and renamed tois_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).
- Re-export most / unchanged traits from embedded-hal v0.2.x to allow inter-operation between HAL implementations and drivers that are using different minor versions.
v0.1.2 - 2018-02-14
- Unproven
blocking::serial::*
traits
v0.1.1 - 2018-02-06
- Unproven
digital::InputPin
trait
Initial release