A pure Rust driver for the CST328 touch controller device (datasheet). This driver supports the following:
- Various hardware via
embedded-hal - A
no_stdenvironment - both sync and async API's
This library supports either (but not both) synchronous (blocking) or
asynchronous (non-blocking) API's. One and only one of the following
features must be defined: use_sync or use_async.
Add this to your Cargo.toml:
[dependencies]
cst328 = { version = "1.0", features = ["use_sync"] } # or "use_async"use cst328::{Cst328, Mode};
use log::{info, error};
let i2c = // Create I2C device.
let mut dev = Cst328::new(i2c);
match dev.read_finger(0).await {
Ok(finger) => info!("Touch Data: {finger:?}"),
Err(e) => error!("Failed to read finger data: {e:?}"),
}See the full working examples in the project ///examples directory.