pcf857x 0.2.0

Platform-agnostic Rust driver for the PCF8574, PCF8574A and PCF8575 I/O expanders.
Documentation

Rust PCF857x I/O Expanders Driver crates.io Docs Build Status

This is a platform agnostic Rust driver for the PCF8574, PCF8574A and PCF8575 I2C I/O expanders, based on the embedded-hal traits.

This driver allows you to:

  • Set all the outputs to 0 or 1 at once. See set().
  • Read selected inputs. See get().
  • Set all the outputs repeatedly looping through an array. See write_array().
  • Read selected inputs repeatedly filling up an array. See read_array().
  • Split the device into individual input/output pins. See split().

The devices

The devices consist of 8 or 16 quasi-bidirectional ports, I²C-bus interface, three hardware address inputs and interrupt output. The quasi-bidirectional port can be independently assigned as an input to monitor interrupt status or keypads, or as an output to activate indicator devices such as LEDs.

The active LOW open-drain interrupt output (INT) can be connected to the interrupt logic of the microcontroller and is activated when any input state differs from its corresponding input port register state.

Datasheets:

License

Licensed under either of

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.