Firmware, LCD UI makeup.#542
Open
nk25719 wants to merge 7 commits intoPubInv:mainfrom
Open
Conversation
Firmware reducing flash usage
…w the alarm message received.
Enhanced LCD UI initial commit.
Collaborator
Author
|
to review: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The LCD system was redesigned to:
New LCD Architecture
Added UI State System
Introduced dedicated UI states instead of mixed menu logic:
This removed:
Main Screen Redesign
New Main Layout
Row 0
Alarm queue + compact right-side status icons
Example:
Where:
Icons are aligned to the far right.
Row 1
Primary alarm title/type
Example:
Row 2
Alarm details / ID
Example:
Row 3
Normally empty.
Only used dynamically for:
Examples:
or
This removed the old stale MAC row problem.
Alarm Interaction Improvements
Encoder Alarm Actions
When alarm is active:
rotating encoder opens action selection
user can select:
Pressing encoder:
Example:
Encoder Navigation Refactor
Fixed Rotation Direction
Corrected encoder sense:
Fixed Menu Selection Bug
Resolved issues where:
Main causes fixed:
running_menuremaining trueAlways-Accessible Icon Navigation
Main page encoder behavior now:
always allows icon selection
never blocks on the dashboard
supports navigating between:
Fallback routing was added to prevent dead states.
Settings Refactor
Added Full Settings Navigation
Settings now include:
Added Back Navigation Everywhere
Every submenu now includes:
Info Screen
Moved device info out of the main dashboard.
Now accessible through:
Displays:
This removed:
WiFi Refactor
LCD WiFi Behavior Changed
WiFi is no longer configured directly from the LCD.
Instead:
LCD displays:
user is guided to configure WiFi through Web UI
Example:
Broker Refactor
Added Broker Selection Screen
Broker menu now lists:
Selecting a broker:
Added Persistent MQTT Connection Logic
Goal:
Krake should never remain disconnected unnecessarily.
Added:
LCD Rendering Improvements
Dirty-Flag Rendering
Added:
LCD now:
lcd.clear()This improved:
Performance Improvements
Reduced Blocking Behavior
Removed heavy operations from:
Queued or deferred:
String / Memory Improvements
Reduced runtime
Stringusage:char[]snprintfThis reduced:
Cleanup and Debugging Improvements
Added:
Prepared codebase for:
Overall Result
The LCD/UI system evolved from:
into: