1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/cpu/esp32/esp-wifi
Gunar Schorcht 74cbc410b7 cpu/esp32: ringbuffer introduced in esp_wifi
Receive call back function `_esp_wifi_rx_cb` is called from WiFi hardware driver with a pointer to a frame buffer that is allocated in the WiFi hardware driver. This frame buffer was freed immediately after copying its content to a single local receive buffer of the `esp_wifi` netdev. The local receive buffer remained occupied until the protocol stack had processed it. Further incoming packets were dropped.  However, very often a number of subsequent WiFi frames are received at the same time before the first one is processed completely. Having the single local receive buffer to hold only one received frame, led to a number of lost packets, even at low network load. Therefore, a ringbuffer of rx_buf elements was introduced which doesn't store the frames directly but only references to the frame buffers allocated in WiFi hardware driver. Since there is enough memory to hold several frames, the frames buffers allocated in WiFi hardware driver aren't freed immediatly any longer but are kept until the frame is processed by the protocol stack. This results in a much less loss rate of packets.
2019-09-05 12:49:02 +02:00
..
doc.txt cpu/esp32: esp-wifi related doc changes 2019-01-17 17:10:43 +01:00
esp_wifi_netdev.c cpu/esp32: ringbuffer introduced in esp_wifi 2019-09-05 12:49:02 +02:00
esp_wifi_netdev.h cpu/esp32: fix of maximum frame length in esp_wifi 2019-01-21 15:26:18 +01:00
esp_wifi_params.h cpu/esp32: doc improvements in esp_wifi 2019-01-17 17:10:43 +01:00
Makefile cpu: add esp32 2018-10-08 12:20:49 +02:00