e-paper RAM persists between refreshes, but the decoder reset the accumulated window union on every 0x20 MASTER_ACTIVATION. A PARTIAL refresh (BadgeOS redraws only a strip when you navigate) then set a small window, so composeFrame emitted just that strip, placed top-left with the rest black — reading as a 90°-rotated screen with a black band down the side. Keep the union (and the greyscale flag) across refreshes so it stays at the full-panel extent set by the first full refresh; every frame now composes the whole persistent RAM and partial updates land in place. Cleared only by a real RST (0x12). Paged full refreshes (GxEPD2) re-cover the panel each frame so they are unchanged; the BadgeOS menu render is byte-identical and all 23 decoder/epaper tests pass. |
||
|---|---|---|
| .. | ||
| EPaperPanels.ts | ||
| SSD168xDecoder.ts | ||
| UC8159cDecoder.ts | ||
| Uc8179Decoder.ts | ||