1280x720 sind 2,4-mal so viele Pixel wie beim 4,3-Zöller, und bis 1.6.3 wurde bei jeder Änderung das komplette Bild in 24 Bit neu gezeichnet. Drei Schalter in pins_config.h, einzeln zurückstellbar:
WS7_COLOR_BITS = 16: RGB565 statt RGB888, halbe Datenmenge je Bild. lv_conf.h liest den Wert aus pins_config.h, damit Sketch und LVGL-Bibliothek dieselbe Farbtiefe benutzen; per static_assert abgesichert.
WS7_PARTIAL_REFRESH = 1: Avoid-Tear-Mode 3 (Direct-Mode, zwei Puffer) statt Vollbild-Neuzeichnen.
WS7_PARALLEL_RENDER = 1: LV_USE_OS = FREERTOS und zwei Zeichen-Threads auf beiden Kernen.
Framebuffer-Bedarf sinkt von rund 8,3 MB auf 3,7 MB PSRAM. Die JC-Panels sind nicht betroffen. Mit arduino-cli übersetzt; die wirksamen Werte wurden zusätzlich im Präprozessorlauf der LVGL-Bibliothek gegengeprüft.
Die README nennt zu jedem Schalter, woran man erkennt, dass er zurückgestellt werden muss.
1280x720 sind 2,4-mal so viele Pixel wie beim 4,3-Zöller, und bis 1.6.3 wurde bei jeder Änderung das komplette Bild in 24 Bit neu gezeichnet. Drei Schalter in `pins_config.h`, einzeln zurückstellbar:
- `WS7_COLOR_BITS = 16`: RGB565 statt RGB888, halbe Datenmenge je Bild. `lv_conf.h` liest den Wert aus `pins_config.h`, damit Sketch und LVGL-Bibliothek dieselbe Farbtiefe benutzen; per `static_assert` abgesichert.
- `WS7_PARTIAL_REFRESH = 1`: Avoid-Tear-Mode 3 (Direct-Mode, zwei Puffer) statt Vollbild-Neuzeichnen.
- `WS7_PARALLEL_RENDER = 1`: `LV_USE_OS = FREERTOS` und zwei Zeichen-Threads auf beiden Kernen.
Framebuffer-Bedarf sinkt von rund 8,3 MB auf 3,7 MB PSRAM. Die JC-Panels sind nicht betroffen. Mit arduino-cli übersetzt; die wirksamen Werte wurden zusätzlich im Präprozessorlauf der LVGL-Bibliothek gegengeprüft.
Die README nennt zu jedem Schalter, woran man erkennt, dass er zurückgestellt werden muss.
1280x720 sind 2,4-mal so viele Pixel wie beim 4,3-Zöller, und bis 1.6.3 wurde
bei jeder Änderung das komplette Bild in 24 Bit neu gezeichnet. Drei Schalter
in pins_config.h, einzeln zurückstellbar:
- WS7_COLOR_BITS = 16: RGB565 statt RGB888, halbe Datenmenge je Bild.
lv_conf.h liest den Wert aus pins_config.h, damit Sketch und LVGL-Bibliothek
dieselbe Farbtiefe benutzen; display_hal.cpp sichert das per static_assert.
- WS7_PARTIAL_REFRESH = 1: Avoid-Tear-Mode 3 (Direct-Mode, zwei Puffer) statt
Vollbild-Neuzeichnen.
- WS7_PARALLEL_RENDER = 1: LV_USE_OS = FREERTOS und zwei Zeichen-Threads.
Framebuffer-Bedarf sinkt dadurch von rund 8,3 MB auf 3,7 MB PSRAM. Die
JC-Panels sind von allen drei Schaltern nicht betroffen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018QoLDQeUh1dCQz7yYZVb4Y
thomas
merged commit 8b7978507c into main2026-09-01 12:52:55 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
1280x720 sind 2,4-mal so viele Pixel wie beim 4,3-Zöller, und bis 1.6.3 wurde bei jeder Änderung das komplette Bild in 24 Bit neu gezeichnet. Drei Schalter in
pins_config.h, einzeln zurückstellbar:WS7_COLOR_BITS = 16: RGB565 statt RGB888, halbe Datenmenge je Bild.lv_conf.hliest den Wert auspins_config.h, damit Sketch und LVGL-Bibliothek dieselbe Farbtiefe benutzen; perstatic_assertabgesichert.WS7_PARTIAL_REFRESH = 1: Avoid-Tear-Mode 3 (Direct-Mode, zwei Puffer) statt Vollbild-Neuzeichnen.WS7_PARALLEL_RENDER = 1:LV_USE_OS = FREERTOSund zwei Zeichen-Threads auf beiden Kernen.Framebuffer-Bedarf sinkt von rund 8,3 MB auf 3,7 MB PSRAM. Die JC-Panels sind nicht betroffen. Mit arduino-cli übersetzt; die wirksamen Werte wurden zusätzlich im Präprozessorlauf der LVGL-Bibliothek gegengeprüft.
Die README nennt zu jedem Schalter, woran man erkennt, dass er zurückgestellt werden muss.