Repository navigation
Expand file tree
/
Copy pathsdkconfig.defaults
More file actions
61 lines (52 loc) · 2.34 KB
/
Copy pathsdkconfig.defaults
File metadata and controls
61 lines (52 loc) · 2.34 KB
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
54
55
56
57
58
59
60
61
# Shared by all steps.
# The XIAO ESP32-C5 has 8 MB. iroh alone is ~3.7 MB, so the 4 MB layout would
# be nearly full.
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
# The tokio runtime runs all async code on the main task's stack, and iroh's
# relay path goes deep. This stack is internal SRAM.
CONFIG_ESP_MAIN_TASK_STACK_SIZE=98304
# PSRAM: iroh's heap (relay, discovery, QUIC/TLS buffers) lives there.
CONFIG_SPIRAM=y
CONFIG_SPIRAM_USE_MALLOC=y
# By default, allocations up to 16 KB (nearly all of iroh's) go to internal
# SRAM first. That fills it up, and then creating a FreeRTOS object such as a
# mutex fails mid-connection. Send all of malloc to PSRAM instead.
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
# rustls, not mbedtls.
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=n
CONFIG_MBEDTLS_TLS_ENABLED=n
# Small WiFi and lwIP buffers: no throughput needed, and internal SRAM is what's
# scarce (FreeRTOS objects and DMA buffers can't live in PSRAM).
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=4
CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=4
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=8
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=n
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=n
CONFIG_LWIP_UDP_RECVMBOX_SIZE=12
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=2880
CONFIG_LWIP_TCP_WND_DEFAULT=2880
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=8
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
CONFIG_LWIP_MAX_UDP_PCBS=6
CONFIG_LWIP_MAX_SOCKETS=6
CONFIG_LWIP_IPV6=n
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_LOG_COLORS=y
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
# Log wall-clock time (HH:MM:SS.mmm, UTC once SNTP has set it) instead of ms
# since boot, so device logs line up with the CLI's timings.
CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM=y
# Speed, not size, for ESP-IDF's C code too (the default for release builds is
# -Os). The bootloader stays size-optimized: it has a fixed-size slot.
CONFIG_COMPILER_OPTIMIZATION_PERF=y
# The task watchdog fires when the idle task hasn't run for the timeout, i.e.
# some task kept the CPU busy without blocking. The default 5 s trips on the
# software certificate checks; 30 s doesn't, but still catches a task spinning
# forever. Then reboot instead of just printing a warning. (It doesn't catch a
# deadlock: blocked tasks leave the CPU idle.)
CONFIG_ESP_TASK_WDT_TIMEOUT_S=30
CONFIG_ESP_TASK_WDT_PANIC=y