OTX/ETX: add 800x480 color LCD support (TX16S MK3)#301
Closed
georgebashi wants to merge 3 commits intoyaapu:masterfrom
Closed
OTX/ETX: add 800x480 color LCD support (TX16S MK3)#301georgebashi wants to merge 3 commits intoyaapu:masterfrom
georgebashi wants to merge 3 commits intoyaapu:masterfrom
Conversation
Initial scaffolding for TX16S MK3 800x480 screen support. All files copied verbatim from c480x320 as a starting point.
Resize resolution-dependent images to match ETHOS c800x480 dimensions: - minmax.png, warn.png: 800x480 (full-screen overlays) - hud.png: 400x240 (from ETHOS source) - hud_bg.png: 380x240 (HUD background) - armed/disarmed/failsafe: 300x40 - menubar.png: 533x46 - minihomeorange.png: 28x24
Port all screen coordinates from the ETHOS c800x480 implementation to the EdgeTX widget, translating only API calls (lcd.color -> lcd.setColor+CUSTOM_COLOR, lcd.font -> flag constants, etc.) while keeping all positions identical to the ETHOS reference. Key changes: - Top bar: 36px height (matching ETHOS HUD_Y=36) - HUD: 400x240 at (200, 36), matching ETHOS center_panel - Left panel: GALT/HOME/TRAVEL at y=40/125/210 - Right panel: cell/batt/curr/bar at ETHOS absolute positions - Status bar: 48px info bar + 4x20px message rows from bottom - THR/EFF/PWR strip: y=280/306 - Home arrow: (400, 314) with r=28/35 dual-arrow outline - Map: viewport at y=36, vehicle r=30/35, border=50 - Compass heading box: 80x40 - Arming/failsafe bitmaps: (244/248, 80) - Loading dialog: (198, 98, 400x140) - Yaapu Config: touch zones and menu rows scaled for 800px
Author
|
Doh, I've just noticed #295. Oh well. The two differ in approach; #295 scales proportionally from 480x320, whereas this PR ports the layout from ETHOS's existing c800x480. I'll close this PR out in favor of the existing one, but I'm happy to revive it if for whatever reason this approach is preferable. |
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
Adds EdgeTX widget support for 800x480 color LCD radios (RadioMaster TX16S MK3) under
OTX_ETX/c800x480/.All screen coordinates are ported directly from the existing ETHOS c800x480 implementation, translating only the Lua API calls (ETHOS
lcd.color()/lcd.font()→ EdgeTXlcd.setColor(CUSTOM_COLOR,...)/flag constants). The visual layout is intended to be identical to ETHOS at the same resolution.Structure
The PR is split into 3 commits for reviewability:
What changed (commit 3)
layoutlib.lua— top bar 36px, status bar 48px + 4×20px messages, GPS/timer/flight mode repositionedhud_def.lua— HUD 400×240 at (200, 36), compass box 80×40, vario/speed/alt indicators at ETHOS positionslayout_def.lua— right panel at x=600, THR/EFF/PWR at y=280/306, home arrow (400, 314) r=28/35layout_map.lua— map viewport at y=36, 8×4 tilesmaplib.lua— MAP_X=0, vehicle r=30/35, border=50, bearing line 2×800left_def.lua— GALT/HOME/TRAVEL at y=40/125/210right_def.lua— cell/batt/curr at ETHOS offsets, capacity bar 180×45drawlib.lua— compass heading box sized for DBLSIZE at 800pxmain.lua— failsafe (244, 80), arm status (248, 80), loading dialog 400×140Yaapu Config.lua— touch zones scaled for 800px, 19 visible menu rowsImages resized (commit 2)
Testing