1 unstable release
0.1.0 | Jul 17, 2022 |
---|
#1857 in Hardware support
9KB
120 lines
tca9555
Embedded-HAL driver crate for the TCA9555/TCA9535 16 port I/O expander.
This crate currently only implements byte-oriented operations - pin operations will be part of a future update.
Read operations have been tested. Write operations have been implemented but not tested.
Examples
There is an example application provided for the Raspberry Pi Pico, developed for the Pimoroni "PIM551" keypad module.
let mut tca = Tca9555::new(i2c, tca9555::DeviceAddr::default());
let inputs: u16 = tca.read_all().unwrap();
License
This crate is distributed under the terms of the Mozilla Public License Version 2.0.
lib.rs
:
Driver for the TCA9555/TCA9535 16-port I/O expander.
This crate currently only has byte-oriented operation implemented. Individual control of pins will be the subject of a future release.
Example
use embedded_hal::blocking::i2c::WriteRead;
use tca9555::{Tca9555, DeviceAddr};
fn read_ports<E>(i2c: impl WriteRead<Error = E>) -> Result<(), E> {
let mut tca = Tca9555::new(i2c, DeviceAddr::default());
let port0: u8 = tca.read_port_0()?;
let port1: u8 = tca.read_port_1()?;
let all_inputs: u16 = tca.read_all()?;
Ok(())
}
Dependencies
~230KB