1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/esp32
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
..
bin cpu: add esp32 2018-10-08 12:20:49 +02:00
cxx cpu/esp32: workaround for static object init 2019-08-27 09:41:41 +02:00
esp-can cpu: add esp32 2018-10-08 12:20:49 +02:00
esp-eth cpu/esp32: esp_eth doesn't call memcpy if iol_len is 0 2019-03-14 16:57:26 +01:00
esp-wifi cpu/esp32: ringbuffer introduced in esp_wifi 2019-09-05 12:49:02 +02:00
freertos cpu/esp32: change of critical section handling in freertos 2019-08-12 16:51:50 +02:00
include Merge pull request #11947 from gschorcht/cpu/esp32/freertos-critcial-sections 2019-09-05 12:40:45 +02:00
ld cpu: add esp32 2018-10-08 12:20:49 +02:00
periph cpu/esp32: fix errno for I2C addr ack error 2019-09-05 10:35:02 +02:00
vendor cpu/esp32: use printf/puts from newlib 2019-08-19 15:14:32 +02:00
doc.txt Merge pull request #11261 from gschorcht/cpu/esp32/doc_fix/rom 2019-05-14 13:07:50 +02:00
esp_events.c cpu: add esp32 2018-10-08 12:20:49 +02:00
esp_xtimer.c cpu: add esp32 2018-10-08 12:20:49 +02:00
exceptions.c cpu: add esp32 2018-10-08 12:20:49 +02:00
gen_esp32part.py cpu: add esp32 2018-10-08 12:20:49 +02:00
irq_arch.c cpu: make use of ARRAY_SIZE macro 2019-08-06 19:43:54 +02:00
log_module.c cpu/esp32: use printf/puts from newlib 2019-08-19 15:14:32 +02:00
Makefile Merge pull request #11947 from gschorcht/cpu/esp32/freertos-critcial-sections 2019-09-05 12:40:45 +02:00
Makefile.dep cpu/esp32: fix conditional linker options for esp_idf_heap 2019-08-06 18:17:59 +02:00
Makefile.features cpu/esp32: activate cpp feature 2019-07-29 16:06:04 +02:00
Makefile.include Merge pull request #11947 from gschorcht/cpu/esp32/freertos-critcial-sections 2019-09-05 12:40:45 +02:00
periph_cpu.c cpu: add esp32 2018-10-08 12:20:49 +02:00
startup.c cpu/esp32: fix of ctor and newlib initialization 2019-08-21 16:31:06 +02:00
syscalls.c cpu/esp32: use printf/puts from newlib 2019-08-19 15:14:32 +02:00
thread_arch.c cpu/esp: fix computation of coprocessor save area 2019-04-27 13:23:04 +02:00
tools.c cpu: add esp32 2018-10-08 12:20:49 +02:00