Refactor formatting and remove unused imports in mqtt and plant_state modules
This commit is contained in:
@@ -14,9 +14,9 @@
|
||||
esp_bootloader_esp_idf::esp_app_desc!();
|
||||
use esp_backtrace as _;
|
||||
|
||||
use crate::hal::PROGRESS_ACTIVE;
|
||||
use crate::config::{PlantConfig, PlantControllerConfig};
|
||||
use crate::fat_error::{ContextExt, FatResult};
|
||||
use crate::hal::PROGRESS_ACTIVE;
|
||||
|
||||
use crate::log::log;
|
||||
use crate::tank::{determine_tank_state, TankError, WATER_FROZEN_THRESH};
|
||||
@@ -42,8 +42,8 @@ use embassy_sync::once_lock::OnceLock;
|
||||
use embassy_time::{Duration, Instant, Timer};
|
||||
use esp_hal::rom::ets_delay_us;
|
||||
use esp_hal::system::software_reset;
|
||||
use esp_println::{println};
|
||||
use hal::battery::{BatteryState};
|
||||
use esp_println::println;
|
||||
use hal::battery::BatteryState;
|
||||
use log::LogMessage;
|
||||
use option_lock::OptionLock;
|
||||
use plant_state::PlantState;
|
||||
@@ -123,8 +123,6 @@ pub struct PumpResult {
|
||||
overcurrent_ma: Option<u16>,
|
||||
}
|
||||
|
||||
|
||||
|
||||
async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
info!("Startup Rust");
|
||||
|
||||
@@ -208,10 +206,15 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
info!("No wifi configured, starting initial config mode");
|
||||
|
||||
let esp = board.board_hal.get_esp();
|
||||
let ssid = esp.load_config().await
|
||||
let ssid = esp
|
||||
.load_config()
|
||||
.await
|
||||
.map(|config| config.network.ap_ssid.to_string())
|
||||
.unwrap_or_else(|_| String::from("PlantCtrl Emergency Mode"));
|
||||
let device = esp.interface_ap.take().context("AP interface already taken")?;
|
||||
let device = esp
|
||||
.interface_ap
|
||||
.take()
|
||||
.context("AP interface already taken")?;
|
||||
let stack = network::wifi_ap(ssid, device, &esp.controller, &mut esp.rng, spawner).await?;
|
||||
|
||||
let reboot_now = Arc::new(AtomicBool::new(false));
|
||||
@@ -228,7 +231,7 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
info!("No wifi configured");
|
||||
//the current sensors require this amount to stabilize, in the case of Wi-Fi this is already handled due to connect timings;
|
||||
Timer::after_millis(100).await;
|
||||
network::NetworkMode::OFFLINE
|
||||
network::NetworkMode::OFFLINE
|
||||
};
|
||||
|
||||
if matches!(network_mode, network::NetworkMode::OFFLINE) && to_config {
|
||||
@@ -236,14 +239,18 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
|
||||
let res = {
|
||||
let esp = board.board_hal.get_esp();
|
||||
let ssid = esp.load_config().await
|
||||
let ssid = esp
|
||||
.load_config()
|
||||
.await
|
||||
.map(|config| config.network.ap_ssid.to_string())
|
||||
.unwrap_or_else(|_| String::from("PlantCtrl Emergency Mode"));
|
||||
let device = match esp.interface_ap.take() {
|
||||
Some(d) => d,
|
||||
None => {
|
||||
use crate::fat_error::FatError;
|
||||
return Err(FatError::String { error: "AP interface already taken".to_string() });
|
||||
return Err(FatError::String {
|
||||
error: "AP interface already taken".to_string(),
|
||||
});
|
||||
}
|
||||
};
|
||||
network::wifi_ap(ssid, device, &esp.controller, &mut esp.rng, spawner).await
|
||||
@@ -276,9 +283,11 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
|
||||
if let network::NetworkMode::WIFI { ref ip_address, .. } = network_mode {
|
||||
mqtt::publish_firmware_info(version, ip_address, &timezone_time.to_rfc3339()).await;
|
||||
mqtt::publish_battery_state(&mut board).await.unwrap_or_else(|e| {
|
||||
error!("Error publishing battery state {e}");
|
||||
});
|
||||
mqtt::publish_battery_state(&mut board)
|
||||
.await
|
||||
.unwrap_or_else(|e| {
|
||||
error!("Error publishing battery state {e}");
|
||||
});
|
||||
let _ = mqtt::publish_mppt_state(&mut board).await;
|
||||
let _ = mqtt::publish_wifi_scan(&mut board).await;
|
||||
}
|
||||
@@ -325,7 +334,9 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
if let Some(err) = tank_state.got_error(&board.board_hal.get_config().tank) {
|
||||
match err {
|
||||
TankError::SensorDisabled => { /* unreachable */ }
|
||||
TankError::SensorMissing { raw_mv: raw_value_mv } => log(
|
||||
TankError::SensorMissing {
|
||||
raw_mv: raw_value_mv,
|
||||
} => log(
|
||||
LogMessage::TankSensorMissing,
|
||||
raw_value_mv as u32,
|
||||
0,
|
||||
@@ -355,7 +366,11 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
}
|
||||
|
||||
let mut water_frozen = false;
|
||||
let water_temp: FatResult<f32> = board.board_hal.get_tank_sensor().water_temperature_c().await;
|
||||
let water_temp: FatResult<f32> = board
|
||||
.board_hal
|
||||
.get_tank_sensor()
|
||||
.water_temperature_c()
|
||||
.await;
|
||||
|
||||
if let Ok(res) = water_temp {
|
||||
if res < WATER_FROZEN_THRESH {
|
||||
@@ -581,11 +596,15 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
|
||||
light_state.battery_low = false;
|
||||
}
|
||||
BatteryState::Info(data) => {
|
||||
if data.soc_pct.is_some_and(|soc| soc < board.board_hal.get_config().night_lamp.low_soc_cutoff as f32) {
|
||||
if data.soc_pct.is_some_and(|soc| {
|
||||
soc < board.board_hal.get_config().night_lamp.low_soc_cutoff as f32
|
||||
}) {
|
||||
board.board_hal.get_esp().set_low_voltage_in_cycle();
|
||||
info!("Set low voltage in cycle");
|
||||
}
|
||||
if data.soc_pct.is_some_and(|soc| soc > board.board_hal.get_config().night_lamp.low_soc_restore as f32) {
|
||||
if data.soc_pct.is_some_and(|soc| {
|
||||
soc > board.board_hal.get_config().night_lamp.low_soc_restore as f32
|
||||
}) {
|
||||
board.board_hal.get_esp().clear_low_voltage_in_cycle();
|
||||
info!("Clear low voltage in cycle");
|
||||
}
|
||||
@@ -988,8 +1007,7 @@ async fn wait_infinity(
|
||||
let timezone_time = cur.with_timezone(&timezone);
|
||||
|
||||
mqtt::publish("/state", "config").await;
|
||||
mqtt::publish("/firmware/last_online", &timezone_time.to_rfc3339())
|
||||
.await;
|
||||
mqtt::publish("/firmware/last_online", &timezone_time.to_rfc3339()).await;
|
||||
last_mqtt_update = Some(now);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user