-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(openthread): fix RCP build to pass time sync and CSL options (IDFGH-13113) #14060
Conversation
👋 Hello no2chem, we appreciate your contribution to this project! 📘 Please review the project's Contributions Guide for key guidelines on code, documentation, testing, and more. 🖊️ Please also make sure you have read and signed the Contributor License Agreement for this project. Click to see more instructions ...
Review and merge process you can expect ...
|
@no2chem Thank you for your contribution! It's indeed a feature has not been supported in current SDK. CSL was introduced in Thread 1.2, but it has not yet seen widespread adoption in products. Time Sync is still an experimental feature and is not defined in the Thread specification. Both the features are well supported by single SoC, and we will evaluate the feasibility of supporting them in RCP mode. Could you provide more details about your product use case? Is it based on ESP Thread BR? |
Thanks @chshu - We would like to use it with ESP thread BR - but the library is not open source so we are using ot-br-posix instead. We've run into some stability issues with ESP thread BR so we're not as confident in using it because we can't fix it, but since the RCP should be agnostic to whether ESP thread BR or ot-br-posix is running on the NCP. But both features work in RCP mode once the changes in this PR are applied, and #14089 is used to fix a bug in the 802154 state machine. |
@no2chem The change looks good with 2 minor comments, we will do some verification internally, and merge it then. For any stability issue you encountered, please test again with the latest release/v5.1 branch, and feel free to file issues here: https://github.com/espressif/esp-thread-br. |
@@ -123,6 +124,8 @@ if(CONFIG_OPENTHREAD_ENABLED) | |||
"openthread/src/core/thread/network_diagnostic.cpp" | |||
"openthread/src/core/thread/panid_query_server.cpp" | |||
"openthread/src/core/thread/thread_netif.cpp" | |||
"openthread/src/core/thread/thread_netif.cpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's duplicate with previous line.
@@ -148,7 +148,7 @@ | |||
* `RadioSpinel` platform is used. | |||
* | |||
*/ | |||
#define OPENTHREAD_CONFIG_PLATFORM_RADIO_SPINEL_RX_FRAME_BUFFER_SIZE 1024 | |||
#define OPENTHREAD_LIB_SPINEL_RX_FRAME_BUFFER_SIZE 1024 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a new definition in OpenThread upsteam repo, but the OT submodule in IDF doesn't have the change yet. Could you please revert this change, and make sure it works with the current OT verion in IDF.
We will update the OT submodule in July.
This PR fixes an issue where the menuconfig option
OPENTHREAD_TIME_SYNC
is set butOPENTHREAD_CONFIG_TIME_SYNC_ENABLE
is never defined during a RCP build, resulting in an RCP build without time sync enabled. The same bug applies for CSL.Fixes #14059