Moved nfc and wifi into dedicated file
This commit is contained in:
+67
-1
@@ -1 +1,67 @@
|
||||
// Network wifi module
|
||||
use embassy_executor::Spawner;
|
||||
|
||||
#[cfg(not(feature = "wokwi"))]
|
||||
pub async fn setup_wifi(
|
||||
wifi: esp_hal::peripherals::WIFI<'static>,
|
||||
flash: esp_hal::peripherals::FLASH<'static>,
|
||||
spawner: &Spawner,
|
||||
) {
|
||||
let nvs = esp_hal_wifimanager::Nvs::new(0x9000, 0x6000, flash).unwrap();
|
||||
|
||||
let mut wm_settings = esp_hal_wifimanager::WmSettings::default();
|
||||
|
||||
wm_settings.ssid.clear();
|
||||
_ = core::fmt::write(
|
||||
&mut wm_settings.ssid,
|
||||
format_args!("CreatureDex-{:X}", esp_hal_wifimanager::get_efuse_mac()),
|
||||
);
|
||||
|
||||
wm_settings.wifi_conn_timeout = 30000;
|
||||
wm_settings.esp_reset_timeout = Some(300000); // 5min
|
||||
|
||||
let wifi_res = esp_hal_wifimanager::init_wm(wm_settings, spawner, Some(&nvs), wifi, None).await;
|
||||
|
||||
log::info!("wifi_res: {wifi_res:?}");
|
||||
}
|
||||
|
||||
#[cfg(feature = "wokwi")]
|
||||
pub async fn setup_wifi(
|
||||
wifi: esp_hal::peripherals::WIFI<'static>,
|
||||
flash: esp_hal::peripherals::FLASH<'static>,
|
||||
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;
|
||||
}
|
||||
};
|
||||
|
||||
if let Err(e) = nvs
|
||||
.set(
|
||||
esp_hal_wifimanager::WIFI_NVS_KEY,
|
||||
"{\"ssid\":\"Wokwi-GUEST\",\"psk\":\"\",\"data\":{}}",
|
||||
)
|
||||
.await
|
||||
{
|
||||
log::error!("Failed to store Wokwi WiFi config in NVS: {e:?}");
|
||||
return;
|
||||
}
|
||||
|
||||
let mut wm_settings = esp_hal_wifimanager::WmSettings::default();
|
||||
|
||||
// Wokwi simulation uses a default open network called "Wokwi-GUEST"
|
||||
wm_settings.ssid.clear();
|
||||
_ = core::fmt::write(&mut wm_settings.ssid, format_args!("Wokwi-GUEST"));
|
||||
|
||||
wm_settings.wifi_conn_timeout = 30000;
|
||||
|
||||
// Initialize Wi-Fi connection through WiFi Manager using the pre-seeded NVS data.
|
||||
let wifi_res = esp_hal_wifimanager::init_wm(wm_settings, spawner, Some(&nvs), wifi, None).await;
|
||||
|
||||
log::info!("Wokwi wifi_res: {wifi_res:?}");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user