feat(lcd): animate fortune results with shared GFX layers

This commit is contained in:
chenjintao
2026-10-10 11:36:54 +08:00
parent bf06618848
commit ee32b4d63f
26 changed files with 3063 additions and 11 deletions
+7 -4
View File
@@ -639,7 +639,7 @@ menu "TQ Cat Configuration"
Stack size in bytes for the control-plane LCD render worker.
config TQ_LCD_EMOTE_GFX_TEST
bool "Use esp_emote_gfx for idle and listening expressions (experimental)"
bool "Use esp_emote_gfx for idle, listening and fortune animations (experimental)"
default n
depends on TQ_SCREEN_ENABLE
help
@@ -647,18 +647,21 @@ menu "TQ Cat Configuration"
RGB565A8 eye layer. Only the eye region is refreshed while
blinking. Listening uses three compressed key shapes to generate
a local eye-frame cache once. Both expressions share the display,
DMA staging and clock/battery overlay. Other presentations use
DMA staging and clock/battery overlay. Fortune sequences share
layered paw textures and five original result texts, decoded
only for one playback and freed afterward. Other presentations use
the existing PNG renderer; listening falls back to PNG if its
cache allocation fails.
config TQ_LCD_EMOTE_FPS_LOG
bool "Log measured GFX blink FPS"
bool "Log measured GFX animation FPS"
depends on TQ_LCD_EMOTE_GFX_TEST
default n
help
Log once per completed blink: measured step FPS, actual eye
update FPS, draw time and deadline overruns. Excludes the idle
open-eye pause. This does not measure panel scan rate.
open-eye pause. Fortune logs once per motion segment, excluding
the final hold. This does not measure panel scan rate.
config TQ_SCREEN_COLOR_ORDER_BGR
bool "Use BGR color order"