afe4404

Crates.ioafe4404
lib.rsafe4404
version0.2.4
sourcesrc
created_at2022-12-06 11:08:24.008287
updated_at2023-04-15 13:25:27.468523
descriptionAFE4404 driver for Rust embedded-hal.
homepage
repositoryhttps://github.com/pulse-loop/AFE4404
max_upload_size
id731069
size219,975
(FabioCragnolini)

documentation

README

AFE4404 Rust driver

crates.io build docs.rs crates.io crates.io

This is a AFE4404 driver for Rust embedded-hal. It allows a high level interaction with the AFE.

Usage

Initialise the AFE:

let mut frontend = AFE4404::with_three_leds(i2c, 0x58u8, Frequency::new::<megahertz>(4.0));

Set the LEDs current:

frontend
    .set_leds_current(&LedCurrentConfiguration::<ThreeLedsMode>::new(
        ElectricCurrent::new::<milliampere>(60.0),
        ElectricCurrent::new::<milliampere>(10.0),
        ElectricCurrent::new::<milliampere>(10.0),
    ))
    .expect("Cannot set leds current");

Set the TIA resistors:

frontend
    .set_tia_resistors(&ResistorConfiguration::<ThreeLedsMode>::new(
        ElectricalResistance::new::<kiloohm>(250.0),
        ElectricalResistance::new::<kiloohm>(100.0),
    ))
    .expect("Cannot set tia resistors");

Set the clock source:

frontend
    .set_clock_source(ClockConfiguration::Internal)
    .expect("Cannot set clock source");

Read the sampled values:

let sample = frontend.read();
Commit count: 120

cargo fmt