-
-
Notifications
You must be signed in to change notification settings - Fork 74
feat(tlora-pager): Add native 480x222 UI, scrolling, alert timeout, sym indicator #264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Kate-hey
wants to merge
8
commits into
meshtastic:master
Choose a base branch
from
Kate-hey:feature/tlora-pager-scrollwheel
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
feat(tlora-pager): Add native 480x222 UI, scrolling, alert timeout, sym indicator #264
Kate-hey
wants to merge
8
commits into
meshtastic:master
from
Kate-hey:feature/tlora-pager-scrollwheel
Conversation
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
- Add RotaryEncoderInputDriver for quadrature encoder input - Add ScrollCallback mechanism to I2CKeyboardInputDriver - Implement alt+encoder scrolling in messages panel - When Sym key is held, encoder scrolls messages instead of navigating Co-Authored-By: Claude <[email protected]>
- Add TFTView header declarations for focus event handlers - Update I2CKeyboardScanner to avoid I2C conflicts on T-Lora Pager - Add LGFXDriver improvements - Update library.json dependencies - Minor TFTView_480x222 fix Co-Authored-By: Claude <[email protected]>
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Congratulations for your first pull request
- Implement full TFTView_480x222 class with native 480x222 resolution - Remove non-uniform scaling code from LGFXDriver.h (was 1.5x/0.925x) - Add VIEW_480x222 to Themes.cpp compilation conditions - Add 3-second auto-dismiss timer to messageAlert() for both views This eliminates the stretched/distorted UI appearance and makes the "No map tiles found" alert automatically disappear after 3 seconds. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Display orange "S" at bottom-left when Sym key is pressed - Indicator disappears when any other key is pressed (one-shot) - Added AltIndicatorCallback mechanism to I2CKeyboardInputDriver - Provides visual feedback for modifier state Co-Authored-By: Claude Opus 4.5 <[email protected]>
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Reverse flex flow on chats_panel so encoder clockwise moves UP (to newer chats) - Add red message count badge on Messages button showing unread count - Use bolder font (montserrat_20) for Sym indicator and message badge Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add static requestWake()/isWakeRequested()/clearWakeRequest() to DisplayDriver for thread-safe wake requests from external contexts - Check wake request flag in LGFXDriver power save loop alongside GPIO/activity - Add InputEventCallback to I2CKeyboardInputDriver to notify firmware on keypress - Call lv_display_trigger_activity() on keyboard input to reset LVGL inactivity This enables TFT devices to properly wake from power save when receiving messages or keyboard input via the firmware's PowerFSM callbacks. Co-Authored-By: Claude Opus 4.5 <[email protected]>
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
This PR adds several UI improvements for the LilyGo T-Lora Pager:
1. Alt+Encoder Message Scrolling
2. Native 480x222 UI Resolution
TFTView_480x222class with native resolution support3. Alert Auto-Dismiss
4. Sym/Alt Modifier Visual Indicator
Files Changed
Input Driver (Sym Indicator + Scrolling):
include/input/I2CKeyboardInputDriver.h- Added ScrollCallback and AltIndicatorCallbacksource/input/I2CKeyboardInputDriver.cpp- Implement callbackssource/input/RotaryEncoderInputDriver.cpp- Check alt state for scroll480x222 Native UI:
include/graphics/view/TFT/TFTView_480x222.h- Full class declarationsource/graphics/TFT/TFTView_480x222.cpp- Full implementation (~7,400 lines)source/graphics/TFT/Themes.cpp- Added VIEW_480x222 compilation flaginclude/graphics/driver/LGFXDriver.h- Removed scaling codeView Updates (Alert + Scrolling + Indicator):
source/graphics/TFT/TFTView_320x240.cpp- All featuressource/graphics/TFT/TFTView_480x222.cpp- All featuresTest Plan
pio run -e tlora-pager-tft🤖 Generated with Claude Code