-
Notifications
You must be signed in to change notification settings - Fork 400
Description
Motivations
The subject is the TL;DR.
The elaboration is that when provisioning a Matter node, the node might, or might not run the BLE and the IEEE802154 (or Wifi) radios simultaneously.
While the Matter spec had taken special precautions to support devices that do not allow for BLE + "the other radio" coex (the so called "Non-concurrent Commissioning Flow"), these precautions are not always working across all Matter controllers.
For example, Alexa does not really support the non-concurrent commissioning flow.
Solution
From an API standpoint:
Something similar to what is implemented in esp-wifi in terms of the esp_wifi::init function: i.e. you initialize something once only, by passing it the RADIO_CLK periph as well as a timer periph, and then you can immutably borrow the initialized something when instantiating the BLE, the Wifi, and (in future) the Ieee802154 radio.
Of course that would mean that the Ieee80215 driver/crate would need to depend on the esp-wifi crate, or the "init" magic needs to be moved to somewhere else (esp-hal?).
From an implementation standpoint, I have no idea if the coex between BLE and IEEE802154 is feasible, but I guess it is not completely out of reach, given that ESP-IDF is implementing it.
Alternatives
Use non-concurrent commissioning with Matter.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status