-
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
Fix ESP-IDF support #1005
Fix ESP-IDF support #1005
Conversation
Stop setting properties that are in a "union" with the actual pin numbers.
The check did not work properly, since CS is not asserted!
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.
@LennartF22 Your experience with ESP32 is very impressive! Its the kind of expertise that can only come from using the ESP-IDF for a long time (over many hardware revisions)
You still find new quirks every once in a while 😅 |
It also worked without it, but if we don't acquire the bus, we will have issues when the bus is used by multiple devices and we control the CS line manually. move
DMA usually performs worse than no DMA for transactions with just a few dozen of bytes, thus we disable it.
No benefit in using a larger queue_size, since we are using blocking/polling transactions.
6cc8a25
to
21a7e0f
Compare
Ok. I got it working on Windows with the corrected USB drivers (thank you for the detailed instructions). I found that the PIO's builtin serial monitor (which uses pyserial under the hood) didn't work at all. Instead, I used SimplySerial (externally installed to work with CircuitPython) and it worked flawlessly. I'm going to start filling out the examples and writing the docs/esp_idf.md document that would instruct newcomers how to setup their RF24 project using only the ESP-IDF. In this doc I'll add instructions about how to
Many thanks to @LennartF22! With these changes, we should have v1.5.0 out before the new year (barring any other problems). |
* Remove TinyUSB code * Use USB CDC for ESP32-S2 and USB Serial JTAG for ESP32-S3 * Add support for adding local PlatformIO overrides * Fix SPI pin initialization And stop setting properties that are in a "union" with the actual pin numbers. * Fix SPI mode * Properly initialize device config struct * Remove not properly working status register check The check did not work properly, since CS is not asserted! * Make sure transaction functions are called It also worked without it, but if we don't acquire the bus, we will have issues when the bus is used by multiple devices and we control the CS line manually. * Stop using DMA for small transactions DMA usually performs worse than no DMA for transactions with just a few dozen of bytes, thus we disable it. * Reduce queue_size to 1 No benefit in using a larger queue_size, since we are using blocking/polling transactions. * Use max_transfer_sz again * Remove unnecessary properties * Use `extern "C"` for app_main function only * Use internal bus configuration in example
* Remove TinyUSB code * Use USB CDC for ESP32-S2 and USB Serial JTAG for ESP32-S3 * Add support for adding local PlatformIO overrides * Fix SPI pin initialization And stop setting properties that are in a "union" with the actual pin numbers. * Fix SPI mode * Properly initialize device config struct * Remove not properly working status register check The check did not work properly, since CS is not asserted! * Make sure transaction functions are called It also worked without it, but if we don't acquire the bus, we will have issues when the bus is used by multiple devices and we control the CS line manually. * Stop using DMA for small transactions DMA usually performs worse than no DMA for transactions with just a few dozen of bytes, thus we disable it. * Reduce queue_size to 1 No benefit in using a larger queue_size, since we are using blocking/polling transactions. * Use max_transfer_sz again * Remove unnecessary properties * Use `extern "C"` for app_main function only * Use internal bus configuration in example
Multiple fixes and minor improvements for ESP-IDF support and the corresponding example.