Open DeeFuse opened 1 month ago
@DeeFuse sorry for late reply! could you post the wireshark capture? maybe Delay 1 is caused by ampdu。 In a real-world environment, sending wifi packets won't be so idealized, and conflicts and delays may occur so that the ap may perform AMPDUs, leading to a situation where the STA receives several packets at the same time. To know the true reason still need the wireshark capture,hope your reply!
Answers checklist.
IDF version.
v5.3.1
Espressif SoC revision.
ESP-WROOM-32D
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
Custom Board
Power Supply used.
External 5V
What is the expected behavior?
When using netconn to receive sACN packets (UDP)
netconn_recv
shall return frames as soon as they are received by the SOC At 10 packet per second, the output shall be like "Delay 100" at every packet.What is the actual behavior?
The frames read from
netconn_recv
arrive grouped in 200ms bunches. The Log shows theDelay
is around 200ms on the first print, then 1ms for the second (when sending 10 packets per second)Steps to reproduce.
Load project based on Wifi getting started to connect to WIFI as Station. Setup a UDP listener (simplified)
Debug Logs.
More Information.
This effect is also observable at higher rates. e.g. at 30 frames per second the "Delay 1" is print 3 times in a row. I confirmed the timing is correct by using a Laptop on the same Wifi and tracing the Packets with Wireshark. This behaviour is also observabel when using Broadcast UPD Packets and using BSD sockets. Running the socket on APP / PRO Core did not have a effect. Changing RX Buffer size / cound did noch have a effect. I've also added
esp_wifi_set_ps(WIFI_PS_NONE);
to the wifi initialisation