Skip to content

Add lvgl bindphrase setting script#10

Open
CapnBry wants to merge 115 commits into
ExpressLRS:masterfrom
CapnBry:bindphrase
Open

Add lvgl bindphrase setting script#10
CapnBry wants to merge 115 commits into
ExpressLRS:masterfrom
CapnBry:bindphrase

Conversation

@CapnBry

@CapnBry CapnBry commented Jun 26, 2026

Copy link
Copy Markdown
Member
elrs-bindphrase

For ExpressLRS 4.1, a utility to set a bindphrase. Builds on #3

There is a history saved to "elrs-phrase.txt" that shows last 5 as buttons the user can click to set the bindphrase to that but holy smokes if after 3 hours I could not get it to work. There's no way to set a textEdit's value?! Deleting it and recreating it lets me update it, but then the button just doesn't do anything. No error. Nothing. 🤷 Whatever EDIT: I sort of hamfisted got it working

jurgelenas and others added 27 commits March 7, 2026 00:27
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.
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.
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 27, 2026

Copy link
Copy Markdown
Member Author

I realize now I forgot to push the changes. Now they're there, and the bind phrase history is as well.

@CapnBry

CapnBry commented Jun 27, 2026

Copy link
Copy Markdown
Member Author

Oh stylua and I gonna fight. There's no way I am complying with their "you can't say if not x then return end" rule without a very good reason

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