一、新增功能
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>
166 lines
4.7 KiB
Plaintext
166 lines
4.7 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相关日志以显示MAC地址
|
||
# CONFIG_ESP_WIFI_LOG_LEVEL_NONE=y
|
||
CONFIG_ESP_WIFI_LOG_LEVEL_INFO=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 原有打印日志配置 恢复原有日志打印可以取消注释
|
||
# 彻底禁用所有日志输出 新增禁用日志配置(生产环境)
|
||
# =====================================================================
|
||
# 修改:允许INFO级别日志以显示Wi-Fi MAC地址,但设置最大级别为INFO以限制详细日志
|
||
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
||
CONFIG_LOG_MAXIMUM_LEVEL_INFO=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
|
||
|