3 Commits
Author SHA1 Message Date
patriandClaude Opus 5.5 4fc70f13d0 12-OBD-Speed: settings page with screen rotation (0/90/180/270)
- third tile (swipe left from the menu): rotation buttons, saved in NVS,
  applied at boot
- shared lib: setRotation() rotates only the panel and redraws; touch
  points are converted in touchpad_read() for the current rotation;
  getRotation() added

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:20:35 +02:00
patriandClaude Opus 5.5 6e7206b821 LVGL 9 tuning: CPU 86% -> 53% at full GIF speed (display_gif_embedded)
- render in RGB565_SWAPPED (ST77916 byte order), no swap pass in flush;
  flush swaps only if the display format is plain RGB565 (runtime check,
  the previous #if compared enum values and was always true)
- QSPI clock 50 -> 80 MHz
- LV_ATTRIBUTE_FAST_MEM / FLUSH_READY in IRAM (lv_attr_jc3636w518.h)
- display_gif_embedded: GIF decoded in the display's color format (no alpha)
- tested without gain: LV_GIF_CACHE_DECODE_DATA (unused in 9.6), 120-row buffers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:29:25 +02:00
patriandClaude Opus 5.5 d6982ab7e7 Add shared JC3636W518 board library and PlatformIO config
- shared/lib/JC3636W518: display/touch/backlight init with LVGL 9 glue
  (from scr_st77916.h), pin map, perf monitor (FPS/refresh/CPU)
- shared/include/lv_conf.h: LVGL 9.6 config for all projects
- shared/jc3636w518.ini: common platform/board/build settings
- display_gif_embedded uses it (23.2 fps, 86% CPU)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:11:02 +02:00