-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Pico SDK support and CMake build system for Linux #772
Conversation
…r the Pico and remove un-needed header includes in rp2 folder
Conflicts: RF24_config.h
…he C++ files that it needs for RF24 on rp2xxx
….begin() should it fail
… #include "../RF24.h"
This reverts commit 29424d1.
This PR has reached github's limit of "linked issues". There's actually 12 issues that this PR should close, but only 10 will be automatically closed. I think its time for a round of testing and merging (then a release crusade). I'm uneasy about merging a PR that I opened, so some external approval would be welcome. |
I think it would've been better to split up, but now it's too much effort:
Please try that in the future, much easier to review and merge. (If you sign up for hacktoberfest.com, you could get a t-shirt :D with 4 PRs, so do touch-ups that way) |
Merged it, thanks for all the work. Let's keep it in just |
I'm also gonna see and figure out how hard it would be to provide a self-hosted runner for the CI jobs. No ETA 😅 |
Agreed. Before the release crusade, I also have to re-test and update the other subsequent PRs for the other RF24 repos. |
BTW RP2040 support directly collided with CMake support which is why this PR was so large to begin with. Since then the rp2xxx branch has been my test bed for other bleeding edge changes. Nonetheless, I will try to segregate additions via separate PRs. |
huge thanks to @kripton for the Pico SDK support
CMake for Linux implementation would not have been possible without @AndruePeters intiative (thank you!)
Pico SDK support
CMake implementation for Linux
Any user-adjustable defines in RF24_config.h can be changed from CMake CLI options.
For example, to turn on debugging prompts and change the default SPI speed:
The linux build CI
Additional Changes
stdexcept
lib (from spi.h from RF24_arch_config.h). This change is reflected in the old configure script.CC
,CXX
, &CFLAGS
) when the generated Makefile.inc isn't found (which is the case of building/installing RF24 lib with CMake). This new behavior also allows building/installing the python wrapper in the "linux_build" CI workflow0
s in scanner output with dashes (-
) to emphasize the channels with detected interferencefailureDetected
variable declaration with#if defined(FAILURE_HANDLING) ... #endif
ARDUINO_SAMD_ADAFRUIT
to the adafruit/arduinoSAMD-core, we are now pinned to v1.7.4+ of the adafruit/adruinoSAMD-core for compiling withprintf()
support on SAMD-based boards produced/supported by adafruit.startListening()
) that mistakenly closed pipe 0 when it was assigned an RX address starting with0x00
. Proper addressing is still encouraged, but this solution will also help reverse engineer unknown/undefined wireless protocols that are compatible with Nordic's flexible ESB protocol.