fix(config): 对齐 Baji RTC 衍生项目配网配置

1. BLE / RTC 默认配置
- 开启 CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST,让 Bluedroid host 动态分配优先走 PSRAM
- 关闭 CONFIG_BT_BLE_50_FEATURES_SUPPORTED,数字人 RTC 与 BLE 配网继续使用 legacy advertising
- 增加 CONFIG_LWIP_MAX_SOCKETS=20,给火山 RTC ICE/socket 建连预留 fd
- 保持 BluFi 关闭,项目继续使用自定义 GATT 配网服务

2. ESP32-S3 PSRAM defaults
- 开启 CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY
- 开启 CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY
- 将 BT/WiFi/LWIP 的静态段迁移到 PSRAM,释放内部 SRAM 给 BLE controller 和 RTC

3. 实机测试记录
- 更新 05-最新日志.txt,记录配网模式启动、BLE controller feature、EAF/音频初始化和复位现象
- 保留串口原始日志格式,便于后续对比 BLE 配网行为

4. 本地开发配置
- 更新 VSCode ESP-IDF 串口为 /dev/tty.usbmodem834401,匹配当前测试设备
This commit is contained in:
Rdzleo 2026-05-29 13:53:55 +08:00
parent bffd31645e
commit 24e0d19d29
4 changed files with 487 additions and 99 deletions

View File

@ -109,7 +109,7 @@
"random": "cpp",
"*.obj": "cpp"
},
"idf.port": "/dev/tty.debug-console",
"idf.port": "/dev/tty.usbmodem834401",
"idf.espIdfPath": "/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf",
"idf.toolsPath": "/Users/rdzleo/.espressif",
"idf.pythonInstallPath": "/opt/homebrew/bin/python3",

View File

@ -1,93 +1,474 @@
I (881719) DZBJ_BLE: Disconnected, remote 9c:76:0e:47:1b:de, reason 0x13
I (881719) IMG_UI: 准备显示图片: face_1774344833.jpg, 路径: /spiflash/face_1774344833.jpg
I (881719) IMG_UI: 文件大小: 38679 字节
I (881719) DZBJ_BLE: Advertising start successfully
I (881939) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (881939) IMG_UI: JPEG图片更新成功: face_1774344833.jpg
I (881939) IMG_LIST: BLE导航到ScreenImg显示: face_1774344833.jpg
I (886089) DZBJ_BAT: ADC原始值=2772, ADC电压=2320mV, 电池电压=4640mV, 电量=100%
I (891089) DZBJ_BAT: ADC原始值=2777, ADC电压=2324mV, 电池电压=4648mV, 电量=100%
I (893029) LVGL: Touch detected: x=251, y=223, count=1
I (893059) LVGL: Touch detected: x=250, y=223, count=1
I (893089) LVGL: Touch detected: x=236, y=222, count=1
I (893119) LVGL: Touch detected: x=210, y=219, count=1
I (893149) LVGL: Touch detected: x=170, y=213, count=1
I (893149) IMG_LIST: 切换到下一张图片,索引: 1/8
I (893149) IMG_UI: 准备显示图片: 03.jpg, 路径: /spiflash/03.jpg
I (893169) IMG_UI: 文件大小: 8805 字节
I (893169) IMG_UI: 释放之前的图片数据
I (893269) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (893269) IMG_UI: JPEG图片更新成功: 03.jpg
I (893919) LVGL: Touch detected: x=251, y=187, count=1
I (893949) LVGL: Touch detected: x=250, y=187, count=1
I (893979) LVGL: Touch detected: x=241, y=187, count=1
I (894009) LVGL: Touch detected: x=216, y=187, count=1
I (894039) LVGL: Touch detected: x=151, y=190, count=1
I (894039) IMG_LIST: 切换到下一张图片,索引: 2/8
I (894039) IMG_UI: 准备显示图片: 02.jpg, 路径: /spiflash/02.jpg
I (894039) IMG_UI: 文件大小: 20498 字节
I (894039) IMG_UI: 释放之前的图片数据
I (894159) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (894159) IMG_UI: JPEG图片更新成功: 02.jpg
I (894569) LVGL: Touch detected: x=262, y=196, count=1
I (894599) LVGL: Touch detected: x=248, y=196, count=1
I (894629) LVGL: Touch detected: x=216, y=196, count=1
I (894659) LVGL: Touch detected: x=169, y=194, count=1
I (894659) IMG_LIST: 切换到下一张图片,索引: 3/8
I (894659) IMG_UI: 准备显示图片: default.jpg, 路径: /spiflash/default.jpg
I (894659) IMG_UI: 文件大小: 47430 字节
I (894659) IMG_UI: 释放之前的图片数据
I (894829) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (894829) IMG_UI: JPEG图片更新成功: default.jpg
I (895209) LVGL: Touch detected: x=256, y=200, count=1
I (895239) LVGL: Touch detected: x=253, y=200, count=1
I (895269) LVGL: Touch detected: x=238, y=200, count=1
I (895299) LVGL: Touch detected: x=205, y=198, count=1
I (895299) IMG_LIST: 切换到下一张图片,索引: 4/8
I (895299) IMG_UI: 准备显示图片: face_1772002032846.jpg, 路径: /spiflash/face_1772002032846.jpg
I (895319) IMG_UI: 文件大小: 987342 字节
I (895319) IMG_UI: 释放之前的图片数据
E (895719) FATFS: 不是有效JPEG文件: /spiflash/face_1772002032846.jpg
E (895719) IMG_UI: 图片解码失败,错误码: -1
I (896089) DZBJ_BAT: ADC原始值=2773, ADC电压=2321mV, 电池电压=4642mV, 电量=100%
I (899189) LVGL: Touch detected: x=311, y=196, count=1
I (899219) LVGL: Touch detected: x=307, y=196, count=1
I (899249) LVGL: Touch detected: x=291, y=196, count=1
I (899279) LVGL: Touch detected: x=255, y=196, count=1
I (899279) IMG_LIST: 切换到下一张图片,索引: 5/8
I (899279) IMG_UI: 准备显示图片: face_1774340638342.jpg, 路径: /spiflash/face_1774340638342.jpg
I (899279) IMG_UI: 文件大小: 70339 字节
I (899539) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (899539) IMG_UI: JPEG图片更新成功: face_1774340638342.jpg
I (900279) LVGL: Touch detected: x=286, y=204, count=1
I (900309) LVGL: Touch detected: x=285, y=204, count=1
I (900339) LVGL: Touch detected: x=275, y=204, count=1
I (900369) LVGL: Touch detected: x=220, y=203, count=1
I (900369) IMG_LIST: 切换到下一张图片,索引: 6/8
I (900369) IMG_UI: 准备显示图片: face_1774340678141.jpg, 路径: /spiflash/face_1774340678141.jpg
I (900369) IMG_UI: 文件大小: 71774 字节
I (900369) IMG_UI: 释放之前的图片数据
I (900639) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (900639) IMG_UI: JPEG图片更新成功: face_1774340678141.jpg
I (901089) DZBJ_BAT: ADC原始值=2754, ADC电压=2306mV, 电池电压=4612mV, 电量=100%
I (901109) LVGL: Touch detected: x=292, y=212, count=1
I (901139) LVGL: Touch detected: x=288, y=212, count=1
I (901169) LVGL: Touch detected: x=272, y=211, count=1
I (901199) LVGL: Touch detected: x=236, y=209, count=1
I (901199) IMG_LIST: 切换到下一张图片,索引: 7/8
I (901199) IMG_UI: 准备显示图片: face_1774344117.jpg, 路径: /spiflash/face_1774344117.jpg
I (901199) IMG_UI: 文件大小: 94251 字节
I (901199) IMG_UI: 释放之前的图片数据
E (901279) FATFS: 不是有效JPEG文件: /spiflash/face_1774344117.jpg
E (901279) IMG_UI: 图片解码失败,错误码: -1
I (902049) LVGL: Touch detected: x=333, y=214, count=1
I (902079) LVGL: Touch detected: x=331, y=214, count=1
I (902109) LVGL: Touch detected: x=318, y=214, count=1
I (902139) LVGL: Touch detected: x=288, y=214, count=1
I (902169) LVGL: Touch detected: x=210, y=214, count=1
I (902169) IMG_LIST: 切换到下一张图片,索引: 8/8
I (902169) IMG_UI: 准备显示图片: face_1774344833.jpg, 路径: /spiflash/face_1774344833.jpg
I (902169) IMG_UI: 文件大小: 38679 字节
I (902389) IMG_UI: 图片解码成功,宽度: 360, 高度: 360
I (902389) IMG_UI: JPEG图片更新成功: face_1774344833.jpg
I (906089) DZBJ_BAT: ADC原始值=2763, ADC电压=2312mV, 电池电压=4624mV, 电量=100%
'/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf_monitor.py' -p /dev/tty.usbmodem834401 -b 115200 --toolchain-prefix xtensa-esp32s3-elf- --make ''/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf.py'' --target esp32s3 '/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/kapi.elf'
rdzleo@RdzleodeMac-Studio Baji_Rtc_Toy %
export IDF_PATH='/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf'
'/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf_monitor.py' -p /dev/tty.usbmodem834401 -b 115200 --toolchain-prefix xtensa-esp32s3-elf- --make ''/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf.py'' --target esp32s3 '/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/kapi.elf'
rdzleo@RdzleodeMac-Studio Baji_Rtc_Toy % export IDF_PATH='/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf'
rdzleo@RdzleodeMac-Studio Baji_Rtc_Toy % '/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf_monit
or.py' -p /dev/tty.usbmodem834401 -b 115200 --toolchain-prefix xtensa-esp32s3-elf- --make ''/Users/rdzleo/.espressif/python_env/idf5.4_py3.13_env/bin/python3' '/Users
/rdzleo/esp/esp-idf/v5.4.2/esp-idf/tools/idf.py'' --target esp32s3 '/Users/rdzleo/Desktop/Baji_Rtc_Toy/build/kapi.elf'
--- Warning: Serial ports accessed as /dev/tty.* will hang gdb if launched.
--- Using /dev/cu.usbmodem834401 instead...
--- esp-idf-monitor 1.8.0 on /dev/cu.usbmodem834401 115200
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0x2b (SPI_FAST_FLASH_BOOT)
Saved PC:0x403895d6
--- 0x403895d6: esp_cpu_wait_for_intr at /Users/rdzleo/esp/esp-idf/components/esp_hw_support/cpu.c:64
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x56c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xb88
load:0x403cb700,len:0x2df4
entry 0x403c88f4
I (49) WeatherApi: 初始化天气API配置 - 默认城市: 北京
I (50) WeatherApi: WiFi位置缓存限制已设置为: 5 条
I (50) coexist: coex firmware version: 831ec70
I (50) coexist: coexist rom version e7ae62f
I (51) main_task: Started on CPU0
I (61) main_task: Calling app_main()
I (81) BackgroundTask: background_task started
I (81) BluetoothProvisioning: 蓝牙配网对象创建完成
I (81) button: IoT Button Version: 3.5.0
I (81) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (81) button: IoT Button Version: 3.5.0
I (81) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (81) Airhub1: Initializing I2C master bus for audio codec...
I (81) Airhub1: Scanning I2C bus for devices...
I (81) Airhub1: I2C设备在线: 0x18
I (81) Airhub1: I2C设备在线: 0x40
I (81) Airhub1: I2C scan completed. Found 2 devices
I (81) DZBJ: 开始初始化显示硬件...
I (81) gpio: GPIO[7]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (81) st77916: LCD panel create success, version: 1.0.1
W (211) st77916: The 3Ah command has been used and will be overwritten by external initialization sequence
I (331) LCD: TEON enabled (V-Blank mode)
I (331) LCD: LCD GRAM cleared (black filled)
I (331) DZBJ: LCD 硬件初始化完成
I (331) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:2
I (331) gpio: GPIO[6]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (731) CST816S: IC id: 182
I (731) LCD: Touch controller initialized successfully
I (731) DZBJ: 数字人 EAF 模式: 跳过 LVGL 初始化,等待 esp_emote_gfx 接管
I (731) AI_CHAT_EAF: ============================
I (731) AI_CHAT_EAF: === EAF 数字人 UI 初始化 ===
I (731) AI_CHAT_EAF: ============================
I (731) AI_CHAT_EAF: SPIFFS 未挂载,自动挂载到 /spiflash...
I (921) AI_CHAT_EAF: SPIFFS 已就绪: total=4640 KB, used=4513 KB
I (921) AI_CHAT_EAF: 解析 hiyori-assets.bin:
I (921) AI_CHAT_EAF: MMAP file_count=9
I (921) AI_CHAT_EAF: MMAP 版本=旧版(0x10), ENTRY_SIZE=28
I (921) AI_CHAT_EAF: 跳过非 EAF: index.json (size=1135)
I (1241) AI_CHAT_EAF: ✓ Cached [0] hiyori_m01.eaf (833884 bytes) @ 0x3c41502c (file_offset=1423)
I (1531) AI_CHAT_EAF: ✓ Cached [1] hiyori_m02.eaf (528479 bytes) @ 0x3c4e1044 (file_offset=835309)
I (1841) AI_CHAT_EAF: ✓ Cached [2] hiyori_m03.eaf (576910 bytes) @ 0x3c565048 (file_offset=1363790)
I (2141) AI_CHAT_EAF: ✓ Cached [3] hiyori_m04.eaf (572724 bytes) @ 0x3c5f504c (file_offset=1940702)
I (2471) AI_CHAT_EAF: ✓ Cached [4] hiyori_m05.eaf (620157 bytes) @ 0x3c681050 (file_offset=2513428)
I (2721) AI_CHAT_EAF: ✓ Cached [5] hiyori_m06.eaf (433214 bytes) @ 0x3c719054 (file_offset=3133587)
I (2961) AI_CHAT_EAF: ✓ Cached [6] hiyori_m07.eaf (387868 bytes) @ 0x3c783058 (file_offset=3566803)
I (3271) AI_CHAT_EAF: ✓ Cached [7] hiyori_m08.eaf (579193 bytes) @ 0x3c7e305c (file_offset=3954673)
I (3271) AI_CHAT_EAF: EAF 预加载完成,共 8 个表情可用
I (3222) timer: init timer manager: fps=25 period=40 ms
I (3401) AI_CHAT_EAF: 背景图已加载: 360x360 (253 KB RGB565 @ 0x3c875064)
I (3431) AI_CHAT_EAF: 切换表情: hiyori_m06.eaf (idx=5, size=433214)
I (3471) AI_CHAT_EAF: 字幕 label 创建成功300×90, 黑字, WRAP, 居中)
I (3471) AI_CHAT_EAF: === EAF 数字人 UI 初始化完成 ===
I (3571) Airhub1: 🤖 AI对话模式启动
I (3571) Airhub1: 初始化按钮...
I (3571) Airhub1: Boot button initialized on GPIO0
I (3571) Airhub1: Volume up button initialized on GPIO-1
I (3571) Airhub1: Volume down button initialized on GPIO-1
I (3571) Airhub1: 故事按键已初始化GPIO引脚 =4
I (3581) Airhub1: 所有按键已成功初始化!
I (3581) Airhub1: IMU传感器未初始化跳过IoT注册
I (3581) Airhub1: Initializing battery monitor...
I (3581) Airhub1: ADC calibration initialized
I (3581) Airhub1: 电池状态监控已初始化GPIO:3
I (3581) Airhub1: 非生产测试模式且不在对话状态,姿态传感器业务已禁用以节约资源
I (3581) PowerSaveTimer: Power save timer enabled
I (3581) Airhub1: 🔋 PowerSaveTimer已启用20秒无活动将进入低功耗模式
I (3581) Airhub1: 电容触摸板按钮已禁用 (ENABLE_TOUCH_PAD_BUTTONS=0)
I (3581) Application: 打印设置设备状态日志: starting
I (3581) Application: 正常启动流程,将执行开机播报和网络连接播报
I (3581) Airhub1: Initializing audio codec (duplex)...
I (3581) Airhub1: Creating BoxAudioCodec (ES8311+ES7210, without reference) ...
I (3581) BoxAudioCodec: Duplex channels created
I (3591) ES8311: Work in Slave mode
I (3591) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (3591) ES7210: Work in Slave mode
I (3601) ES7210: Enable ES7210_INPUT_MIC1
I (3601) ES7210: Enable ES7210_INPUT_MIC2
I (3611) BoxAudioCodec: BoxAudioDevice initialized (duplex)
I (3611) Airhub1: Audio codec initialized successfully
I (3611) Application: 检测到WiFi板卡将opus编码器复杂度设置为3
I (3611) OpusResampler: Resampler configured with input sample rate 16000, output sample rate 8000, and channels 1
I (3611) I2S_IF: channel mode 2 bits:16/16 channel:2 mask:1
I (3611) I2S_IF: TDM Mode 0 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3611) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (3611) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3611) ES7210: Bits 16
I (3651) ES7210: Enable ES7210_INPUT_MIC1
I (3651) ES7210: Enable ES7210_INPUT_MIC2
I (3661) ES7210: Unmuted
I (3661) Adev_Codec: Open codec device OK
I (3661) BoxAudioCodec: Input opened: sr=16000 ch=1 mask=0x1 ref=0
I (3661) AudioCodec: Set input enable to true
I (3661) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (3661) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3681) Adev_Codec: Open codec device OK
I (3681) AudioCodec: Set output enable to true
I (3681) AudioCodec: Audio codec started
I (3681) AudioCodec: 将运行时输出音量设置为80
I (3681) Application: 设备启动完成,播放开机播报语音
I (3681) pp: pp rom version: e7ae62f
I (3681) net80211: net80211 rom version: e7ae62f
I (3691) wifi:wifi driver task: 3fce4ea0, prio:23, stack:6656, core=0
I (3691) wifi:wifi firmware version: 3263cda
I (3691) wifi:wifi certification version: v7.0
I (3691) wifi:config NVS flash: disabled
I (3691) wifi:config nano formatting: disabled
I (3691) wifi:Init data frame dynamic rx buffer num: 32
I (3691) wifi:Init dynamic rx mgmt buffer num: 5
I (3691) wifi:Init management short buffer num: 32
I (3691) wifi:Init static tx buffer num: 8
I (3691) wifi:Init tx cache buffer num: 32
I (3691) wifi:Init static tx FG buffer num: 2
I (3691) wifi:Init static rx buffer size: 1600
I (3691) wifi:Init static rx buffer num: 10
I (3691) wifi:Init dynamic rx buffer num: 32
I (3701) wifi_init: rx ba win: 16
I (3701) wifi_init: accept mbox: 6
I (3701) wifi_init: tcpip mbox: 32
I (3701) wifi_init: udp mbox: 6
I (3711) wifi_init: tcp mbox: 6
I (3711) wifi_init: tcp tx win: 5760
I (3711) wifi_init: tcp rx win: 5760
I (3711) wifi_init: tcp mss: 1440
I (3711) wifi_init: WiFi/LWIP prefer SPIRAM
I (3711) phy_init: phy_version 701,f4f1da3a,Mar 3 2025,15:50:10
I (3741) phy_init: Saving new calibration data due to checksum failure or outdated calibration data, mode(0)
I (3741) Application: 开始播放下行音频: 样本=960 采样率=16000
I (3791) wifi:mode : sta (d0:cf:13:03:bb:f0)
I (3791) wifi:enable tsf
I (4341) Airhub1: BOOT button clicked
I (4341) Airhub1: 🔄 BOOT按键触发设备状态=1WiFi连接状态=未连接
I (4341) Airhub1: 🔄 开始重置WiFi配置清除已保存的WiFi凭据
I (4351) wifi:flush txq
I (4351) wifi:stop sw txq
I (4351) wifi:lmac stop hw txq
I (4351) Airhub1: ✅ 已清除所有WiFi凭据设备将进入配网模式
I (4351) WifiBoard: 🔄 重置WiFi配置设备将重启进入配网模式
I (4351) WifiBoard: 🔄 [reset_task] 开始播放配网音效...
I (4351) wifi: Wait for next scan
I (4681) Airhub1: ADC: 2352, 原始电压: 2.35V, 计算电池电压: 10.21V, 电量: 100%, 满电电压: 4.20V
I (4681) BluetoothMAC: Bluetooth MAC Address: d0:cf:13:03:bb:f2
I (4931) Airhub1: BOOT button clicked
I (4931) Airhub1: 🔄 BOOT按键触发设备状态=1WiFi连接状态=未连接
I (4931) Airhub1: 🔄 开始重置WiFi配置清除已保存的WiFi凭据
I (4931) Airhub1: ✅ 已清除所有WiFi凭据设备将进入配网模式
I (4931) WifiBoard: 🔄 重置WiFi配置设备将重启进入配网模式
I (4931) WifiBoard: 🔄 [reset_task] 开始播放配网音效...
I (5681) Airhub1: ADC: 2359, 原始电压: 2.36V, 计算电池电压: 10.24V, 电量: 100%, 满电电压: 4.20V
I (5681) BluetoothMAC: Bluetooth MAC Address: d0:cf:13:03:bb:f2
I (6481) Airhub1: BOOT button clicked
I (6481) Airhub1: 🔄 BOOT按键触发设备状态=1WiFi连接状态=未连接
I (6481) Airhub1: 🔄 开始重置WiFi配置清除已保存的WiFi凭据
I (6481) Airhub1: ✅ 已清除所有WiFi凭据设备将进入配网模式
I (6481) WifiBoard: 🔄 重置WiFi配置设备将重启进入配网模式
I (6491) WifiBoard: 🔄 [reset_task] 开始播放配网音效...
I (6681) Airhub1: ADC: 2360, 原始电压: 2.36V, 计算电池电压: 10.24V, 电量: 100%, 满电电压: 4.20V
I (6681) BluetoothMAC: Bluetooth MAC Address: d0:cf:13:03:bb:f2
I (7681) Airhub1: ADC: 2361, 原始电压: 2.36V, 计算电池电压: 10.25V, 电量: 100%, 满电电压: 4.20V
I (7681) BluetoothMAC: Bluetooth MAC Address: d0:cf:13:03:bb:f2
I (8351) WifiBoard: 🔄 [reset_task] 配网音效播放完成
I (8361) WifiBoard: 🔄 [reset_task] 正在重启设备...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x2b (SPI_FAST_FLASH_BOOT)
Saved PC:0x40379d55
--- 0x40379d55: esp_restart_noos at /Users/rdzleo/esp/esp-idf/components/esp_system/port/soc/esp32s3/system_internal.c:162
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x56c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xb88
load:0x403cb700,len:0x2df4
entry 0x403c88f4
I (49) WeatherApi: 初始化天气API配置 - 默认城市: 北京
I (49) WeatherApi: WiFi位置缓存限制已设置为: 5 条
I (50) coexist: coex firmware version: 831ec70
I (50) coexist: coexist rom version e7ae62f
I (50) main_task: Started on CPU0
I (60) main_task: Calling app_main()
I (80) BackgroundTask: background_task started
I (80) BluetoothProvisioning: 蓝牙配网对象创建完成
I (80) WifiBoard: force_ap is set to 1, will clear in StartNetwork()
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) Airhub1: Initializing I2C master bus for audio codec...
I (80) Airhub1: Scanning I2C bus for devices...
I (80) Airhub1: I2C设备在线: 0x18
I (80) Airhub1: I2C设备在线: 0x40
I (80) Airhub1: I2C scan completed. Found 2 devices
I (80) DZBJ: 开始初始化显示硬件...
I (80) gpio: GPIO[7]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (80) st77916: LCD panel create success, version: 1.0.1
W (210) st77916: The 3Ah command has been used and will be overwritten by external initialization sequence
I (330) LCD: TEON enabled (V-Blank mode)
I (330) LCD: LCD GRAM cleared (black filled)
I (330) DZBJ: LCD 硬件初始化完成
I (330) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:2
I (330) gpio: GPIO[6]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (730) CST816S: IC id: 182
I (730) LCD: Touch controller initialized successfully
I (730) DZBJ: 数字人 EAF 模式: 跳过 LVGL 初始化,等待 esp_emote_gfx 接管
I (730) Airhub1: 🔵 配网模式: 跳过 EAF 数字人, 显示静态背景图 (省 DRAM 给 BLE)
I (1220) Airhub1: 🖼 配网模式背景图加载成功 360x360 (RGB565 @PSRAM, 分 6 块画完)
I (1320) Airhub1: 🤖 AI对话模式启动
I (1320) Airhub1: 初始化按钮...
I (1320) Airhub1: Boot button initialized on GPIO0
I (1320) Airhub1: Volume up button initialized on GPIO-1
I (1320) Airhub1: Volume down button initialized on GPIO-1
I (1320) Airhub1: 故事按键已初始化GPIO引脚 =4
I (1320) Airhub1: 所有按键已成功初始化!
I (1320) Airhub1: IMU传感器未初始化跳过IoT注册
I (1320) Airhub1: 配网模式跳过电池检测、IMU传感器、低功耗管理
I (1320) Airhub1: 电容触摸板按钮已禁用 (ENABLE_TOUCH_PAD_BUTTONS=0)
I (1320) Application: 打印设置设备状态日志: starting
I (1320) Application: 正常启动流程,将执行开机播报和网络连接播报
I (1320) Airhub1: Initializing audio codec (output only)...
I (1320) Airhub1: Creating BoxAudioCodec (ES8311, without reference) ...
I (1320) BoxAudioCodec: TX-only channel created (provisioning mode)
I (1320) ES8311: Work in Slave mode
I (1330) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1330) BoxAudioCodec: BoxAudioDevice initialized (output only)
I (1330) Airhub1: Audio codec initialized successfully
I (1330) Application: 配网模式:跳过 Opus 编码器、输入重采样器、麦克风输入
I (1330) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (1330) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (1340) Adev_Codec: Open codec device OK
I (1340) AudioCodec: Set output enable to true
I (1340) AudioCodec: Audio codec started (output only, provisioning mode)
I (1350) AudioCodec: 将运行时输出音量设置为80
I (1350) Application: 设备启动完成,播放开机播报语音
I (1360) WifiBoard: force_ap cleared to 0
I (1360) WifiBoard: 🔵 进入配网模式 - BLE蓝牙配网
I (1360) WifiBoard: 🔵 进入配网模式 - 使用BLE蓝牙配网
I (1360) WifiBoard: 🔵 正在启动BLE蓝牙配网服务...
I (1360) Application: 🎵 测试模式:音频开始播放,等待播放完成
I (1360) Application: ✅ 测试模式:音频播放完成
I (1360) BluetoothProvisioning: 🔄 配网状态变化: IDLE -> INITIALIZING
I (1360) BluetoothProvisioning: 初始化WiFi...
I (1360) pp: pp rom version: e7ae62f
I (1360) net80211: net80211 rom version: e7ae62f
I (1370) wifi:wifi driver task: 3fce48cc, prio:23, stack:6656, core=0
I (1370) wifi:wifi firmware version: 3263cda
I (1370) wifi:wifi certification version: v7.0
I (1370) wifi:config NVS flash: enabled
I (1370) wifi:config nano formatting: disabled
I (1370) wifi:Init data frame dynamic rx buffer num: 32
I (1370) wifi:Init dynamic rx mgmt buffer num: 5
I (1370) wifi:Init management short buffer num: 32
I (1370) wifi:Init static tx buffer num: 8
I (1370) wifi:Init tx cache buffer num: 32
I (1370) wifi:Init static tx FG buffer num: 2
I (1370) wifi:Init static rx buffer size: 1600
I (1370) wifi:Init static rx buffer num: 10
I (1370) wifi:Init dynamic rx buffer num: 32
I (1380) wifi_init: rx ba win: 16
I (1380) wifi_init: accept mbox: 6
I (1380) wifi_init: tcpip mbox: 32
I (1380) wifi_init: udp mbox: 6
I (1380) wifi_init: tcp mbox: 6
I (1380) wifi_init: tcp tx win: 5760
I (1380) wifi_init: tcp rx win: 5760
I (1380) wifi_init: tcp mss: 1440
I (1380) wifi_init: WiFi/LWIP prefer SPIRAM
I (1380) phy_init: phy_version 701,f4f1da3a,Mar 3 2025,15:50:10
I (1430) phy_init: Saving new calibration data due to checksum failure or outdated calibration data, mode(0)
I (1440) wifi:mode : sta (d0:cf:13:03:bb:f0)
I (1440) wifi:enable tsf
I (1450) BluetoothProvisioning: WiFi初始化完成
I (1450) BluetoothProvisioning: 初始化蓝牙控制器...
I (1450) BLE_INIT: BT controller compile version [2edb0b0]
I (1450) BLE_INIT: Using main XTAL as clock source
I (1450) BLE_INIT: Feature Config, ADV:1, BLE_50:0, DTM:1, SCAN:1, CCA:0, SMP:1, CONNECT:1
I (1450) BLE_INIT: Bluetooth MAC: d0:cf:13:03:bb:f2
I (1450) BluetoothProvisioning: 初始化Bluedroid协议栈...
E (1450) BT_LOG: BTU_StartUp Unable to allocate resources for bt_workqueue
assert failed: vQueueDelete queue.c:2355 (pxQueue)
Backtrace: 0x40379e11:0x3fcc10e0 0x4038bd8d:0x3fcc1100 0x40393655:0x3fcc1120 0x4038c6d6:0x3fcc1240 0x42054679:0x3fcc1260 0x420570cb:0x3fcc1280 0x4203e6bb:0x3fcc12a0 0x4203e2d4:0x3fcc12c0 0x4203e373:0x3fcc12e0 0x42032564:0x3fcc1310 0x4202df5a:0x3fcc1330 0x420522b5:0x3fcc1360 0x4205475d:0x3fcc1380
--- 0x40379e11: panic_abort at /Users/rdzleo/esp/esp-idf/components/esp_system/panic.c:469
--- 0x4038bd8d: esp_system_abort at /Users/rdzleo/esp/esp-idf/components/esp_system/port/esp_system_chip.c:87
--- 0x40393655: __assert_func at /Users/rdzleo/esp/esp-idf/components/newlib/assert.c:80
--- 0x4038c6d6: vQueueDelete at /Users/rdzleo/esp/esp-idf/components/freertos/FreeRTOS-Kernel/queue.c:2355
--- 0x42054679: osi_mutex_free at /Users/rdzleo/esp/esp-idf/components/bt/common/osi/mutex.c:72
--- 0x420570cb: bta_sys_free at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/bta/sys/bta_sys_main.c:195
--- 0x4203e6bb: btu_task_shut_down at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/stack/btu/btu_task.c:293
--- 0x4203e2d4: BTU_ShutDown at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/stack/btu/btu_init.c:218
--- 0x4203e373: BTU_StartUp at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/stack/btu/btu_init.c:201
--- 0x42032564: bte_main_enable at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/main/bte_main.c:140
--- (inlined by) bte_main_boot_entry at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/main/bte_main.c:92
--- 0x4202df5a: btc_init_bluetooth at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/btc/core/btc_main.c:56
--- (inlined by) btc_main_call_handler at /Users/rdzleo/esp/esp-idf/components/bt/host/bluedroid/btc/core/btc_main.c:104
--- 0x420522b5: btc_thread_handler at /Users/rdzleo/esp/esp-idf/components/bt/common/btc/core/btc_task.c:287
--- 0x4205475d: osi_thread_run at /Users/rdzleo/esp/esp-idf/components/bt/common/osi/thread.c:165
ELF file SHA256: 71ac14ba2
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x2b (SPI_FAST_FLASH_BOOT)
Saved PC:0x40379d55
--- 0x40379d55: esp_restart_noos at /Users/rdzleo/esp/esp-idf/components/esp_system/port/soc/esp32s3/system_internal.c:162
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x56c
load:0x403c8700,len:0x4
load:0x403c8704,len:0xb88
load:0x403cb700,len:0x2df4
entry 0x403c88f4
I (49) WeatherApi: 初始化天气API配置 - 默认城市: 北京
I (49) WeatherApi: WiFi位置缓存限制已设置为: 5 条
I (50) coexist: coex firmware version: 831ec70
I (50) coexist: coexist rom version e7ae62f
I (50) main_task: Started on CPU0
I (60) main_task: Calling app_main()
I (80) BackgroundTask: background_task started
I (80) BluetoothProvisioning: 蓝牙配网对象创建完成
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[0]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) button: IoT Button Version: 3.5.0
I (80) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (80) Airhub1: Initializing I2C master bus for audio codec...
I (80) Airhub1: Scanning I2C bus for devices...
I (80) Airhub1: I2C设备在线: 0x18
I (80) Airhub1: I2C设备在线: 0x40
I (80) Airhub1: I2C scan completed. Found 2 devices
I (80) DZBJ: 开始初始化显示硬件...
I (80) gpio: GPIO[7]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (80) st77916: LCD panel create success, version: 1.0.1
W (210) st77916: The 3Ah command has been used and will be overwritten by external initialization sequence
I (330) LCD: TEON enabled (V-Blank mode)
I (330) LCD: LCD GRAM cleared (black filled)
I (330) DZBJ: LCD 硬件初始化完成
I (330) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:2
I (330) gpio: GPIO[6]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (730) CST816S: IC id: 182
I (730) LCD: Touch controller initialized successfully
I (730) DZBJ: 数字人 EAF 模式: 跳过 LVGL 初始化,等待 esp_emote_gfx 接管
I (730) AI_CHAT_EAF: ============================
I (730) AI_CHAT_EAF: === EAF 数字人 UI 初始化 ===
I (730) AI_CHAT_EAF: ============================
I (730) AI_CHAT_EAF: SPIFFS 未挂载,自动挂载到 /spiflash...
I (920) AI_CHAT_EAF: SPIFFS 已就绪: total=4640 KB, used=4513 KB
I (920) AI_CHAT_EAF: 解析 hiyori-assets.bin:
I (920) AI_CHAT_EAF: MMAP file_count=9
I (920) AI_CHAT_EAF: MMAP 版本=旧版(0x10), ENTRY_SIZE=28
I (920) AI_CHAT_EAF: 跳过非 EAF: index.json (size=1135)
I (1240) AI_CHAT_EAF: ✓ Cached [0] hiyori_m01.eaf (833884 bytes) @ 0x3c41502c (file_offset=1423)
I (1530) AI_CHAT_EAF: ✓ Cached [1] hiyori_m02.eaf (528479 bytes) @ 0x3c4e1044 (file_offset=835309)
I (1840) AI_CHAT_EAF: ✓ Cached [2] hiyori_m03.eaf (576910 bytes) @ 0x3c565048 (file_offset=1363790)
I (2140) AI_CHAT_EAF: ✓ Cached [3] hiyori_m04.eaf (572724 bytes) @ 0x3c5f504c (file_offset=1940702)
I (2470) AI_CHAT_EAF: ✓ Cached [4] hiyori_m05.eaf (620157 bytes) @ 0x3c681050 (file_offset=2513428)
I (2720) AI_CHAT_EAF: ✓ Cached [5] hiyori_m06.eaf (433214 bytes) @ 0x3c719054 (file_offset=3133587)
I (2960) AI_CHAT_EAF: ✓ Cached [6] hiyori_m07.eaf (387868 bytes) @ 0x3c783058 (file_offset=3566803)
I (3270) AI_CHAT_EAF: ✓ Cached [7] hiyori_m08.eaf (579193 bytes) @ 0x3c7e305c (file_offset=3954673)
I (3270) AI_CHAT_EAF: EAF 预加载完成,共 8 个表情可用
I (3222) timer: init timer manager: fps=25 period=40 ms
I (3400) AI_CHAT_EAF: 背景图已加载: 360x360 (253 KB RGB565 @ 0x3c875064)
I (3430) AI_CHAT_EAF: 切换表情: hiyori_m06.eaf (idx=5, size=433214)
I (3470) AI_CHAT_EAF: 字幕 label 创建成功300×90, 黑字, WRAP, 居中)
I (3470) AI_CHAT_EAF: === EAF 数字人 UI 初始化完成 ===
I (3570) Airhub1: 🤖 AI对话模式启动
I (3570) Airhub1: 初始化按钮...
I (3570) Airhub1: Boot button initialized on GPIO0
I (3570) Airhub1: Volume up button initialized on GPIO-1
I (3570) Airhub1: Volume down button initialized on GPIO-1
I (3570) Airhub1: 故事按键已初始化GPIO引脚 =4
I (3580) Airhub1: 所有按键已成功初始化!
I (3580) Airhub1: IMU传感器未初始化跳过IoT注册
I (3580) Airhub1: Initializing battery monitor...
I (3580) Airhub1: ADC calibration initialized
I (3580) Airhub1: 电池状态监控已初始化GPIO:3
I (3580) Airhub1: 非生产测试模式且不在对话状态,姿态传感器业务已禁用以节约资源
I (3580) PowerSaveTimer: Power save timer enabled
I (3580) Airhub1: 🔋 PowerSaveTimer已启用20秒无活动将进入低功耗模式
I (3580) Airhub1: 电容触摸板按钮已禁用 (ENABLE_TOUCH_PAD_BUTTONS=0)
I (3580) Application: 打印设置设备状态日志: starting
I (3580) Application: 正常启动流程,将执行开机播报和网络连接播报
I (3580) Airhub1: Initializing audio codec (duplex)...
I (3580) Airhub1: Creating BoxAudioCodec (ES8311+ES7210, without reference) ...
I (3580) BoxAudioCodec: Duplex channels created
I (3590) ES8311: Work in Slave mode
I (3590) gpio: GPIO[48]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (3590) ES7210: Work in Slave mode
I (3600) ES7210: Enable ES7210_INPUT_MIC1
I (3600) ES7210: Enable ES7210_INPUT_MIC2
I (3610) BoxAudioCodec: BoxAudioDevice initialized (duplex)
I (3610) Airhub1: Audio codec initialized successfully
I (3610) Application: 检测到WiFi板卡将opus编码器复杂度设置为3
I (3610) OpusResampler: Resampler configured with input sample rate 16000, output sample rate 8000, and channels 1
I (3610) I2S_IF: channel mode 2 bits:16/16 channel:2 mask:1
I (3610) I2S_IF: TDM Mode 0 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3610) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (3610) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3610) ES7210: Bits 16
I (3650) ES7210: Enable ES7210_INPUT_MIC1
I (3650) ES7210: Enable ES7210_INPUT_MIC2
I (3660) ES7210: Unmuted
I (3660) Adev_Codec: Open codec device OK
I (3660) BoxAudioCodec: Input opened: sr=16000 ch=1 mask=0x1 ref=0
I (3660) AudioCodec: Set input enable to true
I (3660) I2S_IF: channel mode 0 bits:16/16 channel:2 mask:1
I (3660) I2S_IF: STD Mode 1 bits:16/16 channel:2 sample_rate:16000 mask:1
I (3680) Adev_Codec: Open codec device OK
I (3680) AudioCodec: Set output enable to true
I (3680) AudioCodec: Audio codec started
I (3680) AudioCodec: 将运行时输出音量设置为80
I (3680) Application: 设备启动完成,播放开机播报语音
I (3680) pp: pp rom version: e7ae62f
I (3680) net80211: net80211 rom version: e7ae62f
I (3690) wifi:wifi driver task: 3fce4ea0, prio:23, stack:6656, core=0
I (3690) wifi:wifi firmware version: 3263cda
I (3690) wifi:wifi certification version: v7.0
I (3690) wifi:config NVS flash: disabled
I (3690) wifi:config nano formatting: disabled
I (3690) wifi:Init data frame dynamic rx buffer num: 32
I (3690) wifi:Init dynamic rx mgmt buffer num: 5
I (3690) wifi:Init management short buffer num: 32
I (3690) wifi:Init static tx buffer num: 8
I (3690) wifi:Init tx cache buffer num: 32
I (3690) wifi:Init static tx FG buffer num: 2
I (3690) wifi:Init static rx buffer size: 1600
I (3690) wifi:Init static rx buffer num: 10
I (3690) wifi:Init dynamic rx buffer num: 32
I (3700) wifi_init: rx ba win: 16
I (3700) wifi_init: accept mbox: 6
I (3700) wifi_init: tcpip mbox: 32
I (3700) wifi_init: udp mbox: 6
I (3710) wifi_init: tcp mbox: 6
I (3710) wifi_init: tcp tx win: 5760
I (3710) wifi_init: tcp rx win: 5760
I (3710) wifi_init: tcp mss: 1440
I (3710) wifi_init: WiFi/LWIP prefer SPIRAM
I (3710) phy_init: phy_version 701,f4f1da3a,Mar 3 2025,15:50:10
I (3740) phy_init: Saving new calibration data due to checksum failure or outdated calibration data, mode(0)
I (3740) Application: 开始播放下行音频: 样本=960 采样率=16000
I (3790) wifi:mode : sta (d0:cf:13:03:bb:f0)
I (3790) wifi:enable tsf
I (4680) Airhub1: ADC: 2328, 原始电压: 2.33V, 计算电池电压: 10.10V, 电量: 100%, 满电电压: 4.20V
I (4680) BluetoothMAC: Bluetooth MAC Address: d0:cf:13:03:bb:f2
--- Error: read failed: [Errno 6] Device not configured
--- Waiting for the device to reconnect......

View File

@ -159,15 +159,16 @@ 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
# RTC + BLE 配网项目必须开启: Bluedroid host 动态分配优先走 PSRAM, 避免 future_new/gatt_init OOM
CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=n
CONFIG_BT_RESERVE_DRAM=0x10000
# BluFi 未被代码使用(两种模式均用自定义 GATT Server关闭以兼容 BLE 5.0
# BluFi 未被代码使用(两种模式均用自定义 GATT Server关闭以减少无关兼容风险
CONFIG_BT_BLUFI_ENABLED=n
CONFIG_BT_BLE_BLUFI_ENABLE=n
# BLE 5.0 启用 2M PHY 支持(图传速度翻倍)
CONFIG_BT_BLE_50_FEATURES_SUPPORTED=y
# 数字人 RTC / BLE 配网只使用 legacy advertising, 关闭 BLE 5.0 释放 controller DRAM
CONFIG_BT_BLE_50_FEATURES_SUPPORTED=n
# 同时保留 BLE 4.2 legacy advertising两种模式的广播和 GATT 都依赖)
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
@ -175,6 +176,9 @@ CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
# 火山 RTC SDK 启动需要较多 socket fd, 10 个会偶发 ICE bind/connect 失败
CONFIG_LWIP_MAX_SOCKETS=20
# === Baji RTC Toy 模式开关 ===
# 数字人 RTC 单一形态固件CONFIG_BAJI_BADGE_MODE=n
# 双模式AI + 电子吧唧固件CONFIG_BAJI_BADGE_MODE=y

View File

@ -11,6 +11,10 @@ CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=8192
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=65536
CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y
# RTC + BLE 配网项目必须开启: 将 BT/WiFi/LWIP 等 .bss/.noinit 放到 PSRAM,
# 释放内部 SRAM 给 BT controller 的 ADV_DATA / SCAN_RSP / connection buffer
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y
CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY=y
CONFIG_SPIRAM_MEMTEST=n
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
@ -31,4 +35,3 @@ CONFIG_LV_USE_GIF=y
# LVGL 使用标准 malloc大块分配走 PSRAMgifdec 需要 ~500KB
CONFIG_LV_MEM_CUSTOM=y
CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h"