You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
by this change it is possible to remove all not necessary BT include pathes. Why does this matter? The build system SCons which is used for pioarduino does not support @file in CPPPATH. This is a problem for Windows since command line limit is reached for big projects. The current approach to solve compile issues is to move the include files from CPPPATH to ASFLAGS and CCFLAGS and using with -iprefix. This approach generates a heavy performance decrease in compiling. To solve i am implementing a solution to keep the original correct way providing the includes via CPPPATH and remove the not needed includes. This works quiet well. Especially BT has a lot of includes, in most cases just removing this includes does solve Windows compile errors.
BUT currently removing the Bluetooth includes is not possible (even when BT is not used) because in the core file cores/esp32/esp32-hal-bt.c the include of esp_bt.h is always done. The PR changes that and only includes when the file is existing.
The PR does not change the standard behaviour and is fully backwards compatible.
Even when the change to NimBLE is done it should be checked for existing include files.
Only the compile settings are not enough to decide if the user code does use BT or not.
@me-no-dev please have a look and if possible merge for next release. All Windows pioarduino users will have a performance boost in compiling. Since the mentioned solution for removing not needed includes is ready.
👋 Hello Jason2866, 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 ...
This automated output is generated by the PR linter DangerJS, which checks if your Pull Request meets the project's requirements and helps you fix potential issues.
DangerJS is triggered with each push event to a Pull Request and modify the contents of this comment.
Please consider the following: - Danger mainly focuses on the PR structure and formatting and can't understand the meaning behind your code or changes. - Danger is not a substitute for human code reviews; it's still important to request a code review from your colleagues. - Resolve all warnings (⚠️ ) before requesting a review from human reviewers - they will appreciate it. - To manually retry these Danger checks, please navigate to the Actions tab and re-run last Danger workflow.
Review and merge process you can expect ...
We do welcome contributions in the form of bug reports, feature requests and pull requests.
1. An internal issue has been created for the PR, we assign it to the relevant engineer. 2. They review the PR and either approve it or ask you for changes or clarifications. 3. Once the GitHub PR is approved we do the final review, collect approvals from core owners and make sure all the automated tests are passing. - At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation. 4. If the change is approved and passes the tests it is merged into the default branch.
Jason2866
changed the title
make BT core code execution conditional from include esp_bt.h.h
make BT core code execution conditional from include esp_bt.h
May 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
by this change it is possible to remove all not necessary BT include pathes. Why does this matter? The build system SCons which is used for pioarduino does not support @file in CPPPATH. This is a problem for Windows since command line limit is reached for big projects. The current approach to solve compile issues is to move the include files from CPPPATH to ASFLAGS and CCFLAGS and using with -iprefix. This approach generates a heavy performance decrease in compiling. To solve i am implementing a solution to keep the original correct way providing the includes via CPPPATH and remove the not needed includes. This works quiet well. Especially BT has a lot of includes, in most cases just removing this includes does solve Windows compile errors.
BUT currently removing the Bluetooth includes is not possible (even when BT is not used) because in the core file
cores/esp32/esp32-hal-bt.cthe include ofesp_bt.his always done. The PR changes that and only includes when the file is existing.The PR does not change the standard behaviour and is fully backwards compatible.
Even when the change to NimBLE is done it should be checked for existing include files.
Only the compile settings are not enough to decide if the user code does use BT or not.
@me-no-dev please have a look and if possible merge for next release. All Windows pioarduino users will have a performance boost in compiling. Since the mentioned solution for removing not needed includes is ready.