esp-hal/esp-wifi/MIGRATING-0.10.md
Scott Mabin 50d8187e39
esp-wifi: Remove unneeded features (#2446)
* remove async features

* phy-usb config

* modem powersaving

* Fix examples

* make ps a runtime config

* fix linting

* changelog and migration guide

* revert esp-config changes

* remove blanklines after doc comments

* cfg away ps API
2024-11-08 13:30:33 +00:00

1.5 KiB

Migration Guide from 0.10.x to v0.11.x

Initialization changes

EspWifiInitFor has been removed, individual drivers such as Wifi and BleConnector handle the initialization and de-initialization of the radio stack.

EspWifiInit has been removed in favour of EspWifiController, each radio driver takes reference to this object. If no driver is borrowing EspWifiController, you can safely call EspWifiController::deinit() to completely deinit the stack and return the peripherals used in esp_wifi::init.

esp-wifi::init now takes all peripherals using the PeripheralRef pattern, with the exception of the rng source.

esp_wifi::init now accepts esp_hal::rng::Rng or esp_hal::rng::Trng.

The following error enum variants have been removed from InitializationError:

  • Timer(hal::timer::Error)
  • TimerUnavailable
  • RadioClockUnavailable

No need to include rom_functions.x manually

Don't include rom_functions.x from esp-wifi

rustflags = [
    "-C", "link-arg=-Tlinkall.x",
-    "-C", "link-arg=-Trom_functions.x",
]

ESP-NOW: Use data to access the received payload

Previously data and len were public - use the previously already existing data() function.

Accessing data or len was never encouraged.

Async features have been removed and async functionality is always available

The cost of this is that we need to rename the various async methods on WifiController.

- controller.start().await.unwrap();
+ controller.start_async().await.unwrap();