Skip to content

New LUA scripts & widgets#3

Open
jurgelenas wants to merge 112 commits into
masterfrom
unified-lua-lsp
Open

New LUA scripts & widgets#3
jurgelenas wants to merge 112 commits into
masterfrom
unified-lua-lsp

Conversation

@jurgelenas

Copy link
Copy Markdown
Member

No description provided.

The @deprecated annotations are intentional for consumers, but LuaLS
flags them as warnings when checking the library itself.
Changing Output Ch now loads distinct Input Ch, Output Mode, and Invert
values from a per-channel config table, mimicking RXParameters.cpp
firmware behavior. Editing siblings saves back to the current channel.
Add name, authors, urls, screenshots, and keywords fields. Rename
the existing `name` field to `id` to match the manifest schema.
Enforce the per-branch minimum at runtime in both LVGL and BW UIs and
update the manifest pre-install gate. Drop unreachable lvgl-nil
fallback code in ui/lvgl.lua.
@jurgelenas jurgelenas marked this pull request as ready for review May 13, 2026 13:41
Move the Architecture table and CRSF Simulator section out of the
user-facing README and into a new docs/development.md. Add a Make
targets reference covering setup, quality checks, and deployment.
@jurgelenas jurgelenas requested a review from CapnBry May 16, 2026 07:25
LVGL command popup now renders the live info string the device sends on
each CMD_QUERY poll, via a getInfo getter passed into CommandPage (keeps
the page decoupled from Protocol). Add a multi-step progress command to
the CRSF simulator so the polling status updates can be tested.
Completion is detected in Protocol.fieldCommandLoad (which nils fieldPopup
inside poll(), before UI.render()), so the UI popup handlers' CMD_IDLE branches
were unreachable and never reloaded anything. Re-read the command's same-level
fields there via reloadRelatedFields so the current page reflects values the
command changed, and remove the dead UI completion branches.

Add a Gyro folder (Orientation + Detect Orientation command) to the simulated RX
so the behaviour is testable in the simulator.
@CapnBry

CapnBry commented Jun 19, 2026

Copy link
Copy Markdown
Member

I've only gotten through the VTX Admin widget and some of the base code. There's a lot to get through and so much awesome functionality!

VTX Admin

Fix?

  • VTX Admin sending status poll?
  • VTXA 6POS preset option "Off" shares the same word as VTX Admin = Off, which is confusing because it isn't turning VTX Admin off, it is just an empty unused 6POS preset. Perhaps the editor UI could call it maybeeeeee "Unused". Optionally, it can just be left off when building the 6POS build6posLabels if Unusedseses make it too long, or just shown as a "--" instead.

Minor

  • VTXA ui/topbar and portrait have redundant P- generator

Cosmetic

  • VTXA Status bar: Layout to small "VTX" then R2 under and leave P- off if no power set. Make it look like the other StatusBar Value widgets that are label over value.
  • VTXA P- seems either too terse or too much for what it is. Maybe just don't show it at all or "---"?
  • VTXA ui/topbar should reuse VTXDisplay.showStatus() or bandChannel() for its status
  • VTXA ui has several uses of Protocol.isActive() or VTX.state.band == 0. Candidate for code reuse in loadable since it also uses this as a condition
  • VTXA ui/portrait's difference between its hasModule() and the other state checking functions like isActive(), is there a reason this one is different?

Future

  • Can multiple instances of the widget share a singleton state rather than each one tracking the status themselves and polling? Not a big deal because I don't think users would have more than 2 (statusbar and main widget area), but it seems like a great opportunity to share the same data and just have unique UIs only rather than multiple instances running their own loops and polls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants