#io #expander #i2c-driver #driver #i2c #embedded-hal

no-std stmpe1600

Platform-agnostic Rust driver for the STMPE1600 I/O expander

7 releases (stable)

2.0.0 Apr 2, 2021
1.1.2 May 18, 2020
1.1.1 Apr 22, 2020
0.2.0 Apr 15, 2020
0.1.0 Apr 15, 2020

#1832 in Embedded development

MIT/Apache

22KB
361 lines

STMPE1600 I/O Expander Rust Driver

Crate Docs

This is a platform-agnostic Rust driver for the STMPE1600 I/O expander.

This driver can:

  • Setup the pins as input, output or interrupt pins.
  • Read/write to a specific pin.
  • Set the polarity inversion of a specific pin.
  • Enable interrupt capability.
  • Set the interrupt output polarity.

Interrupts

The STMPE1600 handles interrupts by triggering an interrupt output pin when it detects an interrupt on any of its configured interrupt pins. The polarity of the interrupt output pin can be configured to be HIGH or LOW, and when the interrupt is triggered, the microcontroller can get any pending interrupts by calling get_interrupts, which will also clear the pending interrupts on the STMPE1600 itself.

Usage

See docs.

License

Licensed under either of

at your option.

Contribution

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

Dependencies

~71KB