Replies: 1 comment 6 replies
-
It is worth raising this issue at the esp32.com forum to see what they think. There is nothing the library can do here. It creates a DMA loop and the rest is managed by the esp32 silicon. Perhaps there is some bug in the esp32-idf or there is some bizarre silicon limitation. What specific variant of the esp32 are you using, the "original" esp32? |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm building a system comprised of 8 ESP32 based modules communicating with ESPNOW. All devices unicast to a single 'main module' and then that main module unicasts back out to whichever module needs new data. ESPNOW unicast has built in acks and retries. All the modules except for the display module are running a fairly simple main loop() doing things like driving RGB LEDs or reading a sensor value.
Compared to the simple modules, the display module has significantly less range. Sometimes the display module will not ack the ESPNOW communications, but I can tell by the data it is displaying it did indeed get the communication. To me it is acting like the ESPNOW receive process is getting interrupted before it can ack, even though it did get the data, but I don't know for sure.
I thought since this library used DMA, that having issues with that sort of blocking wouldn't be possible?
I'm currently using a Waveshare P4 64x32 matrix display, so I'm not trying to drive a ton of data to the display. I also tried swapping out the ESP32 and the two modules act identically. At this point I'm leaning towards adding another ESP32, one for coms, one for display, or getting an ESP32-S3 and trying to set up the dual core similarly.
Beta Was this translation helpful? Give feedback.
All reactions