-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
arch/xtensa: unify WiFi source code for ESP32|S2|S3 #15749
base: master
Are you sure you want to change the base?
arch/xtensa: unify WiFi source code for ESP32|S2|S3 #15749
Conversation
Remove ESP32S3 specific WiFi files and edit build system to use common layer.
Update the wireless symbols from ESP32S3_* to ESPRESSIF_* for using common layer.
Remove ESP32 specific WiFi files and edit build system to use common layer.
Update the wireless symbols from ESP32_* to ESPRESSIF_* for using common layer.
[Experimental Bot, please feedback here] This PR mostly meets the NuttX requirements but is missing some crucial information. Here's a breakdown: Strengths:
Weaknesses:
Recommendations for Improvement:
By addressing these weaknesses, the PR will be much stronger and better adhere to the NuttX requirements. |
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.
@fdcavalcanti please include the option to use the original driver without using the HAL
Hey @acassis That is not an option. This PR is not a register based to HAL based WiFi upgrade. |
Hi @fdcavalcanti so after this commit the original driver will not be possible to use? It is important to keep the original drivers that don't depend on HAL, the let the users to have alternative. As @raiden00pl pointed in the Discord channel, using the HAL could be against INVIOLABLES: https://github.com/apache/nuttx/blob/master/INVIOLABLES.md#no-short-cuts |
Before this commit we used HAL. After this commit we are still using HAL. |
Understood, I thought it was using the native driver like ESP32. So this driver just unify S2 and S3 to use a common driver, right? |
Yes. It unifies ESP32|S2|S3. There is still one arch specific file for each of those: |
@acassis Do you have something else to suggest changes? If not please remove the change request from the PR 😃 |
@acassis , wasn't the answer from @eren-terzioglu satisfactory? If so, can you please remove the "Requested changes" if there aren't other pending changes? |
@tmedicci I just approve it. I didn't realize that the original WiFi driver was removed and replaced by the new that depends on the HAL :-( |
Summary
This PR modifies ESP32 and ESP32S3 to use WiFi source code from the common layer, which is already used by ESP32S2.
Overall there's a massive reduction in source code since WiFi support is now centered around the common layer for the Xtensa devices.
Impact
KConfig prefixes related to radio functionalities have been modified. ESP32_* and ESP32S3_* are replaced with ESPRESSIF_* (CONFIG_ESP32_WIFI -> CONFIG_ESPRESSIF_WIFI). This is applied through
arch/
and alsoboard/
and may impact users if they are running custom defconfigs.BLE symbols are altered as well, since they share some common wireless implementations. However, source code for BLE has not been merged into the common layer.
Reduces the amount of source code required for WiFi support.
No difference in performance.
Testing
Internal CI testing.