1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! # dalybms_lib
//!
//! This crate provides a library for interacting with Daly BMS (Battery Management System) devices.
//! It offers both synchronous and asynchronous clients for communication.
//!
//! ## Features
//!
//! This crate uses a feature-based system to keep dependencies minimal.
//! You need to enable the client you want to use.
//!
//! - `default`: Enables `bin-dependencies`, which is intended for compiling the `dalybms` command-line tool and pulls in `serialport` and `serde`.
//!
//! ### Client Features
//! - `serialport`: Enables the **synchronous** client using the `serialport` crate.
//! - `tokio-serial-async`: Enables the **asynchronous** client using `tokio` and `tokio-serial`.
//!
//! ### Utility Features
//! - `serde`: Enables `serde` support for serializing/deserializing data structures.
//! - `bin-dependencies`: Enables all features required by the `dalybms` binary executable (currently `serialport` and `serde`).
/// Contains error types for the library.
/// Defines the communication protocol for Daly BMS.
pub use Error;
/// Synchronous client for Daly BMS communication.
/// Asynchronous client for Daly BMS communication.