diff --git a/.vscode/settings.json b/.vscode/settings.json index a25c97e..73e8293 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -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", diff --git a/05-最新日志.txt b/05-最新日志.txt index a6aa9e1..dc91679 100644 --- a/05-最新日志.txt +++ b/05-最新日志.txt @@ -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% \ No newline at end of file +'/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按键触发:设备状态=1,WiFi连接状态=未连接 +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按键触发:设备状态=1,WiFi连接状态=未连接 +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按键触发:设备状态=1,WiFi连接状态=未连接 +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...... \ No newline at end of file diff --git a/sdkconfig.defaults b/sdkconfig.defaults index 2ca56dc..7972ab6 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -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 diff --git a/sdkconfig.defaults.esp32s3 b/sdkconfig.defaults.esp32s3 index 250dad6..946184f 100644 --- a/sdkconfig.defaults.esp32s3 +++ b/sdkconfig.defaults.esp32s3 @@ -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(大块分配走 PSRAM,gifdec 需要 ~500KB) CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_MEM_CUSTOM_INCLUDE="stdlib.h" -