mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
a426ae386d
emit_feature_state() runs inside the FreeRTOS Timer Svc task via the fast loop callback; it memsets an rv_feature_state_t, queries vitals/ radio, and sends via stream_sender (lwIP sendto). Default Timer Svc stack is 2 KiB, which overflows and panics ~1 s after boot: ***ERROR*** A stack overflow in task Tmr Svc has been detected. Bump CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH to 8 KiB across the three sdkconfig defaults files (default, template, 4mb). Matches the main task stack size already in use. Found during on-device validation on ESP32-S3 (MAC 3c:0f:02:e9:b5:f8) after flashing the post-merge v0.6.1 build — firmware boots, connects WiFi, emits one medium tick, then crashes on the fast tick that calls emit_feature_state(). Follow-up: consider moving emit_feature_state + network I/O out of the timer daemon into a dedicated worker task (open issue). Co-Authored-By: claude-flow <ruv@ruv.net>
34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
# ESP32-S3 CSI Node — 4MB Flash SDK Configuration (issue #265)
|
|
# For boards with 4MB flash (e.g. ESP32-S3 SuperMini 4MB).
|
|
#
|
|
# Build: cp sdkconfig.defaults.4mb sdkconfig.defaults && idf.py set-target esp32s3 && idf.py build
|
|
# Or: idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.4mb" set-target esp32s3 && idf.py build
|
|
|
|
CONFIG_IDF_TARGET="esp32s3"
|
|
|
|
# 4MB flash partition table
|
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_4mb.csv"
|
|
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
|
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
|
|
|
|
# Compiler: optimize for size (critical for 4MB)
|
|
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
|
|
|
# CSI support
|
|
CONFIG_ESP_WIFI_CSI_ENABLED=y
|
|
|
|
# Disable display support to save flash (ADR-045 display requires 8MB)
|
|
# CONFIG_DISPLAY_ENABLE is not set
|
|
|
|
# Reduce logging to save flash
|
|
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
|
|
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
|
|
|
CONFIG_LWIP_SO_RCVBUF=y
|
|
CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
|
|
|
|
# ADR-081: adaptive_controller runs emit_feature_state + stream_sender
|
|
# network I/O inside Timer Svc callbacks, exceeding the 2 KiB default.
|
|
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=8192
|