Releases: apadevices/APALCDGUI
Releases · apadevices/APALCDGUI
1.4.0
Added
setStatusIndicator(char c)/clearStatusIndicator()— show[c]in the alert corner (cols 17–19 row 2) when no passive alert is pending; alert always takes priority ([!]>[*]>[i]> status indicator > blank); 1 byte SRAMgetTimerTotalMinutes()— sum of all enabled timer slot durations in minutes; primary use: APAPUMP daily target bridge
Changed
- Platform verification table updated to v1.4.0 numbers (
02_8screens, default 4-screen limit)
v1.3.0
What's new
Scrollable timer list — up to 6 slots
- \APA_LCD_MAX_TIMERS\ now supports up to 6 (default stays 3)
- LCD shows 3 slots at a time; KB2 rotation scrolls the list automatically
- ↑ / ↓ indicators at col 19 of rows 0–1 show when more slots exist above or below
- Zero SRAM cost — \�iewTop\ packed into the existing _timerBits\ byte
- EEPROM layout scales automatically with \APA_LCD_MAX_TIMERS\
License
- Changed from MIT to dual license
- Free for personal, educational, and hobby use
- Commercial use requires a separate written license — contact kecup@vazac.eu
Other
- Logo added to README (centered)
- README version badge corrected
v1.2.3
- Added logo to README
- Fixed README version badge URL
- ST_FLASH_ACTION: ACTION fields flash ► for 300 ms on press (click confirmation)
- Cursor convention: > = pointer, ► = click confirmed, consistent across all fields
- Brightness mode now activates at KB1 800 ms long-press threshold (not hold+rotate)
- Row 3 cleared before home callback to prevent stale menu/timer/brightness content
- KB1 cancel in timer edit correctly restores both start and end slot
- Various example fixes (KB1/KB2 labels, showMessage feedback, build_flags)
v1.1.6 — Arduino Library Manager ready
What's new in v1.1.6
Added
- \keywords.txt\ — IDE keyword colouring for all public methods, types, and constants
Fixed
- \library.properties\ \sentence\ and \paragraph\ trailing periods removed — Arduino Library Manager appends its own period; double period was appearing in the registry
v1.1.5 — Multi-home example
What's new in v1.1.5
Added
- \�xamples/05_multi_home/\ — three-page scrollable home screen example; demonstrates \�ddHomeScreen(), the automatic page indicator, and the column 17–19 layout constraint across all 6 field types and 8 screens
- Verified zero errors, zero warnings on all 5 platforms (Mega 2560, Uno, ESP32, ESP8266 D1 Mini, STM32 Bluepill)
v1.1.4 — Multiple home screen pages
What's new in v1.1.4
Added
- \�ddHomeScreen(fn)\ — register up to 4 home screen pages; KB2 rotation cycles between them on the home screen
- Automatic page indicator drawn at row 3 cols 17–19 (\1/3, \2/3, …) when more than one page is registered — no user code required
- \setHomeCallback(fn)\ unchanged as alias for \�ddHomeScreen()\ — existing sketches compile without changes
- \currentHomePage()\ / \homePageCount()\ query getters
- \APA_LCD_MAX_HOME_SCREENS\ compile-time capacity define (default 4)
- Author attribution added to README.md and docs/API.md
APALCDGUI v1.1.3
What's new in v1.1.3
Fixed
- Active alert queue:
postActiveAlert()now resets_alertHeadwhen the queue was previously empty — prevents stale head from rendering the wrong (freed) slot after all alerts are acknowledged showMessage()— addedconst __FlashStringHelper*overload; internal "Settings saved!" message now usesF()— saves 16 bytes SRAM on AVR- 4 ×
char blank[21]; memset(...)stack allocations replaced with_rowWrite("")—_rowWritealready pads to COLS - Custom character slot comment corrected: slots 0–6 are library-internal (slot 6 ↓ is used by the nav bar); only slot 7 is free for user characters
APALCDGUI_VERSIONbumped to"1.1.3"
APALCDGUI v1.1.2
What's new in v1.1.2
Fixed
- DS3231 integration now uses
-DAPA_LCD_USE_DS3231build flag — the previous include-order approach failed in PlatformIO due to separate compilation units - RTC modal gesture changed to 800 ms both-buttons hold — previous 200 ms threshold fired too easily during normal navigation
_bothFiredflag prevents double-fire against individual long-press callbacks- RTC modal UX redesigned: TIME → SAVE → DATE → SAVE sequential flow; BACK on DATE returns to TIME; BACK on TIME discards
- RTC cursor: single ↑ below selected field only — previous design was confusing
Added
examples/04_rtc/— DS3231 RTC modal example with live clock on home screenexamples/02_8screens/— now demonstrates all 6 field types includingfieldBoolon L-1
Changed
- Example folder restructured: flat
examples/01_minimal,02_8screens,03_alerts,04_rtc— replacesexamples/mega/category subfolder
APALCDGUI v1.1.1
What's new in v1.1.1
Added
fieldBool()— on/off toggle field (ON/OFF)fieldAction()with optionalconfirm=true— full-screen confirmation prompt before firing- Variable field count per screen: 1, 2, or 3 fields via
addScreen()overloads - Screen title parameter on
addScreen() setMenuRow2Callback()— live sensor data on row 2 of every 1- and 2-field screenmarkDirty(),currentScreen(),getBrightness()— new public APICC_DEGREEconstant exported for use in home callback
Fixed
EEPROM.update()replaced withwrite()+commit()on ESP32 / ESP8266snprintfbuffer overflows in_drawField()and active alert header%luformat mismatch foruint32_ton ESP8266 in example sketch
Changed
LiquidCrystalis now a direct class member — no heap allocation, no<new>dependencylibrary.propertiesreworded for platform independence (AVR, ESP32, ESP8266, STM32)docs/API.mdcompletely rewritten to match the actual v1.1.1 API- Platform Verification table added to README with RAM/Flash numbers for all 5 platforms
- Zero errors, zero warnings on all 5 platforms with
APA_LCD_MAX_SCREENS=8