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

45 lines
1.5 KiB
Markdown

# 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
```diff
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`.
```diff
- controller.start().await.unwrap();
+ controller.start_async().await.unwrap();
```