cst328 1.0.4

Pure Rust CST328 touch driver (blocking + async support)
Documentation

cst328

CI Crates.io Version docs.rs License: MIT

A pure Rust driver for the CST328 touch controller device (datasheet). This driver supports the following:

  • Various hardware via embedded-hal
  • A no_std environment
  • 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.

Installation

Add this to your Cargo.toml:

[dependencies]
cst328 = { version = "1.0", features = ["use_sync"] }   # or "use_async"

Example

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.