Open nielsnl68 opened 5 months ago
Step 4, I gathered information from this issue: https://github.com/espressif/esp-idf/issues/3238. I haven’t thoroughly tested the differences between having it turned on and off yet.
Step 5 and Step 6, for this test, actually don't have much effect, so I've marked them as optional because the official explanation for this option mentions:
For each transmitted frame from the higher layer TCP/IP stack, the WiFi driver makes a copy of it in a TX buffer. For some applications, especially UDP applications, the upper layer can deliver frames faster than the WiFi layer can transmit. In these cases, we may run out of TX buffers.
This is about the sending and receiving buffers of the higher layer TCP/IP stack
. ESPNOW does not go through the TCP/IP layer. Initially, I was worried about missing some ESPNOW frames due to processing speed, so I increased it (which now seems to be ineffective).
I think the focus should be on Step 7 and Step 2. Step 3 is also optional because in the send callback function it calls: if(xHigherPriorityTaskWoken == pdTRUE) taskYIELD();
and the sending task's priority is configMAX_PRIORITIES
.
By the way, during yesterday's test: using the ESP32 as the sender and pinning the sending task to core 1, the fps could reach 2900.
Cool, thanks for the explanation.
I made some test in the past using a lilygo T-display, and bidirectional communication. From my memory i did not get a fps that high. I will look for it and put it on github.
What i wonder about your test is how many successful packages where send, instead just the send packages. And what is the distance between devices?
Good luck testing some more.
Cool, thanks for the explanation.
I made some test in the past using a lilygo T-display, and bidirectional communication. From my memory i did not get a fps that high. I will look for it and put it on github.
What i wonder about your test is how many successful packages where send, instead just the send packages. And what is the distance between devices?
Good luck testing some more.
Hello @nanshenwei,
interesting test setup. Would you mind tell the reasoning behind steps 5 to 6. What makes it do better when you add them for instance.
Thanks
Niels