From eb8488422e1f910f8a573fc68bdc7ce5cd06aa7a Mon Sep 17 00:00:00 2001 From: Priec Date: Wed, 1 Oct 2025 09:25:11 +0200 Subject: [PATCH] preparing to creating IP for the device --- test1/src/bin/main.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/test1/src/bin/main.rs b/test1/src/bin/main.rs index 9ba430c..00b8391 100644 --- a/test1/src/bin/main.rs +++ b/test1/src/bin/main.rs @@ -43,29 +43,34 @@ async fn main(spawner: Spawner) { let rng = esp_hal::rng::Rng::new(peripherals.RNG); let timer1 = TimerGroup::new(peripherals.TIMG0); let wifi_init = - esp_wifi::init(timer1.timer0, rng).expect("Failed to initialize WIFI/BLE controller"); - let (mut controller, _interfaces) = esp_wifi::wifi::new(&wifi_init, peripherals.WIFI) - .expect("Failed to initialize WIFI controller"); + esp_wifi::init(timer1.timer0, rng).expect("Failed to initialize WIFI/BLE wifi_controller"); + let (mut wifi_controller, interfaces) = esp_wifi::wifi::new(&wifi_init, peripherals.WIFI) + .expect("Failed to initialize WIFI wifi_controller"); + let wifi_interface = interfaces.sta; let client_conf = Configuration::Client(ClientConfiguration { ssid: SSID.try_into().unwrap(), password: PASSWORD.try_into().unwrap(), ..Default::default() }); - controller.set_configuration(&client_conf).unwrap(); + wifi_controller.set_configuration(&client_conf).unwrap(); info!("Starting WiFi..."); - controller.start_async().await.unwrap(); + wifi_controller.start_async().await.unwrap(); info!("WiFi started, connecting..."); - match controller.connect_async().await { + match wifi_controller.connect_async().await { Ok(_) => info!("Connected to WiFi!"), Err(e) => info!("Failed to connect: {:?}", e), } - // keep task alive + info!("Waiting for DHCP..."); loop { - Timer::after(Duration::from_secs(5)).await; + if let Some(cfg) = stack.config_v4() { + info!("Got IP: {}", cfg.address); + break; + } + Timer::after(Duration::from_millis(500)).await; } // for inspiration have a look at the examples at https://github.com/esp-rs/esp-hal/tree/esp-hal-v1.0.0-rc.0/examples/src/bin