feat(lcd): add compressed GFX idle expression animation

Integrate esp_emote_gfx for idle rendering with symmetric mesh-based blinking and LCD DMA flush synchronization.

Store cropped face layers with lossless RLE, decode once into PSRAM, and retain the PNG backend for other expressions. Include source layers and asset generation tools.
This commit is contained in:
chenjintao
2026-10-09 14:19:16 +08:00
parent 7bc9a3dc76
commit f6408be05b
21 changed files with 1554 additions and 5 deletions
+11
View File
@@ -638,6 +638,17 @@ menu "TQ Cat Configuration"
help
Stack size in bytes for the control-plane LCD render worker.
config TQ_LCD_EMOTE_GFX_TEST
bool "Use esp_emote_gfx for the idle expression (experimental)"
default n
depends on TQ_SCREEN_ENABLE
help
Render the idle face as a static RGB565 background plus an
RGB565A8 eye layer. Only the eye region is refreshed while
blinking. Other presentations continue to use the existing
full-screen PNG renderer. This test path currently omits the
clock and battery overlays from the idle screen.
config TQ_SCREEN_COLOR_ORDER_BGR
bool "Use BGR color order"
default n