bq40z50_rx/lib.rs
1//! This is a platform-agnostic Rust driver for the Texas Instruments BQ40Z50 Battery
2//! fuel/gas gauge based on the [`embedded-hal`] traits.
3//!
4//! [`embedded-hal`]: https://docs.rs/embedded-hal
5//!
6//! For further details of the device architecture and operation, please refer
7//! to one of the official Datasheets:
8//!
9//! - [`Datasheet R1`]
10//! - [`Datasheet R3`]
11//! - [`Datasheet R4`]
12//! - [`Datasheet R5`]
13//!
14//! [`Datasheet R1`]: https://www.ti.com/lit/ug/sluua43a/sluua43a.pdf
15//! [`Datasheet R3`]: https://www.ti.com/lit/ug/sluubu5a/sluubu5a.pdf
16//! [`Datasheet R4`]: https://www.ti.com/lit/ug/sluuch2/sluuch2.pdf
17//! [`Datasheet R5`]: https://www.ti.com/lit/ug/sluucn4b/sluucn4b.pdf
18
19#![doc = include_str!("../README.md")]
20#![cfg_attr(not(test), no_std)]
21#![allow(missing_docs)]
22
23mod common;
24mod consts;
25mod error;
26mod interface;
27mod tests;
28mod versions;
29
30// Re-export types for public use
31#[cfg(any(feature = "r3", feature = "r4", feature = "r5"))]
32pub use common::ChargingVoltageOverride;
33pub use common::Config;
34pub use error::BQ40Z50Error;
35#[cfg(feature = "r1")]
36pub use versions::r1::Bq40z50R1;
37#[cfg(feature = "r3")]
38pub use versions::r3::Bq40z50R3;
39#[cfg(feature = "r4")]
40pub use versions::r4::Bq40z50R4;
41#[cfg(feature = "r5")]
42pub use versions::r5::Bq40z50R5;
43pub use versions::*;