Home

Awesome

Rust PAC194X Power Monitor Driver

A platform-agnostic driver crate for the Microchip PAC194X single/multi channel power monitor using the embedded-hal traits.

Build Status Docs.rs Crates.io

This driver allows you to:

<!-- TODO [Introductory blog post]() -->

Usage

To use this driver, import this crate and an embedded_hal implementation, then instantiate the appropriate device.

use linux_embedded_hal::I2cdev;
use pac194x::{PAC194X, AddrSelect};

const SENSE_RESISTOR: f32 = 0.5;

fn main() {
    let i2c = I2cdev::new("/dev/i2c-1").unwrap();
    let mut sensor = PAC194X::new(i2c, AddrSelect::GND).unwrap();
    loop {
        let bus_voltage_1 = sensor.read_bus_voltage_n(1).unwrap();
        let sense_voltage_1 = sensor.read_sense_voltage_n(1).unwrap();
        println!("Channel 1 has a bus voltage of: {:.2} V", bus_voltage_1);
        println!("Channel 1 is pulling a current of: {:.2} A", sense_voltage_1 / SENSE_RESISTOR);
    }
}

Discussion

I wrote a blog post about the development of this crate here

License

Licensed under either of

at your option.

Contributing

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