Files
tactility/components/espressif__esp_lvgl_port/CHANGELOG.md
T
Adolfo Reyna e7fb5fb38f feat(rlcd): invert toggle, mono threshold, font bump, B/W luminance
- RLCD device.properties: DefaultDark (focus UI visible), fontSize 18
  (+28% vs 14: small 10->14, default 14->18, large 18->24, icons 16->20/36->48)
- ST7305 driver: honor invertColor config (was ignored), call
  esp_lcd_panel_invert_color after init
- DisplayDevice: add supportsInvertColor + set/get, and
  supportsMonochromeThreshold/set/get (ST7305 only)
- EspLcdDisplay: implement invert via panelHandle, and mono threshold via
  global g_mono_threshold shared with esp_lvgl_port
- DisplaySettings: new fields invertColor (default true to preserve current
  inverted look) and monochromeThreshold (default 60 best for DefaultDark per
  user testing, range 20-230)
- Lvgl.cpp: apply invert + threshold at boot from settings
- Display app: add Invert colors switch (if supportsInvertColor) + Mono
  threshold slider with live preview and persistence
- esp_lvgl_port_disp.c (components override for hash mismatch): fix B/W
  conversion
  BEFORE: blue >16 only -> crushed colors, no gray handling
  AFTER: proper luminance Y=0.299R+0.587G+0.114B with adjustable threshold
         (default 60), no Bayer dithering dots. Crisp text on reflective
- Launcher/button/list wrappers reverted to stock DefaultDark (no white
  focus hacks) per user request - focus UI now uses default outline which
  survives luminance threshold

Verified on waveshare-esp32-s3-rlcd /dev/cu.usbmodem1101:
- Build 2877200 bytes, flash hash verified
- Invert toggle works, threshold slider live (60 best per test)
- Font bump visible, focus UI visible for button navigation
- No dithering dots

Docs: LVGL mono https://docs.lvgl.io/9.2/porting/display.html#monochrome-displays
Themes: https://docs.lvgl.io/9.2/details/common-widget-features/styles/themes.html

Co-authored-by: Hermes Agent <hermes@noreply>
2026-07-12 15:27:30 -04:00

4.2 KiB

Changelog

2.7.2

Features

  • Added a new event type for encoder events

Fixes

2.7.1

Features

  • Added option to include a rounder callback

Fixes

2.7.0

Features

  • Added support for multi-touch gestures.

2.6.3

Fixes

2.6.2

  • Changed minimum IDF version to IDF5.1

2.6.1

Features

  • Added option to place LVGL task stack to external RAM
  • Fixed callback for RGB display for IDF6

Fixes

2.6.0

Features

  • Scaling feature in touch
  • Added support for PPA rotation in LVGL9 (available for ESP32-P4)

2.5.0

Features (Functional change for button v4 users)

  • Updated LVGL port for using IoT button component v4 (LVGL port not anymore creating button, need to be created in app and included handle to LVGL port)

Fixes

2.4.4

Features

Fixes

2.4.3

Fixes

  • Fixed a display context pointer bug
  • Fixed I2C example for using with LVGL9

Features

  • Support for LV_COLOR_FORMAT_I1 for monochromatic screen

2.4.2

Fixes

  • Fixed SW rotation in LVGL9.2
  • Fixed freeing right buffers when error

2.4.1

Fixes

  • Fixed the issue of the DPI callback function not being initialized.

2.4.0

Features

  • Added support for direct mode and full refresh mode in the MIPI-DSI interface.
  • Optimized avoid-tear feature and LVGL task.

2.3.3

Features

  • Updated RGB screen flush handling in LVGL9.

2.3.2

Fixes

  • Fixed rotation type compatibility with LVGL8.

2.3.1

Fixes

  • Fixed LVGL version resolution if LVGL is not a managed component
  • Fixed link error with LVGL v9.2
  • Fixed event error with LVGL v9.2

2.3.0

Fixes

  • Fixed LVGL port for using with LVGL9 OS FreeRTOS enabled
  • Fixed bad handled touch due to synchronization timer task

Features

  • Added support for SW rotation in LVGL9

2.2.2

Fixes

  • Fixed missing callback in IDF4.4.3 and lower for LVGL port

2.2.1

Fixes

  • Added missing includes
  • Fixed watchdog error in some cases in LVGL9

2.2.0

Features

  • Added RGB display support
  • Added support for direct mode and full refresh mode

Breaking changes

  • Removed MIPI-DSI from display configuration structure - use lvgl_port_add_disp_dsi instead

2.1.0

Features

  • Added LVGL sleep feature: The esp_lvgl_port handling can sleep if the display and touch are inactive (only with LVGL9)
  • Added support for different display color modes (only with LVGL9)
  • Added script for generating C array images during build (depends on LVGL version)

Fixes

2.0.0

Features

  • Divided into files per feature
  • Added support for LVGL9
  • Added support for MIPI-DSI display

1.4.0

Features

  • Added support for USB HID mouse/keyboard as an input device

1.3.0

Features

  • Added low power interface

1.2.0

Features

  • Added support for encoder (knob) as an input device

1.1.0

Features

  • Added support for navigation buttons as an input device