toy-hardware/sdkconfig.defaults
Rdzleo bc14e60836 Create v1.7.6 聆听空闲超时自动退出 + Bug修复
一、新增功能
1. 聆听状态空闲超时自动退出
   - 聆听状态下无用户交互(无语音对话、无按键操作、无音频播放)超过60秒后,
     设备自动关闭音频通道回到idle待命状态,行为等同于手动按下BOOT按键退出
   - 超时时间通过Kconfig CONFIG_LISTENING_IDLE_TIMEOUT_SECONDS可配置(范围30~300秒,默认60秒)
   - speaking状态期间暂停计时,回到listening后从0重新倒计时,确保用户有完整的思考时间

2. 聆听空闲计时器外部重置接口
   - 新增ResetListeningIdleTimer()公开方法,供板级按键/触摸回调调用
   - 重置触发点:触摸按键(摸脑袋等)、BOOT按键、故事按键、收到服务端stt/tts/music_control/story消息

二、Bug修复
3. 修复超时退出后待命音效无声
   - 原因:超时退出路径中audio_processor_.Stop()关闭了功放,之后才播放待命音效
   - 修复:在SetDeviceState(kDeviceStateIdle)播放待命音效前调用codec->EnableOutput(true)确保功放开启

4. 修复WebSocket断开与tts:stop竞态导致崩溃重启
   - 原因:tts:stop和WebSocket断开同时发生时,设备切换到listening触发SendStartListening失败,
     竞态导致WakeWordDetect堆损坏(StoreProhibited崩溃)
   - 修复:tts:stop处理中先检查IsAudioChannelOpened(),音频通道不可用时直接回退到idle

5. 修复listening状态音频通道不可用时逻辑错误
   - 原因:音频通道不可用时"保持在listening状态"导致后续状态混乱
   - 修复:改为直接回退到idle状态

三、优化调整
6. 版本号从1.7.5升级到1.7.6
7. ADC电量采样间隔从10ms缩短为5ms,提高采样效率
8. 日志配置调整:恢复日志输出能力用于调试
9. WiFi组件代码注释补充
10. 新增.gitignore,忽略build目录和.vscode/settings.json

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:17:37 +08:00

164 lines
4.5 KiB
Plaintext

CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE=1024
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF=y
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
# Boot ROM Behavior - 禁用Boot ROM日志输出 新增禁用日志配置(生产环境)
# =====================================================================
CONFIG_BOOT_ROM_LOG_ALWAYS_OFF=y
# 彻底禁用启动阶段和系统组件日志
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
# 禁用coexist组件日志
CONFIG_ESP_COEX_LOG_LEVEL_NONE=y
# 禁用WiFi相关日志
CONFIG_ESP_WIFI_LOG_LEVEL_NONE=y
# 禁用蓝牙日志
CONFIG_BT_LOG_LEVEL_NONE=y
# 彻底禁用底层组件日志输出
CONFIG_ESP_CONSOLE_UART_NONE=y
CONFIG_ESP_CONSOLE_NONE=y
CONFIG_FREERTOS_USE_TRACE_FACILITY=n
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=n
# 禁用coexist固件版本输出
CONFIG_ESP_COEX_POWER_MANAGEMENT=n
CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE=n
# 禁用wakenet模型加载日志
CONFIG_SR_MODEL_WN9_QUANT=n
CONFIG_ESP_SR_RUN_TEST=n
# 彻底禁用所有printf输出
CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=n
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=n
CONFIG_VFS_SUPPORT_IO=n
# 禁用系统启动信息
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
# 禁用ROM启动日志
CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP=y
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
# =====================================================================
CONFIG_HTTPD_MAX_REQ_HDR_LEN=2048
CONFIG_HTTPD_MAX_URI_LEN=2048
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_ESP_TASK_WDT_TIMEOUT_S=10
CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=n
CONFIG_ESP_WIFI_IRAM_OPT=n
CONFIG_ESP_WIFI_RX_IRAM_OPT=n
CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER=y
CONFIG_CODEC_I2C_BACKWARD_COMPATIBLE=n
# LVGL 9.2.2
CONFIG_LV_OS_NONE=y
CONFIG_LV_USE_OS=0
CONFIG_LV_USE_CLIB_MALLOC=y
CONFIG_LV_USE_CLIB_STRING=y
CONFIG_LV_USE_CLIB_SPRINTF=y
CONFIG_LV_USE_IMGFONT=y
# Use compressed font
CONFIG_LV_FONT_FMT_TXT_LARGE=y
CONFIG_LV_USE_FONT_COMPRESSED=y
CONFIG_LV_USE_FONT_PLACEHOLDER=y
# Disable extra widgets to save flash size
CONFIG_LV_USE_ANIMIMG=n
CONFIG_LV_USE_CALENDAR=n
CONFIG_LV_USE_CALENDAR_HEADER_ARROW=n
CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=n
CONFIG_LV_USE_CHART=n
CONFIG_LV_USE_KEYBOARD=n
CONFIG_LV_USE_LED=n
CONFIG_LV_USE_LIST=n
CONFIG_LV_USE_MENU=n
CONFIG_LV_USE_MSGBOX=n
CONFIG_LV_USE_SPAN=n
CONFIG_LV_USE_SPINBOX=n
CONFIG_LV_USE_SPINNER=n
CONFIG_LV_USE_TABVIEW=n
CONFIG_LV_USE_TILEVIEW=n
CONFIG_LV_USE_WIN=n
CONFIG_LV_BUILD_EXAMPLES=n
# Audio Processing Configuration for AEC+VAD Echo-Aware Optimization
CONFIG_USE_AUDIO_PROCESSOR=y
CONFIG_USE_REALTIME_CHAT=y
CONFIG_LISTENING_IDLE_TIMEOUT_SECONDS=60
# Standard ESP-IDF Audio and Logging Configuration
# CONFIG_LOG_DEFAULT_LEVEL_INFO=y 原有打印日志配置 恢复原有日志打印可以取消注释
# 彻底禁用所有日志输出 新增禁用日志配置(生产环境)
# =====================================================================
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
CONFIG_LOG_MAXIMUM_LEVEL_NONE=y
CONFIG_LOG_COLORS=n
# 禁用启动任务日志
CONFIG_ESP_TASK_WDT_EN=n
CONFIG_ESP_INT_WDT_EN=n
# 禁用所有组件的详细日志
CONFIG_LWIP_ESP32_ETHERNET=n
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n
# 禁用调试和监控功能
CONFIG_ESP_DEBUG_STUBS_ENABLE=n
CONFIG_ESP_GDBSTUB_ENABLED=n
# =====================================================================
# Bluetooth Configuration for BluFi Provisioning
CONFIG_BT_ENABLED=y
CONFIG_BT_CONTROLLER_ENABLED=y
CONFIG_BT_CONTROLLER_ONLY=n
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_BT_CLASSIC_ENABLED=n
CONFIG_BT_BLE_ENABLED=y
CONFIG_BT_GATTS_ENABLE=y
CONFIG_BT_GATTC_ENABLE=y
CONFIG_BT_BLE_SMP_ENABLE=y
CONFIG_BT_STACK_NO_LOG=n
CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=n
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=n
CONFIG_BT_RESERVE_DRAM=0x10000
# BluFi Configuration
CONFIG_BT_BLUFI_ENABLED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
# Disable BLE 5.0 features for BluFi compatibility
CONFIG_BT_BLE_50_FEATURES_SUPPORTED=n
CONFIG_BT_BLUFI_MAX_CONN=1
# Bluetooth and WiFi Coexistence
CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y