moderately smaller WiFi/LWIP/ETH buffers for internal heap

This commit is contained in:
proddy
2026-10-13 08:03:59 +02:00
parent 8ee23dd8dc
commit cdd64f1de0
+21 -15
View File
@@ -39,22 +39,14 @@ build_flags =
-D ARDUINO_ARCH_ESP32
-D ONEWIRE_CRC16=0
-D CONFIG_UART_ISR_IN_IRAM
; AsyncTCP
-D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 ; default
-D CONFIG_ASYNC_TCP_PRIORITY=10 ; default
-D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 ; default
-D CONFIG_ASYNC_TCP_RUNNING_CORE=1 ; force async_tcp task to be on same core as Arduino app (default is any core)
-D CONFIG_ASYNC_TCP_STACK_SIZE=8192 ; default is 16KB/8192*2
; ESPAsyncWebServer
; -D WS_MAX_QUEUED_MESSAGES=0 ; not used, default 8
-D ENABLE_PSRAM ; incase BOARD_HAS_PSRAM is not set, so boards without PSRAM keep using the internal heap
; -D SSE_MAX_QUEUED_MESSAGES=1 ; for log messages, default 32
; ESP_SSLClient
-D ENABLE_PSRAM ; take the ~17KB of TLS buffers from PSRAM instead of the internal heap. The library
; needs BOARD_HAS_PSRAM too, so boards without PSRAM keep using the internal heap
-D EMSESP_MQTT_RUNNING_CORE=1 ; default 1
; -D EMSESP_MQTT_STACKSIZE=5120 ; default
-D EMSESP_UART_RUNNING_CORE=1 ; default any core
; -D EMSESP_UART_STACKSIZE=2560 ; default
; -D EMSESP_UART_STACKSIZE=2560 ; 5120 is default
; -D EMSESP_GATEWAY_TX_HOLD ; hold Tx while a K30RF/KM200 gateway is syncing, see issue #3094
; -D EMSESP_TX_PRE_DELAY=1000 ; wait this many us before each Tx so we don't overlap the master's break, see issue #3094
@@ -146,7 +138,8 @@ board = s_16M_P
[env:s_16M_P_custom]
; same as s_16M_P, but the Arduino/IDF libs are rebuilt with HybridCompile using the custom_sdkconfig below
; this is same procedure as in the esp32-arduino-lib-builder repository
; this is same procedure as in the esp32-arduino-lib-builder repository (configs/defconfig.ems-esp)
; SPI Ethernet is left enabled: Arduino ETH.cpp needs those types; unused W5500/DM9051 objects are GC'd
extends = env:s_16M_P
custom_sdkconfig =
'# CONFIG_BT_ENABLED is not set'
@@ -155,15 +148,12 @@ custom_sdkconfig =
'# CONFIG_LWIP_IPV4_NAPT is not set'
'# CONFIG_LWIP_IPV4_NAPT_PORTMAP is not set'
'# CONFIG_ULP_COPROC_ENABLED is not set'
'# CONFIG_ETH_USE_SPI_ETHERNET is not set'
'# CONFIG_ETH_SPI_ETHERNET_W5500 is not set'
'# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set'
'# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set'
'# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set'
'# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set'
'# CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT is not set'
'# CONFIG_ESP_MODEM_USE_PPP_MODE is not set'
'# CONFIG_ESP_GDBSTUB_ENABLED is not set'
'# CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC is not set'
'# CONFIG_MDNS_ENABLE_CONSOLE_CLI is not set'
'# CONFIG_MDNS_ENABLE_BROWSE is not set'
'# CONFIG_I2S_ISR_IRAM_SAFE is not set'
@@ -171,6 +161,22 @@ custom_sdkconfig =
'CONFIG_UART_ISR_IN_IRAM=y'
'CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=256'
'CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=1024'
'CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0'
'CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=6'
'CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=16'
'CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=16'
'CONFIG_ESP_WIFI_MGMT_SBUF_NUM=16'
'CONFIG_ESP_WIFI_RX_BA_WIN=4'
'CONFIG_ESP_WIFI_TX_BA_WIN=4'
'CONFIG_MDNS_MAX_SERVICES=4'
'CONFIG_MDNS_ACTION_QUEUE_LEN=8'
'CONFIG_ETH_DMA_RX_BUFFER_NUM=6'
'CONFIG_ETH_DMA_TX_BUFFER_NUM=6'
'CONFIG_LWIP_MAX_ACTIVE_TCP=10'
'CONFIG_LWIP_MAX_LISTENING_TCP=8'
'CONFIG_LWIP_MAX_UDP_PCBS=8'
'CONFIG_LWIP_MAX_RAW_PCBS=4'
'CONFIG_LWIP_IPV6_NUM_ADDRESSES=2'
[env:s3_16M_P]
; 16MB ESP32-S3 - with PSRAM - like a BBQKees S3