Skip to content

Releases: Rahix/port-expander

Version 0.6.1

10 May 10:42
v0.6.1
Compare
Choose a tag to compare

Added

  • Implement polarity and pull-up/down support for MCP23017 and MCP23S17 (#31 by @markus-k).

Version 0.6.0

10 May 10:42
v0.6.0
Compare
Choose a tag to compare

Added

  • Support for MCP23017 (I2C variant) and MCP23S17 (SPI variant) (#27 by @markus-k).

Fixed

  • Fixed embedded-hal digital I/O trait implementations being unusable due to usage of an incompatible error type (#30 by @markus-k).

Changed

  • BREAKING Pin methods now return a custom error type which wraps the bus error instead of returning the bus error directly (#30 by @markus-k).

Version 0.5.0

19 Feb 17:30
v0.5.0
Compare
Choose a tag to compare

Added

  • Support for PI4IOE5V6408 (#17 by @t-moe).
  • Added support for enabling pull-up/down resistors for port expander input pins (#22 by @t-moe).
  • Added public API to access the underlying port-expander of a pin (pin.access_port_driver()) and the register mask for the pin (pin.pin_mask()) (#23 by @t-moe).

Changed

  • BREAKING Moved to embedded-hal 1.0 (#16 by @PixmaHestiia).
  • BREAKING Replaced shared_bus::BusMutex with our own custom port_expander::PortMutex trait (#26). If you need support for custom mutex types, you now need to implement the latter one for your mutex.

Version 0.4.1

25 Dec 01:47
v0.4.1
Compare
Choose a tag to compare

Added

Version 0.4.0

13 Aug 17:21
v0.4.0
Compare
Choose a tag to compare

Changed

  • BREAKING Upgraded to shared-bus 0.3.

Version 0.3.1

13 Aug 17:15
v0.3.1
Compare
Choose a tag to compare

Added

Changed

  • Upgraded to Rust Edition 2021.

Version 0.3.0

06 May 18:52
v0.3.0
Compare
Choose a tag to compare

Added

  • Added support for PCF8575 (#1 by @eivindbergem).
  • Added support for PCA9538.
  • Added into_output_high() for totem-pole output drivers. In contrast to into_output() this will immediately put the pin into a HIGH state, thus preventing a short glitch between setting direction and pin value (#3).
  • Added support for setting the polarity inversion of pins.

Changed

  • into_output() for totem-pole output drivers now puts the pin into a LOW state without a glitch. Previously, it would leave the pin in whatever state it was last in (= most often the HIGH state) (#3).

Fixed

  • Fixed read_multiple() and write_multiple() not ensuring that all passed pins actually belong to the same port-expander chip (#4).

Version 0.2.1

06 May 18:51
v0.2.1
Compare
Choose a tag to compare

Added

  • Added the write_multiple() and read_multiple() functions to set/get multiple pin-states in a single bus transaction.

Changed

  • The internal PortDriver trait was redesigned to better fit its requirements.

Version 0.2.0

24 Apr 14:53
v0.2.0
Compare
Choose a tag to compare

Changed

  • Pin::set_high(), Pin::set_low(), and Pin::toggle() now take &mut self.

Initial Release

24 Apr 13:12
v0.1.0
Compare
Choose a tag to compare
v0.1.0

Version 0.1.0