mirror of
https://github.com/ruvnet/RuView.git
synced 2026-04-28 05:59:32 +00:00
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>
37 lines
1.2 KiB
Text
37 lines
1.2 KiB
Text
# ESP32-S3 CSI Node — Default SDK Configuration
|
|
# This file is applied automatically by idf.py when no sdkconfig exists.
|
|
|
|
# Target: ESP32-S3
|
|
CONFIG_IDF_TARGET="esp32s3"
|
|
|
|
# Use custom partition table (8MB flash with OTA — ADR-045)
|
|
CONFIG_PARTITION_TABLE_CUSTOM=y
|
|
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_display.csv"
|
|
|
|
# Flash configuration: 8MB (Quad SPI)
|
|
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
|
|
CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
|
|
|
|
# Compiler optimization: optimize for size to reduce binary
|
|
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
|
|
|
|
# Enable CSI (Channel State Information) in WiFi driver
|
|
CONFIG_ESP_WIFI_CSI_ENABLED=y
|
|
|
|
# NVS encryption disabled by default (requires eFuse provisioning).
|
|
# Enable only after burning HMAC key to eFuse block.
|
|
# CONFIG_NVS_ENCRYPTION is not set
|
|
|
|
# Disable unused features to reduce binary size
|
|
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
|
|
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
|
|
|
# LWIP: enable extended socket options for UDP multicast
|
|
CONFIG_LWIP_SO_RCVBUF=y
|
|
|
|
# FreeRTOS: increase task stack for CSI processing
|
|
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
|