feat(platform): migrate LCD assets to PNG and expand flash partitions
This commit is contained in:
@@ -192,7 +192,7 @@ flowchart LR
|
||||
PlatformReq["platform_lcd_request_presentation()"]
|
||||
Pending["lcd_direct pending request"]
|
||||
Render["cp_lcd_render loop"]
|
||||
Draw["draw RLE asset frame\nfrom /littlefs/lcd"]
|
||||
Draw["decode PNG asset frame\nfrom /littlefs/lcd"]
|
||||
Panel["ST7789 panel"]
|
||||
|
||||
CP --> DomainReq --> Resolve --> Catalog --> PlatformReq --> Pending --> Render --> Draw --> Panel
|
||||
|
||||
@@ -62,16 +62,18 @@ Transport disconnect/error events are not server error expressions.
|
||||
|
||||
## Asset Migration Direction
|
||||
|
||||
The target image playback path is a platform-owned direct LCD asset pipeline.
|
||||
The reference project at `D:\Code\chaowan\lcd(1)\lcd` uses compiled RLE image
|
||||
arrays plus a small decoder/write path. When this is ported:
|
||||
The image playback path is a platform-owned direct LCD asset pipeline. Runtime
|
||||
PNG files are stored in the `gifpack` LittleFS partition, decoded through
|
||||
`lodepng`, converted to RGB565 in PSRAM, and written to the ST7789 panel through
|
||||
the existing bounded row-transfer buffer.
|
||||
|
||||
- RLE decode and ST7789 writes stay inside `platform`.
|
||||
- PNG decode, the bounded four-entry LRU cache, and ST7789 writes stay inside
|
||||
`platform`.
|
||||
- Domain continues to map semantic expressions to short asset IDs or names.
|
||||
- Upper layers continue to use `domain_runtime_request_expression()`.
|
||||
- Large image data should not be blindly compiled into the app if it risks
|
||||
exceeding the OTA partition; prefer partition-backed resources for large
|
||||
frame sets.
|
||||
- Runtime LCD assets must be added to the explicit PNG allowlist in
|
||||
`components/platform/CMakeLists.txt`; files that only exist in the source
|
||||
directory are not packaged automatically.
|
||||
|
||||
## Requesting Expressions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user