✅ 验证完成: - 音频卡顿明显改善(用户实测) - 数字人 hiyori 动画正常显示 - nm 验证:固件中 0 个 lv_*/lvgl_* 函数符号 - kapi.bin: 4.7MB → 2.75MB(-42%) 关键改动: - main/dzbj/ai_chat_ui_eaf.c (404 行新增): 完全替代 LVGL 版 ai_chat_ui.c,提供同名 C API(ai_chat_screen_init / set_status / set_emotion / set_chat_message / resume_animation)。 AiChatDisplay C++ 桥接层无需改动。 内部用 gfx_emote_init + gfx_disp_add + gfx_anim + mmap_assets。 - main/CMakeLists.txt:双轨编译 CONFIG_BAJI_BADGE_MODE=y → ai_chat_ui.c (LVGL) + bg_gif_demo.c CONFIG_BAJI_BADGE_MODE=n → ai_chat_ui_eaf.c (esp_emote_gfx) - main/dzbj/dzbj_init.c:EAF 模式跳过 lvgl_lcd_init() 调用 - main/dzbj/lcd.c/h:暴露 lcd_io_handle 给 EAF 注册 IO 完成回调 踩坑修复(commit message 留档供后续参考): 1. esp_mmap_assets v2.0.0 在 use_fs=true 模式下 mmap_assets_get_mem() 返回的是文件内偏移量而非 RAM 指针(fseek bug + offset 没加 data_section_start),导致 LoadProhibited panic。 解决:完全绕过 mmap_assets,自己 fopen + 解析 MMAP bin 头 (layout: 头 16B + 每 entry 28B + data 段每文件 2B magic + 数据)。 2. esp_emote_gfx 期望 esp_lcd_touch v2.x 新 API,项目用 v1.1.2 旧 API。 在 managed_components 内 gfx_touch.c 加 shim 桥接(local patch, reconfigure 后需 reapply)。 3. EAF format magic 是 0x89 'EAF'(gfx_eaf_dec.h),不是 0x5A5A (那是 esp_mmap_assets 内部文件分隔符)。 4. SPIFFS 需要在 ai_chat_screen_init 入口自动挂载(不能依赖 bg_gif_demo 的惰性挂载,那个已被 CONFIG 排除)。 依赖增量: - espressif2022/esp_emote_gfx: ~3.0.5 - espressif/esp_mmap_assets: * (仅用于声明依赖,运行时被绕过) 数字人模式核心 UI 范围: - 显示数字人动画 ✅ (hiyori_m06/m07, 居中循环) - 情绪 → GIF 映射 ✅ (23 情绪 → 2 EAF,sad/angry 暂用 m07,m03 待补) - 字幕/状态文字: stub ⏳(字体接驳留待后续,需打包 .bin 字体到资源) - 触摸: 不支持(PoC 阶段不需要) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
316 lines
8.9 KiB
Plaintext
316 lines
8.9 KiB
Plaintext
dependencies:
|
|
78/esp-ml307:
|
|
component_hash: 26cac557d258a08b9138186d55b7db193823fe89c6c3cca8f2a9758c4aec1729
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: ^5.3
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.7.3
|
|
78/esp-opus:
|
|
component_hash: 8182b733f071d7bfe1e837f4c9f8649a63e4c937177f089e65772880c02f2e17
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.0.5
|
|
78/esp-opus-encoder:
|
|
dependencies: []
|
|
source:
|
|
path: /Users/rdzleo/Desktop/Baji_Rtc_Toy/components/78__esp-opus-encoder
|
|
type: local
|
|
version: 2.3.3
|
|
78/esp-wifi-connect:
|
|
component_hash: d929539449a555d8de3abc6b239301e899aacc2c06cfb2e66c1b00b04030d864
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.3'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 2.3.2
|
|
espressif/button:
|
|
component_hash: 30a3f495c3862d505ce6e41adbbd218b2750e9723ab2151feff00e9fe685b326
|
|
dependencies:
|
|
- name: espressif/cmake_utilities
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 0.*
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 3.5.0
|
|
espressif/cmake_utilities:
|
|
component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.1'
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
version: 0.5.3
|
|
espressif/dl_fft:
|
|
component_hash: ced3cf28cc70452b7859c06f4e5059215167254a2047e34c893d6f501ccd6ea2
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
version: 0.4.0
|
|
espressif/esp-dsp:
|
|
component_hash: 619639efc18cfa361a9e423739b9b0ffc14991effc6c027f955c2f2c3bf1754b
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.2'
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
version: 1.6.0
|
|
espressif/esp-sr:
|
|
component_hash: 5b74c65141295241e42a18d587abf28b3d438b62560e90168e829c36d751f45a
|
|
dependencies:
|
|
- name: espressif/dl_fft
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: '>=0.2.0'
|
|
- name: espressif/esp-dsp
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 1.6.0
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 2.2.1
|
|
espressif/esp_codec_dev:
|
|
component_hash: 420a8a931f8bdfc74ae89c4d2ce634823d10e1865b1e9bdb8428bfe4a1060def
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.3.6
|
|
espressif/esp_jpeg:
|
|
component_hash: defb83669293cbf86d0fa86b475ba5517aceed04ed70db435388c151ab37b5d7
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.3.1
|
|
espressif/esp_lcd_st77916:
|
|
component_hash: 5fa0f8b1274576d4484e2b8d9358e2a5d09c721511bef0dce6a55b4206b5f0e9
|
|
dependencies:
|
|
- name: espressif/cmake_utilities
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 0.*
|
|
- name: idf
|
|
require: private
|
|
version: '>5.0.4,!=5.1.1'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.0.1
|
|
espressif/esp_lcd_touch:
|
|
component_hash: 779b4ba2464a3ae85681e4b860caa5fdc35801458c23f3039ee761bae7f442a4
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4.2'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.1.2
|
|
espressif/esp_lcd_touch_cst816s:
|
|
component_hash: 51dfa9cee38d8a20f4b625d7f89120dff08c8557e613e09dfb31f53d48648235
|
|
dependencies:
|
|
- name: espressif/esp_lcd_touch
|
|
registry_url: https://components.espressif.com
|
|
require: public
|
|
version: ^1.0.4
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4.2'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.1.0
|
|
espressif/esp_lvgl_port:
|
|
component_hash: bb938deffba7d80b2ce582a796c053681b0439e0a7033666688e0f1f5b921125
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4'
|
|
- name: lvgl/lvgl
|
|
registry_url: https://components.espressif.com
|
|
require: public
|
|
version: '>=8,<10'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 2.5.0
|
|
espressif/esp_mmap_assets:
|
|
component_hash: b7c559238d9f4c11048b1d7302f5474e4f4f590902433efd792bd0cbf5324f2a
|
|
dependencies:
|
|
- name: espressif/cmake_utilities
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 0.*
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 2.0.0
|
|
espressif/esp_new_jpeg:
|
|
component_hash: 98823384f51ca298e2c9bebacd1c629148e528ed0902d18b16556df151519e68
|
|
dependencies: []
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
targets:
|
|
- esp32
|
|
- esp32s2
|
|
- esp32s3
|
|
- esp32s31
|
|
- esp32p4
|
|
- esp32c2
|
|
- esp32c3
|
|
- esp32c5
|
|
- esp32c6
|
|
- esp32c61
|
|
- esp32h4
|
|
version: 1.0.1
|
|
espressif/freetype:
|
|
component_hash: a4169cdd22b3572342b2d640d7082405b8895e3214539283601c03412589b65d
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4'
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
version: 2.14.2
|
|
espressif/knob:
|
|
component_hash: a389d980693ad195b2160de22a72f3391694230188ab16b8f3c7ec4410a7c417
|
|
dependencies:
|
|
- name: espressif/cmake_utilities
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 0.*
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4.1'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 1.0.0
|
|
espressif/led_strip:
|
|
component_hash: 28c6509a727ef74925b372ed404772aeedf11cce10b78c3f69b3c66799095e2d
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=4.4'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 2.5.5
|
|
espressif2022/esp_emote_gfx:
|
|
component_hash: a06a58c74f7deb4186460f27f5e6db52fda4c254d7e03c3e05e7987aaf73de1a
|
|
dependencies:
|
|
- name: espressif/cmake_utilities
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 0.*
|
|
- name: espressif/esp_lcd_touch
|
|
registry_url: https://components.espressif.com
|
|
require: public
|
|
version: '>=1.0'
|
|
- name: espressif/esp_new_jpeg
|
|
registry_url: https://components.espressif.com
|
|
require: public
|
|
version: 1.*
|
|
- name: espressif/freetype
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: 2.*
|
|
- name: idf
|
|
require: private
|
|
version: '>=5.0'
|
|
- name: laride/heatshrink
|
|
registry_url: https://components.espressif.com
|
|
require: private
|
|
version: ^0.4.1
|
|
- name: lvgl/lvgl
|
|
registry_url: https://components.espressif.com
|
|
require: public
|
|
version: '*'
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 3.0.5
|
|
idf:
|
|
source:
|
|
type: idf
|
|
version: 5.4.2
|
|
laride/heatshrink:
|
|
component_hash: 0828b0fea3f0754f8404a5279e883c52fe27494bbe1762e38d5cd96c99229e47
|
|
dependencies:
|
|
- name: idf
|
|
require: private
|
|
version: '>=5'
|
|
source:
|
|
registry_url: https://components.espressif.com
|
|
type: service
|
|
version: 0.4.1
|
|
lvgl/lvgl:
|
|
component_hash: 948bff879a345149b83065535bbc4a026ce9f47498a22881e432a264b9098015
|
|
dependencies: []
|
|
source:
|
|
registry_url: https://components.espressif.com/
|
|
type: service
|
|
version: 8.3.11
|
|
direct_dependencies:
|
|
- 78/esp-ml307
|
|
- 78/esp-opus
|
|
- 78/esp-opus-encoder
|
|
- 78/esp-wifi-connect
|
|
- espressif/button
|
|
- espressif/esp-sr
|
|
- espressif/esp_codec_dev
|
|
- espressif/esp_jpeg
|
|
- espressif/esp_lcd_st77916
|
|
- espressif/esp_lcd_touch
|
|
- espressif/esp_lcd_touch_cst816s
|
|
- espressif/esp_lvgl_port
|
|
- espressif/esp_mmap_assets
|
|
- espressif/knob
|
|
- espressif/led_strip
|
|
- espressif2022/esp_emote_gfx
|
|
- idf
|
|
- lvgl/lvgl
|
|
manifest_hash: 56465d60ff0a813df7f9be998612a4c2bc61e6d560c2f56fd585445d05b25456
|
|
target: esp32s3
|
|
version: 2.0.0
|