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.
0.3.1 - 2023-10-31
- Implementations of the
WriteIter
andWriteIterRead
traits fromembedded-hal
(#53).
0.3.0 - 2023-08-13
- BREAKING Upgraded to
cortex-m
0.7. - BREAKING Upgraded to
atomic-polyfill
1.0. - BREAKING Upgraded to
xtensa-lx
0.8 (#49).
0.2.5 - 2022-11-23
- Upgraded to embedded-hal alpha support to version 9. Please pin your
dependency on
shared-bus
to an exact version (using=0.#.#
) when you make use of theeh-alpha
feature flag (#38).
- Fixed the
new_xtensa!()
macro not compiling (#40).
0.2.4 - 2022-06-16
- Added support for the I2C traits from the
embedded-hal
alpha 8 version (eh-alpha
feature flag) (#36).
- Fixed the
atomic-polyfill
dependency being pulled in even in cases where it is not used. - Fixed a problem with the ADC sharing
embedded-hal
dependency.
0.2.3 - 2022-03-05
- A mutex type for Xtensa LX6 micorontrollers (e.g. ESP32) (#22).
- A proxy type for sharing an ADC to allow "concurrently" reading its channels from multiple tasks (#24).
- Support for thumbv6 targets by using
atomic-polyfill
instead of libcore atomics (#30).
0.2.2 - 2021-04-20
- Updated the documentation on how to use
shared-bus
with RTIC. - Removed superfluous trait bounds on the types - the trait bounds are really
only necessary on the
impl
-blocks.
- Fixed the
Clone
implementations from 0.2.1 being useless due to an unnecessary trait bound.
0.2.1 - 2021-04-20
- Added a new "Mutex" and bus-manager for compatibility with RTIC. Check the
documentation for the
BusManagerAtomicCheck
for details.
I2cProxy
andSpiProxy
now implementClone
. Cloning a proxy might be useful if a driver wants to split bus access up even further internally without wrapping the bus-proxy in another bus-manager.
0.2.0 - 2020-08-24
Complete rework of the crate, most items have changed at least slightly. Please read the updated documentation to understand how the new version works.
- A
BusMutexSimple
for sharing within a single task/thread with minimal overhead. - Macros for instanciating a 'global' bus manager which lives for
'static
.
- The
BusMutex
trait'slock()
method now passes&mut
to the closure, removing theRefCell
from the manager. - The generic parameter of
BusMutex
was moved into an associated type. - Instead of a single proxy-type for everything, separate proxy types were introduced, to allow different constraints on their creation.
- The SPI proxy is now
!Send
to make sure it can only be used from within a single thread/task.
- Documentation fixes.
- Added an SPI proxy.
- Documentation fixes.
- Documentation fixes.
Initial release