feat(lcd): add cached listening animation and asset guidelines

This commit is contained in:
chenjintao
2026-10-09 18:01:32 +08:00
parent c0770ac459
commit 22f5ac70a2
32 changed files with 3384 additions and 35 deletions
@@ -17,6 +17,10 @@ typedef struct {
extern const lcd_emote_rle_asset_t idle_base_rle_asset;
extern const lcd_emote_rle_asset_t idle_eyes_open_rle_asset;
extern const lcd_emote_rle_asset_t listening_base_rle_asset;
extern const lcd_emote_rle_asset_t listening_eyes_open_rle_asset;
extern const lcd_emote_rle_asset_t listening_eyes_half_rle_asset;
extern const lcd_emote_rle_asset_t listening_eyes_closed_rle_asset;
/* 调用方提供至少 pixel_count * 3 字节。拒绝截断、越界或像素数不符的流。 */
bool lcd_emote_decode_rle(const uint8_t *src, size_t src_size,
@@ -0,0 +1,8 @@
#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
/* 关键帧为 RGB565 大端色彩平面;透明区必须是零色值。输出也是大端 RGB565。 */
bool lcd_emote_listening_build_frame(uint8_t *dst, uint16_t width, uint16_t height,
const uint8_t *keys[3], uint8_t closure);