Skip to content

Releases: Rahix/shared-bus

Version 0.3.1

31 Oct 02:31
v0.3.1
Compare
Choose a tag to compare

Added

  • Implementations of the WriteIter and WriteIterRead traits from embedded-hal (#53 by @thejpster).

Version 0.3.0

13 Aug 17:07
v0.3.0
Compare
Choose a tag to compare

Changed

  • BREAKING Upgraded to cortex-m 0.7.
  • BREAKING Upgraded to atomic-polyfill 1.0.
  • BREAKING Upgraded to xtensa-lx 0.8 (#49 by @jscatena88).

Version 0.2.5

22 Nov 23:40
v0.2.5
Compare
Choose a tag to compare

Changed

  • 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 the eh-alpha feature flag (#38 by @taks).

Fixed

  • Fixed the new_xtensa!() macro not compiling (#40 by @Gazedo).

Version 0.2.4

16 Jun 07:24
v0.2.4
Compare
Choose a tag to compare

Added

  • Added support for the I2C traits from the embedded-hal alpha 8 version (eh-alpha feature flag) (#36).

Fixed

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

Version 0.2.3

05 Mar 21:33
v0.2.3
Compare
Choose a tag to compare

Added

  • A mutex type for Xtensa LX6 micorontrollers (e.g. ESP32) (#22 by @pyaillet).
  • A proxy type for sharing an ADC to allow "concurrently" reading its channels from multiple tasks (#24 by @geomatsi).
  • Support for thumbv6 targets by using atomic-polyfill instead of libcore atomics (#30).

Version 0.2.2 (minor patch for last release)

20 Apr 19:21
v0.2.2
Compare
Choose a tag to compare

Changed

  • 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

  • Fixed the Clone implementations from 0.2.1 being useless due to an unnecessary trait bound.

Version 0.2.1

20 Apr 16:39
v0.2.1
Compare
Choose a tag to compare

Added

  • Added a new "Mutex" and bus-manager for compatibility with RTIC. Check the documentation for the BusManagerAtomicCheck for details.

Changed

  • I2cProxy and SpiProxy now implement Clone. 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.

Version 0.2.0

20 Apr 16:39
v0.2.0
7f70d9a
Compare
Choose a tag to compare

Complete rework of the crate, most items have changed at least slightly.
Please read the updated documentation to understand how the new version
works.

Added

  • A BusMutexSimple for sharing within a single task/thread with minimal overhead.
  • Macros for instanciating a 'global' bus manager which lives for 'static.

Changed

  • The BusMutex trait's lock() method now passes &mut to the closure, removing the RefCell 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.

Fixed

  • The SPI proxy is now !Send to make sure it can only be used from within a single thread/task.