endmenu # ESP32-Specific
-menu Wi-Fi
-
- config SW_COEXIST_ENABLE
- bool "Software controls WiFi/Bluetooth coexistence"
- depends on BT_ENABLED
- default y
- help
- If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware.
- Recommended for heavy traffic scenarios. Both coexistence configuration options are
- automatically managed, no user intervention is required.
- If only Bluetooth is used, it is recommended to disable this option to reduce binary file
- size.
-
- choice SW_COEXIST_PREFERENCE
- prompt "WiFi/Bluetooth coexistence performance preference"
- depends on SW_COEXIST_ENABLE
- default SW_COEXIST_PREFERENCE_BALANCE
- help
- Choose Bluetooth/WiFi/Balance for different preference.
- If choose WiFi, it will make WiFi performance better. Such, keep WiFi Audio more fluent.
- If choose Bluetooth, it will make Bluetooth performance better. Such, keep Bluetooth(A2DP) Audio more
- fluent.
- If choose Balance, the performance of WiFi and bluetooth will be balance. It's default. Normally, just
- choose balance, the A2DP audio can play fluently, too.
- Except config preference in menuconfig, you can also call esp_coex_preference_set() dynamically.
-
- config SW_COEXIST_PREFERENCE_WIFI
- bool "WiFi"
-
- config SW_COEXIST_PREFERENCE_BT
- bool "Bluetooth(include BR/EDR and BLE)"
-
- config SW_COEXIST_PREFERENCE_BALANCE
- bool "Balance"
-
- endchoice
-
- config SW_COEXIST_PREFERENCE_VALUE
- int
- depends on SW_COEXIST_ENABLE
- default 0 if SW_COEXIST_PREFERENCE_WIFI
- default 1 if SW_COEXIST_PREFERENCE_BT
- default 2 if SW_COEXIST_PREFERENCE_BALANCE
-
- config ESP32_WIFI_STATIC_RX_BUFFER_NUM
- int "Max number of WiFi static RX buffers"
- range 2 25 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- range 8 25 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- default 10 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- default 16 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- help
- Set the number of WiFi static RX buffers. 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.
-
- WiFi hardware use these buffers to receive all 802.11 frames.
- A higher number may allow higher throughput but increases memory use. If ESP32_WIFI_AMPDU_RX_ENABLED
- is enabled, this value is recommended to set equal or bigger than ESP32_WIFI_RX_BA_WIN in order to
- achieve better throughput and compatibility with both stations and APs.
-
- config ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM
- int "Max number of WiFi dynamic RX buffers"
- range 0 128
- default 32
- help
- 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.
-
- 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.
-
- 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).
-
- If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers.
-
- choice ESP32_WIFI_TX_BUFFER
- prompt "Type of WiFi TX buffers"
- default ESP32_WIFI_DYNAMIC_TX_BUFFER
- help
- Select type of WiFi TX buffers:
-
- If "Static" is selected, WiFi TX buffers are allocated when WiFi is initialized and released
- when WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB.
-
- If "Dynamic" is selected, each WiFi TX buffer is allocated as needed when a data frame is
- delivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame
- has been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length
- of each data frame sent by the TCP/IP layer.
-
- If PSRAM is enabled, "Static" should be selected to guarantee enough WiFi TX buffers.
- If PSRAM is disabled, "Dynamic" should be selected to improve the utilization of RAM.
-
- config ESP32_WIFI_STATIC_TX_BUFFER
- bool "Static"
- config ESP32_WIFI_DYNAMIC_TX_BUFFER
- bool "Dynamic"
- depends on !SPIRAM_USE_MALLOC
- endchoice
-
- config ESP32_WIFI_TX_BUFFER_TYPE
- int
- default 0 if ESP32_WIFI_STATIC_TX_BUFFER
- default 1 if ESP32_WIFI_DYNAMIC_TX_BUFFER
-
- config ESP32_WIFI_STATIC_TX_BUFFER_NUM
- int "Max number of WiFi static TX buffers"
- depends on ESP32_WIFI_STATIC_TX_BUFFER
- range 6 64
- default 16
- help
- 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.
-
- 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.
-
- config ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM
- int "Max number of WiFi dynamic TX buffers"
- depends on ESP32_WIFI_DYNAMIC_TX_BUFFER
- range 16 128
- default 32
- help
- 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.
-
- 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.
-
- config ESP32_WIFI_CSI_ENABLED
- bool "WiFi CSI(Channel State Information)"
- default n
- help
- Select this option to enable CSI(Channel State Information) feature. CSI takes about
- CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM KB of RAM. If CSI is not used, it is better to disable
- this feature in order to save memory.
-
- config ESP32_WIFI_AMPDU_TX_ENABLED
- bool "WiFi AMPDU TX"
- default y
- help
- Select this option to enable AMPDU TX feature
-
-
- config ESP32_WIFI_TX_BA_WIN
- int "WiFi AMPDU TX BA window size"
- depends on ESP32_WIFI_AMPDU_TX_ENABLED
- range 2 32
- default 6
- help
- Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but
- more memory. Most of time we should NOT change the default value unless special reason, e.g.
- test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended
- value is 9~12.
-
- config ESP32_WIFI_AMPDU_RX_ENABLED
- bool "WiFi AMPDU RX"
- default y
- help
- Select this option to enable AMPDU RX feature
-
- config ESP32_WIFI_RX_BA_WIN
- int "WiFi AMPDU RX BA window size"
- depends on ESP32_WIFI_AMPDU_RX_ENABLED
- range 2 32 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- range 16 32 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- default 6 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- default 16 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
- help
- 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 prefered to allocat in PSRAM first,
- the default and minimum value should be 16 to achieve better throughput and compatibility with both
- stations and APs.
-
- config ESP32_WIFI_NVS_ENABLED
- bool "WiFi NVS flash"
- default y
- help
- Select this option to enable WiFi NVS flash
-
- choice ESP32_WIFI_TASK_CORE_ID
- depends on !FREERTOS_UNICORE
- prompt "WiFi Task Core ID"
- default ESP32_WIFI_TASK_PINNED_TO_CORE_0
- help
- Pinned WiFi task to core 0 or core 1.
-
- config ESP32_WIFI_TASK_PINNED_TO_CORE_0
- bool "Core 0"
- config ESP32_WIFI_TASK_PINNED_TO_CORE_1
- bool "Core 1"
- endchoice
-
- config ESP32_WIFI_SOFTAP_BEACON_MAX_LEN
- int "Max length of WiFi SoftAP Beacon"
- range 752 1256
- default 752
- help
- ESP-MESH utilizes beacon frames to detect and resolve root node conflicts (see documentation). However the
- default length of a beacon frame can simultaneously hold only five root node identifier structures,
- meaning that a root node conflict of up to five nodes can be detected at one time. In the occurence of
- more root nodes conflict involving more than five root nodes, the conflict resolution process will detect
- five of the root nodes, resolve the conflict, and re-detect more root nodes. This process will repeat
- until all root node conflicts are resolved. However this process can generally take a very long time.
-
- To counter this situation, the beacon frame length can be increased such that more root nodes can be
- detected simultaneously. Each additional root node will require 36 bytes and should be added ontop of the
- default beacon frame length of
- 752 bytes. For example, if you want to detect 10 root nodes simultaneously, you need to set the beacon
- frame length as
- 932 (752+36*5).
-
- Setting a longer beacon length also assists with debugging as the conflicting root nodes can be identified
- more quickly.
-
- config ESP32_WIFI_MGMT_SBUF_NUM
- int "WiFi mgmt short buffer number"
- range 6 32
- default 32
- help
- Set the number of WiFi management short buffer.
-
- config ESP32_WIFI_DEBUG_LOG_ENABLE
- bool "Enable WiFi debug log"
- default n
- help
- Select this option to enable WiFi debug log
-
- choice ESP32_WIFI_DEBUG_LOG_LEVEL
- depends on ESP32_WIFI_DEBUG_LOG_ENABLE
- prompt "WiFi debug log level"
- default ESP32_WIFI_LOG_DEBUG
- help
- The WiFi log is divided into the following levels: ERROR,WARNING,INFO,DEBUG,VERBOSE.
- The ERROR,WARNING,INFO levels are enabled by default, and the DEBUG,VERBOSE levels can be enabled here.
-
- config ESP32_WIFI_DEBUG_LOG_DEBUG
- bool "WiFi Debug Log Debug"
- config ESP32_WIFI_DEBUG_LOG_VERBOSE
- bool "WiFi Debug Log Verbose"
- endchoice
-
- choice ESP32_WIFI_DEBUG_LOG_MODULE
- depends on ESP32_WIFI_DEBUG_LOG_ENABLE
- prompt "WiFi debug log module"
- default ESP32_WIFI_DEBUG_LOG_MODULE_WIFI
- help
- The WiFi log module contains three parts: WIFI,COEX,MESH. The WIFI module indicates the logs related to
- WiFi, the COEX module indicates the logs related to WiFi and BT(or BLE) coexist, the MESH module indicates
- the logs related to Mesh. When ESP32_WIFI_LOG_MODULE_ALL is enabled, all modules are selected.
-
- config ESP32_WIFI_DEBUG_LOG_MODULE_ALL
- bool "WiFi Debug Log Module All"
- config ESP32_WIFI_DEBUG_LOG_MODULE_WIFI
- bool "WiFi Debug Log Module WiFi"
- config ESP32_WIFI_DEBUG_LOG_MODULE_COEX
- bool "WiFi Debug Log Module Coex"
- config ESP32_WIFI_DEBUG_LOG_MODULE_MESH
- bool "WiFi Debug Log Module Mesh"
- endchoice
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE
- depends on ESP32_WIFI_DEBUG_LOG_ENABLE
- bool "WiFi debug log submodule"
- default n
- help
- Enable this option to set the WiFi debug log submodule.
- Currently the log submodule contains the following parts: INIT,IOCTL,CONN,SCAN.
- The INIT submodule indicates the initialization process.The IOCTL submodule indicates the API calling
- process.
- The CONN submodule indicates the connecting process.The SCAN submodule indicates the scaning process.
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL
- depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE
- bool "WiFi Debug Log Submodule All"
- default n
- help
- When this option is enabled, all debug submodules are selected.
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE_INIT
- depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
- bool "WiFi Debug Log Submodule Init"
- default n
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE_IOCTL
- depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
- bool "WiFi Debug Log Submodule Ioctl"
- default n
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE_CONN
- depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
- bool "WiFi Debug Log Submodule Conn"
- default n
-
- config ESP32_WIFI_DEBUG_LOG_SUBMODULE_SCAN
- depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
- bool "WiFi Debug Log Submodule Scan"
- default n
-
- config ESP32_WIFI_IRAM_OPT
- bool "WiFi IRAM speed optimization"
- default y
- help
- Select this option to place frequently called Wi-Fi library functions in IRAM.
- When this option is disabled, more than 10Kbytes of IRAM memory will be saved
- but Wi-Fi throughput will be reduced.
-
-endmenu # Wi-Fi
-
-menu PHY
-
- config ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
- bool "Store phy calibration data in NVS"
- default y
- help
- If this option is enabled, NVS will be initialized and calibration data will be loaded from there.
- PHY calibration will be skipped on deep sleep wakeup. If calibration data is not found, full calibration
- will be performed and stored in NVS. Normally, only partial calibration will be performed.
- If this option is disabled, full calibration will be performed.
-
- If it's easy that your board calibrate bad data, choose 'n'.
- Two cases for example, you should choose 'n':
- 1.If your board is easy to be booted up with antenna disconnected.
- 2.Because of your board design, each time when you do calibration, the result are too unstable.
- If unsure, choose 'y'.
-
- config ESP32_PHY_INIT_DATA_IN_PARTITION
- bool "Use a partition to store PHY init data"
- default n
- help
- If enabled, PHY init data will be loaded from a partition.
- When using a custom partition table, make sure that PHY data
- partition is included (type: 'data', subtype: 'phy').
- With default partition tables, this is done automatically.
- If PHY init data is stored in a partition, it has to be flashed there,
- otherwise runtime error will occur.
-
- If this option is not enabled, PHY init data will be embedded
- into the application binary.
-
- If unsure, choose 'n'.
-
- config ESP32_PHY_MAX_WIFI_TX_POWER
- int "Max WiFi TX power (dBm)"
- range 0 20
- default 20
- help
- Set maximum transmit power for WiFi radio. Actual transmit power for high
- data rates may be lower than this setting.
-
- config ESP32_PHY_MAX_TX_POWER
- int
- default ESP32_PHY_MAX_WIFI_TX_POWER
-
-endmenu # PHY
-
-
menu "Power Management"
config PM_ENABLE
--- /dev/null
+
+menu Wi-Fi
+
+ config SW_COEXIST_ENABLE
+ bool "Software controls WiFi/Bluetooth coexistence"
+ depends on BT_ENABLED
+ default y
+ help
+ If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware.
+ Recommended for heavy traffic scenarios. Both coexistence configuration options are
+ automatically managed, no user intervention is required.
+ If only Bluetooth is used, it is recommended to disable this option to reduce binary file
+ size.
+
+ choice SW_COEXIST_PREFERENCE
+ prompt "WiFi/Bluetooth coexistence performance preference"
+ depends on SW_COEXIST_ENABLE
+ default SW_COEXIST_PREFERENCE_BALANCE
+ help
+ Choose Bluetooth/WiFi/Balance for different preference.
+ If choose WiFi, it will make WiFi performance better. Such, keep WiFi Audio more fluent.
+ If choose Bluetooth, it will make Bluetooth performance better. Such, keep Bluetooth(A2DP) Audio more
+ fluent.
+ If choose Balance, the performance of WiFi and bluetooth will be balance. It's default. Normally, just
+ choose balance, the A2DP audio can play fluently, too.
+ Except config preference in menuconfig, you can also call esp_coex_preference_set() dynamically.
+
+ config SW_COEXIST_PREFERENCE_WIFI
+ bool "WiFi"
+
+ config SW_COEXIST_PREFERENCE_BT
+ bool "Bluetooth(include BR/EDR and BLE)"
+
+ config SW_COEXIST_PREFERENCE_BALANCE
+ bool "Balance"
+
+ endchoice
+
+ config SW_COEXIST_PREFERENCE_VALUE
+ int
+ depends on SW_COEXIST_ENABLE
+ default 0 if SW_COEXIST_PREFERENCE_WIFI
+ default 1 if SW_COEXIST_PREFERENCE_BT
+ default 2 if SW_COEXIST_PREFERENCE_BALANCE
+
+ config ESP32_WIFI_STATIC_RX_BUFFER_NUM
+ int "Max number of WiFi static RX buffers"
+ range 2 25 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ range 8 25 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ default 10 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ default 16 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ help
+ Set the number of WiFi static RX buffers. 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.
+
+ WiFi hardware use these buffers to receive all 802.11 frames.
+ A higher number may allow higher throughput but increases memory use. If ESP32_WIFI_AMPDU_RX_ENABLED
+ is enabled, this value is recommended to set equal or bigger than ESP32_WIFI_RX_BA_WIN in order to
+ achieve better throughput and compatibility with both stations and APs.
+
+ config ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM
+ int "Max number of WiFi dynamic RX buffers"
+ range 0 128
+ default 32
+ help
+ 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.
+
+ 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.
+
+ 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).
+
+ If a dynamic RX buffer limit is set, it should be at least the number of static RX buffers.
+
+ choice ESP32_WIFI_TX_BUFFER
+ prompt "Type of WiFi TX buffers"
+ default ESP32_WIFI_DYNAMIC_TX_BUFFER
+ help
+ Select type of WiFi TX buffers:
+
+ If "Static" is selected, WiFi TX buffers are allocated when WiFi is initialized and released
+ when WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB.
+
+ If "Dynamic" is selected, each WiFi TX buffer is allocated as needed when a data frame is
+ delivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame
+ has been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length
+ of each data frame sent by the TCP/IP layer.
+
+ If PSRAM is enabled, "Static" should be selected to guarantee enough WiFi TX buffers.
+ If PSRAM is disabled, "Dynamic" should be selected to improve the utilization of RAM.
+
+ config ESP32_WIFI_STATIC_TX_BUFFER
+ bool "Static"
+ config ESP32_WIFI_DYNAMIC_TX_BUFFER
+ bool "Dynamic"
+ depends on !SPIRAM_USE_MALLOC
+ endchoice
+
+ config ESP32_WIFI_TX_BUFFER_TYPE
+ int
+ default 0 if ESP32_WIFI_STATIC_TX_BUFFER
+ default 1 if ESP32_WIFI_DYNAMIC_TX_BUFFER
+
+ config ESP32_WIFI_STATIC_TX_BUFFER_NUM
+ int "Max number of WiFi static TX buffers"
+ depends on ESP32_WIFI_STATIC_TX_BUFFER
+ range 6 64
+ default 16
+ help
+ 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.
+
+ 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.
+
+ config ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM
+ int "Max number of WiFi dynamic TX buffers"
+ depends on ESP32_WIFI_DYNAMIC_TX_BUFFER
+ range 16 128
+ default 32
+ help
+ 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.
+
+ 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.
+
+ config ESP32_WIFI_CSI_ENABLED
+ bool "WiFi CSI(Channel State Information)"
+ default n
+ help
+ Select this option to enable CSI(Channel State Information) feature. CSI takes about
+ CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM KB of RAM. If CSI is not used, it is better to disable
+ this feature in order to save memory.
+
+ config ESP32_WIFI_AMPDU_TX_ENABLED
+ bool "WiFi AMPDU TX"
+ default y
+ help
+ Select this option to enable AMPDU TX feature
+
+
+ config ESP32_WIFI_TX_BA_WIN
+ int "WiFi AMPDU TX BA window size"
+ depends on ESP32_WIFI_AMPDU_TX_ENABLED
+ range 2 32
+ default 6
+ help
+ Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but
+ more memory. Most of time we should NOT change the default value unless special reason, e.g.
+ test the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended
+ value is 9~12.
+
+ config ESP32_WIFI_AMPDU_RX_ENABLED
+ bool "WiFi AMPDU RX"
+ default y
+ help
+ Select this option to enable AMPDU RX feature
+
+ config ESP32_WIFI_RX_BA_WIN
+ int "WiFi AMPDU RX BA window size"
+ depends on ESP32_WIFI_AMPDU_RX_ENABLED
+ range 2 32 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ range 16 32 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ default 6 if !WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ default 16 if WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST
+ help
+ 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 prefered to allocat in PSRAM first,
+ the default and minimum value should be 16 to achieve better throughput and compatibility with both
+ stations and APs.
+
+ config ESP32_WIFI_NVS_ENABLED
+ bool "WiFi NVS flash"
+ default y
+ help
+ Select this option to enable WiFi NVS flash
+
+ choice ESP32_WIFI_TASK_CORE_ID
+ depends on !FREERTOS_UNICORE
+ prompt "WiFi Task Core ID"
+ default ESP32_WIFI_TASK_PINNED_TO_CORE_0
+ help
+ Pinned WiFi task to core 0 or core 1.
+
+ config ESP32_WIFI_TASK_PINNED_TO_CORE_0
+ bool "Core 0"
+ config ESP32_WIFI_TASK_PINNED_TO_CORE_1
+ bool "Core 1"
+ endchoice
+
+ config ESP32_WIFI_SOFTAP_BEACON_MAX_LEN
+ int "Max length of WiFi SoftAP Beacon"
+ range 752 1256
+ default 752
+ help
+ ESP-MESH utilizes beacon frames to detect and resolve root node conflicts (see documentation). However the
+ default length of a beacon frame can simultaneously hold only five root node identifier structures,
+ meaning that a root node conflict of up to five nodes can be detected at one time. In the occurence of
+ more root nodes conflict involving more than five root nodes, the conflict resolution process will detect
+ five of the root nodes, resolve the conflict, and re-detect more root nodes. This process will repeat
+ until all root node conflicts are resolved. However this process can generally take a very long time.
+
+ To counter this situation, the beacon frame length can be increased such that more root nodes can be
+ detected simultaneously. Each additional root node will require 36 bytes and should be added ontop of the
+ default beacon frame length of
+ 752 bytes. For example, if you want to detect 10 root nodes simultaneously, you need to set the beacon
+ frame length as
+ 932 (752+36*5).
+
+ Setting a longer beacon length also assists with debugging as the conflicting root nodes can be identified
+ more quickly.
+
+ config ESP32_WIFI_MGMT_SBUF_NUM
+ int "WiFi mgmt short buffer number"
+ range 6 32
+ default 32
+ help
+ Set the number of WiFi management short buffer.
+
+ config ESP32_WIFI_DEBUG_LOG_ENABLE
+ bool "Enable WiFi debug log"
+ default n
+ help
+ Select this option to enable WiFi debug log
+
+ choice ESP32_WIFI_DEBUG_LOG_LEVEL
+ depends on ESP32_WIFI_DEBUG_LOG_ENABLE
+ prompt "WiFi debug log level"
+ default ESP32_WIFI_LOG_DEBUG
+ help
+ The WiFi log is divided into the following levels: ERROR,WARNING,INFO,DEBUG,VERBOSE.
+ The ERROR,WARNING,INFO levels are enabled by default, and the DEBUG,VERBOSE levels can be enabled here.
+
+ config ESP32_WIFI_DEBUG_LOG_DEBUG
+ bool "WiFi Debug Log Debug"
+ config ESP32_WIFI_DEBUG_LOG_VERBOSE
+ bool "WiFi Debug Log Verbose"
+ endchoice
+
+ choice ESP32_WIFI_DEBUG_LOG_MODULE
+ depends on ESP32_WIFI_DEBUG_LOG_ENABLE
+ prompt "WiFi debug log module"
+ default ESP32_WIFI_DEBUG_LOG_MODULE_WIFI
+ help
+ The WiFi log module contains three parts: WIFI,COEX,MESH. The WIFI module indicates the logs related to
+ WiFi, the COEX module indicates the logs related to WiFi and BT(or BLE) coexist, the MESH module indicates
+ the logs related to Mesh. When ESP32_WIFI_LOG_MODULE_ALL is enabled, all modules are selected.
+
+ config ESP32_WIFI_DEBUG_LOG_MODULE_ALL
+ bool "WiFi Debug Log Module All"
+ config ESP32_WIFI_DEBUG_LOG_MODULE_WIFI
+ bool "WiFi Debug Log Module WiFi"
+ config ESP32_WIFI_DEBUG_LOG_MODULE_COEX
+ bool "WiFi Debug Log Module Coex"
+ config ESP32_WIFI_DEBUG_LOG_MODULE_MESH
+ bool "WiFi Debug Log Module Mesh"
+ endchoice
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE
+ depends on ESP32_WIFI_DEBUG_LOG_ENABLE
+ bool "WiFi debug log submodule"
+ default n
+ help
+ Enable this option to set the WiFi debug log submodule.
+ Currently the log submodule contains the following parts: INIT,IOCTL,CONN,SCAN.
+ The INIT submodule indicates the initialization process.The IOCTL submodule indicates the API calling
+ process.
+ The CONN submodule indicates the connecting process.The SCAN submodule indicates the scaning process.
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL
+ depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE
+ bool "WiFi Debug Log Submodule All"
+ default n
+ help
+ When this option is enabled, all debug submodules are selected.
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE_INIT
+ depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
+ bool "WiFi Debug Log Submodule Init"
+ default n
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE_IOCTL
+ depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
+ bool "WiFi Debug Log Submodule Ioctl"
+ default n
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE_CONN
+ depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
+ bool "WiFi Debug Log Submodule Conn"
+ default n
+
+ config ESP32_WIFI_DEBUG_LOG_SUBMODULE_SCAN
+ depends on ESP32_WIFI_DEBUG_LOG_SUBMODULE && (!ESP32_WIFI_DEBUG_LOG_SUBMODULE_ALL)
+ bool "WiFi Debug Log Submodule Scan"
+ default n
+
+ config ESP32_WIFI_IRAM_OPT
+ bool "WiFi IRAM speed optimization"
+ default y
+ help
+ Select this option to place frequently called Wi-Fi library functions in IRAM.
+ When this option is disabled, more than 10Kbytes of IRAM memory will be saved
+ but Wi-Fi throughput will be reduced.
+
+endmenu # Wi-Fi
+
+menu PHY
+
+ config ESP32_PHY_CALIBRATION_AND_DATA_STORAGE
+ bool "Store phy calibration data in NVS"
+ default y
+ help
+ If this option is enabled, NVS will be initialized and calibration data will be loaded from there.
+ PHY calibration will be skipped on deep sleep wakeup. If calibration data is not found, full calibration
+ will be performed and stored in NVS. Normally, only partial calibration will be performed.
+ If this option is disabled, full calibration will be performed.
+
+ If it's easy that your board calibrate bad data, choose 'n'.
+ Two cases for example, you should choose 'n':
+ 1.If your board is easy to be booted up with antenna disconnected.
+ 2.Because of your board design, each time when you do calibration, the result are too unstable.
+ If unsure, choose 'y'.
+
+ config ESP32_PHY_INIT_DATA_IN_PARTITION
+ bool "Use a partition to store PHY init data"
+ default n
+ help
+ If enabled, PHY init data will be loaded from a partition.
+ When using a custom partition table, make sure that PHY data
+ partition is included (type: 'data', subtype: 'phy').
+ With default partition tables, this is done automatically.
+ If PHY init data is stored in a partition, it has to be flashed there,
+ otherwise runtime error will occur.
+
+ If this option is not enabled, PHY init data will be embedded
+ into the application binary.
+
+ If unsure, choose 'n'.
+
+ config ESP32_PHY_MAX_WIFI_TX_POWER
+ int "Max WiFi TX power (dBm)"
+ range 0 20
+ default 20
+ help
+ Set maximum transmit power for WiFi radio. Actual transmit power for high
+ data rates may be lower than this setting.
+
+ config ESP32_PHY_MAX_TX_POWER
+ int
+ default ESP32_PHY_MAX_WIFI_TX_POWER
+
+endmenu # PHY
LIBS += core rtc net80211 pp wpa smartconfig coexist wps wpa2 espnow phy mesh
endif
-COMPONENT_ADD_LDFLAGS += -L$(COMPONENT_PATH)/lib_esp32 \
+COMPONENT_ADD_LDFLAGS += -L$(COMPONENT_PATH)/lib_$(IDF_TARGET) \
$(addprefix -l,$(LIBS)) \
COMPONENT_ADD_LDFRAGMENTS += linker.lf
-COMPONENT_SUBMODULES += lib_esp32
+COMPONENT_SUBMODULES += lib_$(IDF_TARGET)
-ALL_LIB_FILES := $(patsubst %,$(COMPONENT_PATH)/lib_esp32/lib%.a,$(LIBS))
+ALL_LIB_FILES := $(patsubst %,$(COMPONENT_PATH)/lib_$(IDF_TARGET)/lib%.a,$(LIBS))
COMPONENT_ADD_LINKER_DEPS += $(ALL_LIB_FILES)