refactor: move wifi_ap to network module

This commit is contained in:
2026-05-10 02:42:57 +02:00
parent be117bf74d
commit 5e4ed25312
3 changed files with 87 additions and 61 deletions

View File

@@ -17,7 +17,7 @@ use esp_backtrace as _;
use hal::PROGRESS_ACTIVE;
use crate::config::{NetworkConfig, PlantConfig};
use crate::fat_error::FatResult;
use crate::fat_error::{ContextExt, FatResult};
use crate::log::log;
use crate::tank::{determine_tank_state, TankError, TankState, WATER_FROZEN_THRESH};
@@ -195,7 +195,12 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
{
info!("No wifi configured, starting initial config mode");
let stack = board.board_hal.get_esp().wifi_ap(spawner).await?;
let esp = board.board_hal.get_esp();
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 stack = network::wifi_ap(ssid, device, &esp.controller, &mut esp.rng, spawner).await?;
let reboot_now = Arc::new(AtomicBool::new(false));
println!("starting webserver");
@@ -219,7 +224,17 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> {
let res = {
let esp = board.board_hal.get_esp();
esp.wifi_ap(spawner).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() });
}
};
network::wifi_ap(ssid, device, &esp.controller, &mut esp.rng, spawner).await
};
match res {
Ok(ap_stack) => {