Add lvgl bindphrase setting script#10
Conversation
…ns for mk3 and 1 column for small screen radios
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.
|
I realize now I forgot to push the changes. Now they're there, and the bind phrase history is as well. |
|
Oh stylua and I gonna fight. There's no way I am complying with their "you can't say |
|
|
The language server test is dead wrong and it can fuck right off. I will now fight to have this check removed from check process. 😠 |
|
not working with edgtx 2.12.2! |
Which is the only version of EdgeTX I've tested it with! Maybe you can provide some other information about your setup? Handset, ELRS version, ELRS module type? Note that this only works on ELRS 4.1.0-RC1 currently. |
|
JUst a lil FYI, The GX12 has a 128×64 monochrome OLED, not a color touchscreen. LVGL-based Lua scripts (buttons, sliders, text fields, the whole "bind v2" UI style) were built specifically for EdgeTX's color-screen radios — EdgeTX 2.11 added that LVGL API, but only for the color-LCD firmware build. On the monochrome/B&W build (which is what your GX12 runs, even at 2.12.1), the lvgl object is never populated at all — it's compiled out, not "an older version." The script can't tell the difference between "firmware too old" and "hardware doesn't have LVGL," so it throws the same generic "2.11+ required" message either way. |

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. 🤷 WhateverEDIT: I sort of hamfisted got it workingRX Binding Functions
If there is no RX connected and the user selects the "Receiver" target, the user is presented with instructions and a Bind button. If an RX is connected when receiver is selected, an "Unbind" button is added to allow them to disconnect it and allow it to bind to someone else. Image below.
Zip file for users who want to use this now
Includes this entire repo with Jurg's scripts as well, unzip to the root of your SD card
elrs-bind-v2.zip