From 4d9cd05f722ec22d63d291417348c049a09f8445 Mon Sep 17 00:00:00 2001 From: rhetenor Date: Wed, 2 Sep 2026 20:31:37 +0200 Subject: [PATCH] fix wokwi wifi --- src/network/wifi.rs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/src/network/wifi.rs b/src/network/wifi.rs index 926e793..205f457 100644 --- a/src/network/wifi.rs +++ b/src/network/wifi.rs @@ -31,31 +31,27 @@ pub async fn setup_wifi( #[cfg(feature = "wokwi")] pub async fn setup_wifi( wifi: esp_hal::peripherals::WIFI<'static>, - flash: esp_hal::peripherals::FLASH<'static>, + nvs: Arc>, spawner: &Spawner, ) { log::info!("Wokwi mode active: pre-seeding WiFi Manager with Wokwi credentials"); - // Preload connection data so init_wm can connect immediately without AP setup. - let nvs = match esp_hal_wifimanager::Nvs::new(0x9000, 0x6000, flash) { - Ok(nvs) => nvs, - Err(e) => { - log::error!("Failed to initialize NVS for Wokwi: {e:?}"); - return; - } - }; + use esp_nvs::Key; + const WIFIMANAGER_NAMESPACE: Key = Key::from_str("wifimanager"); + const WIFIMANAGER_NVS_KEY: Key = Key::from_str("WIFI_SETUP"); - if let Err(e) = nvs - .set( - esp_hal_wifimanager::WIFI_NVS_KEY, - "{\"ssid\":\"Wokwi-GUEST\",\"psk\":\"\",\"data\":{}}", - ) - .await - { + if let Err(e) = nvs.lock().await.set( + &WIFIMANAGER_NAMESPACE, + &WIFIMANAGER_NVS_KEY, + "{\"ssid\":\"Wokwi-GUEST\",\"psk\":\"\",\"data\":{}}", + ) { log::error!("Failed to store Wokwi WiFi config in NVS: {e:?}"); return; } + // Preload connection data so init_wm can connect immediately without AP setup. + let nvs = esp_hal_wifimanager::Nvs::new_from_nvs(nvs, 0, 0); + let mut wm_settings = esp_hal_wifimanager::WmSettings::default(); // Wokwi simulation uses a default open network called "Wokwi-GUEST"