chore: cargo fmt
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use crate::to_string;
|
||||
use anyhow::bail;
|
||||
use bq34z100::{Bq34Z100Error, Bq34z100g1, Bq34z100g1Driver};
|
||||
use embedded_hal_bus::i2c::MutexDevice;
|
||||
@@ -6,7 +7,6 @@ use esp_idf_hal::i2c::{I2cDriver, I2cError};
|
||||
use measurements::Temperature;
|
||||
use serde::Serialize;
|
||||
use std::result::Result::Ok as OkStd;
|
||||
use crate::to_string;
|
||||
|
||||
pub trait BatteryInteraction {
|
||||
fn state_charge_percent(&mut self) -> anyhow::Result<u8>;
|
||||
@@ -31,29 +31,24 @@ pub struct BatteryState {
|
||||
state_of_health: String,
|
||||
temperature: String,
|
||||
}
|
||||
|
||||
pub enum BatteryMonitor<'a> {
|
||||
Disabled {
|
||||
|
||||
},
|
||||
Disabled {},
|
||||
BQ34Z100G1 {
|
||||
battery_driver: Bq34z100g1Driver<MutexDevice<'a, I2cDriver<'a>>, Delay>
|
||||
battery_driver: Bq34z100g1Driver<MutexDevice<'a, I2cDriver<'a>>, Delay>,
|
||||
},
|
||||
WchI2cSlave {
|
||||
|
||||
}
|
||||
WchI2cSlave {},
|
||||
}
|
||||
|
||||
|
||||
|
||||
impl BatteryInteraction for BatteryMonitor<'_> {
|
||||
fn state_charge_percent(&mut self) -> anyhow::Result<u8> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.state_of_charge() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading SoC {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
}
|
||||
@@ -65,128 +60,122 @@ impl BatteryInteraction for BatteryMonitor<'_> {
|
||||
|
||||
fn remaining_milli_ampere_hour(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
match battery_driver.remaining_capacity(){
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.remaining_capacity() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading remaining_milli_ampere_hour {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn max_milli_ampere_hour(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.full_charge_capacity() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading max_milli_ampere_hour {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn design_milli_ampere_hour(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.design_capacity() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading design_milli_ampere_hour {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn voltage_milli_volt(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
match battery_driver.voltage() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading voltage_milli_volt {:?}", err),
|
||||
}
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => match battery_driver.voltage() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading voltage_milli_volt {:?}", err),
|
||||
},
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn average_current_milli_ampere(&mut self) -> anyhow::Result<i16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.average_current() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading average_current_milli_ampere {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn cycle_count(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
match battery_driver.cycle_count() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading cycle_count {:?}", err),
|
||||
}
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => match battery_driver.cycle_count() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading cycle_count {:?}", err),
|
||||
},
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn state_health_percent(&mut self) -> anyhow::Result<u8> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => {
|
||||
match battery_driver.state_of_health() {
|
||||
OkStd(r) => anyhow::Ok(r as u8),
|
||||
Err(err) => bail!("Error reading state_health_percent {:?}", err),
|
||||
}
|
||||
},
|
||||
}
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
}
|
||||
fn bat_temperature(&mut self) -> anyhow::Result<u16> {
|
||||
match self {
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver} => {
|
||||
match battery_driver.temperature() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading bat_temperature {:?}", err),
|
||||
}
|
||||
BatteryMonitor::BQ34Z100G1 { battery_driver } => match battery_driver.temperature() {
|
||||
OkStd(r) => anyhow::Ok(r),
|
||||
Err(err) => bail!("Error reading bat_temperature {:?}", err),
|
||||
},
|
||||
BatteryMonitor::WchI2cSlave { .. } => {
|
||||
bail!("Not implemented")
|
||||
},
|
||||
&mut BatteryMonitor::Disabled { } => {
|
||||
}
|
||||
&mut BatteryMonitor::Disabled {} => {
|
||||
bail!("Battery monitor is disabled")
|
||||
}
|
||||
}
|
||||
@@ -205,12 +194,8 @@ impl BatteryInteraction for BatteryMonitor<'_> {
|
||||
};
|
||||
|
||||
match serde_json::to_string(&bat) {
|
||||
Ok(state) => {
|
||||
state
|
||||
}
|
||||
Err(err) => {
|
||||
format!("{:?}", err).to_owned()
|
||||
}
|
||||
Ok(state) => state,
|
||||
Err(err) => format!("{:?}", err).to_owned(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user