Releases: lexus2k/lcdgfx
Releases · lexus2k/lcdgfx
v1.3.1
GUI widget polish release.
Fixed
- Slider — page-aligned 3-fillRect rendering on SSD1306; knob band confined to full pages strictly between top/bottom border rows. No flicker, borders preserved.
- Spinbox — explicit central text-band clear each frame; clean border + arrows.
- Menu / CheckboxMenu — eliminated flicker and scroll artifacts; checkbox mark itself no longer inverted on highlighted row (only label text); checkbox toggle now reflects on screen immediately.
- slider_demo — rect adjusted to
{{8,31},{120,40}}(page-aligned for clean SSD1306 rendering).
All 470 unit tests pass.
v1.2.0
What's New in v1.2.0
Bug Fixes
- Fix CS pin typo in SSD1331 SPI initialization (#92)
- Fix missing
#ifdefguards causing compilation errors on some platforms (#96) - Fix narrowing conversion warning in ST7789 init (#100)
- Fix
setContrast()sending wrong command on SSD1306 (#28) - Fix ST7789 170x320 resolution support (#137)
- Fix
clearRect()not clearing last pixel row (#74) - Fix
drawHLineoff-by-one error in 4/8/16-bit canvas modes - Fix
drawLineBresenham algorithm pixel ordering - Fix SDL emulator crash on Ctrl+C (proper signal handling & cleanup)
- Fix SH1107 emulator off-by-one in page addressing
- Fix IL9163 emulator state leak between tests
- Fix memory leak in SDL emulator cleanup
- Fix macOS compilation: add
I2C_SLAVEfallback define (#98) - Fix ILI9341 SDL emulator showing content rotated 90° CW
New Features
- Add
normalMode()/invertMode()API for ST7789, IL9163/ST7735, ILI9341 (#125) - Add SDL emulators for SSD1327, SH1106, ST7735, ST7789
- Add shared SDL emulator helpers (
sdl_emulator_common.h) - Add 55+ missing multi-byte command handlers to SDL emulators
Testing & Quality
- Expand unit test suite from 2 to 347 tests
- Achieve 86.4% line coverage / 90.6% function coverage
- Add comprehensive tests for all display controllers, canvas operations, rotation, and TFT commands
- Fix cppcheck warnings across SDL emulators
Maintenance
- Triage and close 33 open GitHub issues with detailed responses
- Update documentation and ticket comments for known limitations
v1.1.7
Bug Fixes
- Fix CS pin initialization typo in ESP32 SPI (#92)
- Fix narrowing conversion warnings in display constructors (#100)
- Fix
drawHLineoff-by-one bug in 4-bit/8-bit/16-bit modes - Fix
drawLineBresenham pixel ordering bug (display and canvas) - Fix SDL emulator segfault on Ctrl+C
- Fix SDL emulator state leaks, memory leaks, and uninitialized reads
- Fix SH1107 emulator multiplex ratio off-by-one
- Fix IL9163 emulator state leak
- Fix cppcheck warnings (constVariable, uselessOverride)
New Features
- Add
setContrast()for SSD1325, SSD1327, SSD1331, SSD1351 (#28) - Add ST7789 170x320 resolution support (#137)
- Add
clearRect()convenience method toNanoDisplayOps(#74) - Guard SPI/I2C display classes with
#ifdefmacros for selective compilation (#96)
SDL Emulator Improvements
- Extract shared pixel advance helpers into
sdl_emulator_common.hto reduce code duplication - Add 55+ missing multi-byte command handlers across SSD1306, SSD1331, SSD1351, ILI9341
- Prevent argument bytes from being misinterpreted as new commands
Testing
- Expand unit test suite from 2 tests to 344 tests
- Increase code coverage from ~20% to 86.4% line / 90.6% function coverage
- Add comprehensive tests for all SDL display emulators, graphics operations, canvas, fonts, rotation, and display modes
Version 1.1.6
What's Changed
- Adding a library.json file to fix platformio for ESP-IDF by @MiguelBarro in #110
- Fix integer overflow for framerates less than 4 fps by @dlitz in #114
- Raspberry Pi Pico HAL by @simon-77 in #117
- Fix convert from UTF-8 to Unicode by @cwl769 in #123
- added invertMode and normalMode by @lukkass222 in #127
- Define CONFIG_ESP32_SPI_AVAILABLE if ESP32 is defined by @reconbot in #131
- Fix esp8266_spi compilation by @jonware in #135
Version 1.1.5 is released
The changes are:
- Added RGB mode control API for ST7735
- ESP32 IDF v5 compatibility
- Fixing SPI compilation
- Added setSelection for LcdGfx menu
- Added rotate functions for 1-bit canvas
Version 1.1.4 is released
Changes:
- ESP32 compilation fix
- Canvas capabilities improvements
Version 1.1.2 is released
The changes:
- Fixed compilation for ESP32
- SSD1351 96x96 display support
- Updated putPixel for 4-bit displays
- Hot fix in SPI displays procedure initialization
- ST7789 support is added (including TTGO T-Display)
Version 1.1.1 is released
- Fixed display templates
- Added GPIO read support for Linux
- Added RGB/BGR mode support for SSD1351
- Fixed ESP32 compilation for platformio
Version 1.1.0 is released
The changes:
- Auto verification is moved to circle-ci
- Fixed a lot of cppcheck warnings
- Wio terminal support is added
- Fixed script for generating fonts
- Added print function for floating point numbers
- Added ST7735S 80x160 display support
- Added RGB/BGR modes for SSD1351 display
Version 1.0.6 is released
Updates:
- Fixed cppcheck warnings
- Added custom display support (refer to examples)
- Thinary board support
- Added simple GUI API (refer to examples)
- Added CMake support
- Fixed ESP8266 spi compilation
- Added SH1107 displays support (first version)
- Added drawCircle API for canvas