src.nth.io/

summaryrefslogtreecommitdiff
path: root/sdkconfig.defaults
blob: 1ba83753ba6e17c8a45eb355aa43e93854d08ce3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
CONFIG_IDF_TARGET="esp32p4"

# Flash (Waveshare ESP32-P4-ETH-POE ships with 16 MB QSPI flash)
CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="16MB"

# Partition table
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"

# PSRAM (required for 800x480 framebuffer + JPEG decode + local screens).
# 200 MHz speed is gated behind IDF_EXPERIMENTAL_FEATURES on ESP32-P4 —
# at the default 20 MHz the DPI bridge underruns continuously trying to
# feed the panel from PSRAM. 200 MHz gives ~10x more bandwidth and the
# DPI runs clean.
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_HEX=y
CONFIG_SPIRAM_SPEED_200M=y
CONFIG_SPIRAM_USE_MALLOC=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384

# Ethernet (Waveshare ESP32-P4-ETH-POE: internal EMAC + external PHY)
CONFIG_ETH_ENABLED=y
CONFIG_ETH_USE_ESP32_EMAC=y

# LWIP / mDNS
CONFIG_LWIP_IPV4=y
CONFIG_LWIP_IPV6=y
CONFIG_MDNS_MAX_INTERFACES=1

# TCP receive-window + buffer tuning. Earlier attempt under HTTP
# regressed because every /frame opened a fresh socket and we ate
# the slow-start cost repeatedly. Under the streaming pivot the
# socket is long-lived: slow-start happens once, then we run with
# the full window for the rest of the session — which is exactly
# the workload these knobs are designed for. Larger WND lets the
# sender keep more bytes in flight per ACK and pushes our recv
# throughput ceiling up from ~5.3 MB/s.
CONFIG_LWIP_TCP_WND_DEFAULT=65535
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=65535
CONFIG_LWIP_TCP_RECVMBOX_SIZE=16
CONFIG_LWIP_TCP_SACK_OUT=y

# HTTP server
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_MAX_URI_LEN=512

# Main task stack — JPEG decode is hungry
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192

# Log level
CONFIG_LOG_DEFAULT_LEVEL_INFO=y