1个不稳定版本
0.1.0 | 2022年4月26日 |
---|
#16 在 #gauge
9KB
112 行
max1720x
MAX1720x燃料计IC的嵌入式-hal驱动程序
此驱动程序基于Tock的MAX17205驱动程序,但重写以使用嵌入式-hal的I2C驱动程序而不是Tock内核中内置的驱动程序。它不拥有I2C总线,因此可以与其他I2C驱动程序一起工作。
在带有MAX17205的树莓派上进行了测试,但理论上应在任何嵌入式-hal I2C设备上以及与MAX1720x系列中的任何IC一起工作。
lib.rs
:
Maxim MAX17205燃料计的嵌入式-hal驱动程序。
基于https://github.com/tock/tock/blob/master/capsules/src/max17205.rs重写,以使用嵌入式-hal I2C驱动程序。
https://www.maximintegrated.com/en/products/power/battery-management/MAX17205.html
MAX1720x/MAX1721x是超低功耗独立燃料计IC,无需主机交互即可实现Maxim ModelGauge™ m5算法。此功能使得MAX1720x/MAX1721x成为出色的电池侧燃料计。MAX17201/MAX17211监控单个电池组。MAX17205/MAX17215监控并平衡2S或3S电池组,或监控多串电池组。
用法
use rppal::i2c::I2c; fn main() { let mut i2c = I2c::new().unwrap(); let mut max17205 = MAX1720x::new(&mut i2c); let soc = max17205.state_of_charge(&mut i2c).unwrap(); let status = max17205.status(&mut i2c).unwrap(); let voltage = max17205.voltage(&mut i2c).unwrap(); let current = max17205.current(&mut i2c).unwrap(); println!("State of charge: {}%", soc); println!("Voltage: {}V", voltage); println!("Current: {}A", current); println!("Status: {:#?}", status); }
依赖项
~71KB