Improve esp-wifi cfg docs (#3733)

This commit is contained in:
Björn Quentin 2025-07-02 10:53:48 +02:00 committed by GitHub
parent 21f1d89f15
commit b76a738263
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 67 additions and 18 deletions

View File

@ -60,6 +60,7 @@ impl Item {
}
.replace("<p>", "")
.replace("</p>", "\n")
.replace("<br>", "\n")
.to_string()
}

View File

@ -18,58 +18,106 @@ options:
validator: positive_integer
- name: static_rx_buf_num
description: "WiFi static RX buffer number. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Max number of WiFi static RX buffers.<br>
Each buffer takes approximately 1.6KB of RAM.
The static rx buffers are allocated when esp_wifi_init is called, they are not freed
until esp_wifi_deinit is called.<br>
WiFi hardware use these buffers to receive all 802.11 frames.
A higher number may allow higher throughput but increases memory use. If ESP_WIFI_AMPDU_RX_ENABLED
is enabled, this value is recommended to set equal or bigger than ESP_WIFI_RX_BA_WIN in order to
achieve better throughput and compatibility with both stations and APs."
default:
- value: 10
constraints:
- type:
validator: positive_integer
validator: integer_in_range
value:
start: 0
end: 129
- name: dynamic_rx_buf_num
description: "WiFi dynamic RX buffer number. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Max number of WiFi dynamic RX buffers<br>
Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated
(provided sufficient free RAM). The size of each dynamic RX buffer depends on the size of
the received data frame.<br>
For each received data frame, the WiFi driver makes a copy to an RX buffer and then delivers
it to the high layer TCP/IP stack. The dynamic RX buffer is freed after the higher layer has
successfully received the data frame.<br>
For some applications, WiFi data frames may be received faster than the application can
process them. In these cases we may run out of memory if RX buffer number is unlimited (0).<br>
If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers."
default:
- value: 32
constraints:
- type:
validator: positive_integer
validator: integer_in_range
value:
start: 0
end: 1025
- name: static_tx_buf_num
description: "WiFi static TX buffer number. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Set the number of WiFi static TX buffers. Each buffer takes approximately 1.6KB of RAM.
The static RX buffers are allocated when esp_wifi_init() is called, they are not released
until esp_wifi_deinit() is called.<br>
For each transmitted data 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 WiFi layer can transmit. In these cases, we may run out
of TX buffers."
default:
- value: 0
constraints:
- type:
validator: integer_in_range
value:
start: 0
end: 65
- name: dynamic_tx_buf_num
description: "WiFi dynamic TX buffer number. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Set the number of WiFi dynamic TX buffers. The size of each dynamic TX buffer is not fixed,
it depends on the size of each transmitted data frame.<br>
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 WiFi layer can transmit. In these cases, we may run out of TX
buffers."
default:
- value: 32
constraints:
- type:
validator: integer_in_range
value:
start: 0
end: 129
- name: ampdu_rx_enable
description: "WiFi AMPDU RX feature enable flag.
See [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Select this option to enable AMPDU RX feature"
default:
- value: true
- name: ampdu_tx_enable
description: "WiFi AMPDU TX feature enable flag. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Select this option to enable AMPDU TX feature"
default:
- value: true
- name: amsdu_tx_enable
description: "WiFi AMSDU TX feature enable flag. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Select this option to enable AMSDU TX feature. (If ESP_WIFI_CONFIG_CACHE_TX_BUFFER_NUM >= 2)"
default:
- value: false
- name: rx_ba_win
description: "WiFi Block Ack RX window size. See
[ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_init_config_t)"
description: "Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput and better
compatibility but more memory. Most of time we should NOT change the default value unless special
reason, e.g. test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the
recommended value is 9~12. If PSRAM is used and WiFi memory is preferred to allocate in PSRAM first,
the default and minimum value should be 16 to achieve better throughput and compatibility with both
stations and APs."
default:
- value: 6
constraints:
- type:
validator: integer_in_range
value:
start: 2
end: 65
- name: max_burst_size
description: See [smoltcp's documentation](https://docs.rs/smoltcp/0.10.0/smoltcp/phy/struct.DeviceCapabilities.html#structfield.max_burst_size)