Add compatibility with non-esp platforms, focus on RP2040#90
Add compatibility with non-esp platforms, focus on RP2040#90episource wants to merge 4 commits intobaldram:masterfrom
Conversation
|
Hi @episource, than you for contribution!
It's exciting that it went so far, and I'm happy it's applicable beyond the original scope. Looking at the PR code, I see technically no changes comparing to the original. It's always good to do a smoke test. PS: Have you considered adding some details on hardware you use with this library to the discussion here: #61 or this issue: #1? Wiring and maybe some picture, it would be very welcome and appreciated 😃 |
|
I've posted in #1. I'm not able to test the lib using ESP32 or ESP8266 as I do not own any of these. If I didn't make a big mistake, the code path's for ESP should not have changed, though. |
|
@episource Would you please have a look at conflict in |
ce3237a to
4d1de67
Compare
|
Conflict solved. |
|
@baldram Please note that the MIDI PR uses a bunch of SPI.write commands in |
|
@Dr-Dawg Good point. Easy to solve, but conflicting. I need to dig out the equipment, set up and perform tests, let's do it this weekend. Then merge PR's one by one. |
generic arduino SPI API only knows about SPI.transfer*. SPI.write* is ESP3266 specific.
4d1de67 to
a36d64b
Compare
|
Conflicts resolved. Rebased to current master. |
The current implementation uses ESP-specific
SPI.write*-API. Universally available is onlySPI.transfer*(see documentation).This PR changes spi writes to use the universal API on non-ESP platforms. For ESP platforms the existing implementation is preserved.
Additionally the bit value
_BVmacro is defined if it is not available by default.Finally logging macros are extended to consider arduino-pico framework.
Functionallity has been tested using a Raspberry Pico Board (RP2040), but this PR is not limited to this platform. The changes included herein will likely make this library compatible with other platforms as well.