10个版本
0.5.0 | 2024年2月8日 |
---|---|
0.4.2 | 2022年9月9日 |
0.3.3 | 2022年7月1日 |
0.3.2 | 2022年6月17日 |
0.1.0 | 2022年5月3日 |
#181 in 嵌入式开发
每月21次下载
215KB
4.5K SLoC
LTC681X电池堆栈监控客户端
LTC681X家族的抽象。支持LTC681X家族的所有设备:LTC6813、LTC6812、LTC6811和LTC6810。
目前实现以下功能
示例
有关所有详细信息,请参阅monitor模块。
use ltc681x::example::{ExampleCSPin, ExampleSPIBus};
use ltc681x::ltc6813::{CellSelection, Channel, GPIOSelection, LTC6813};
use ltc681x::monitor::{ADCMode, LTC681X, LTC681XClient, PollClient};
let spi_bus = ExampleSPIBus::default();
let cs_pin = ExampleCSPin{};
// LTC6813 device
let mut client: LTC681X<_, _, _, LTC6813, 1> = LTC681X::ltc6813(spi_bus, cs_pin)
.enable_sdo_polling();
// Starts conversion for cell group 1
client.start_conv_cells(ADCMode::Normal, CellSelection::Group1, true);
// Poll ADC status
while !client.adc_ready().unwrap() {
// Conversion is not done yet
}
// Returns the value of cell group A. In case of LTC613: cell 1, 7 and 13
let voltages = client.read_voltages(CellSelection::Group1).unwrap();
assert_eq!(Channel::Cell1, voltages[0][0].channel);
assert_eq!(24979, voltages[0][0].voltage);
状态
⚠️ 该存储库仍然不完整,但正在积极开发中。
⚠️ 该存储库仅针对LTC6813变种进行了测试。尽管LTC681X家族的协议本质上是相同的,但仍可能存在某些变种的差异。因此,欢迎对其他变种进行实际测试和反馈。
开发
任何形式的支持都将非常感激。请随意创建问题和PR。有关更多详细信息,请参阅DEVELOPMENT。
许可证
根据以下之一许可
- Apache许可证第2版,(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)任选。
每个贡献者都同意他的贡献涵盖这两个许可证。
依赖项
~3MB
~55K SLoC