New LUA scripts & widgets - #3
jurgelenas wants to merge 273 commits into
Conversation
killEvents() refuses to mask KEY_ENTER for Lua scripts (api_general.cpp:1699), so a long ENTER is always followed by a break when the key is released. The editor acted on EVT_VIRTUAL_ENTER_LONG and that break then leaked: a long press on a space committed and the break reached the caller's row handler, which reopened the editor, and a case toggle also advanced the cursor. Record the long press instead and run its action on the following break, which consumes it. Case toggling moves into _toggleCase().
…to single row and add RSNR when in non FLRC mdoe addresses > Telem Widget - PWR reads 0 mW when not connected but others show -- > Telem Widget - No last GPS position on disconnect? If not in your design plans that's fine, something for later. > Telem Widget - Fullscreen - Maybe merge RSSI 1 / RSSI 2 onto one line so the RSNR can be added?
Addressed in #23
I was hoping for EdgeTX team to release official EdgeTX Lua typedefs based on my https://github.com/jurgelenas/edgetx-lua-stdlib idea. Unfortunately the progress has stalled. Will remove it later.
Addressed in #25
Addressed in #26
I think I had more reasons for it, but the only thing that I can remember now is that we are using directories for tool scripts.
Addressed in #27
Addressed in #28
Good idea. I have updated telemetry widget top bar layout too. Addressed in #29
Addressed in #30
Addressed in #31
Could not reproduce this one. Could you share a screenshot? What EdgetTX version you were using? |
Align telemetry widget grid values per column
Vtx admin top bar updates
Add PREV_PAGE/NEXT_PAGE cursor nagivation to BW text fields
Title the bind tool "ExpressLRS Bind" and show its version like the main tool
Raise the Bind tool's UID read retries to 12
@CapnBry I have removed a huge chunk of verbose comments. I have also fixed how the layout width is being calculated, but that has dropped the sensitivity floor. |
The next CMD_QUERY is armed with now + (command.timeout or 100). 0 is truthy in Lua, so a device that sends timeout 0 is polled on every tick. The answer to CLICK re-arms the poll at now + 0, overriding the response timeout execCommand set, and the POLL can reach the device before its CONFIRMATION_NEEDED is back. The device answers READY and the confirm dialog never shows (#16). Treat 0 like a missing timeout and poll once per second. Co-authored-by: Itay Sharoni <110981018+Itay-Sharoni@users.noreply.github.com>
Modules older than 3.5.4 predate the spec-compliant folders of ExpressLRS#3123 that the parameter loader relies on; the tool sat on the loading screen forever (#11). DEVICE_INFO already carries the firmware version, so a TX below 3.5.4 latches session.unsupported, the same flag ELRS 1.x detection now sets. run() checks it before tick(), so nothing more is sent to a module the tool cannot browse. The alert just states the minimum. The CRSF mock reports 4.1.0; the new old_firmware scenario reports 3.4.2. Co-authored-by: Itay Sharoni <110981018+Itay-Sharoni@users.noreply.github.com>
Bind tool: on screens narrower than 400px each title gets its own line with the controls under it, so the phrase field and Request UID fit. The no-receiver notice and the history follow the rows in the column instead of sitting at a fixed y offset sized for one-line rows. VTX Admin: the portrait label column is too narrow for hints, so they run full width under their row there. The Collection hint is now a regular row hint like the others. Fixes #32
A device that runs a command immediately may answer START with READY and an info text such as "OK" or "Failed" (see the TBS CRSF spec command sequence). The session dropped the command on READY and both UIs closed their popup, so the text was never seen. The session keeps a finished command's closing text in commandResult. Colour radios show it in a new Dialogs.showInfo dialog with a Close button, opened after the page rebuild so lvgl.clear() does not drop it. B&W radios show it in a popup closed by ENTER or EXIT. ELRS finishes commands with an empty info, so its commands are unchanged. The CRSF simulator RX gets a Reset Stats command that finishes at once with "OK". Fixes #17
…sult-info # Conflicts: # src/SCRIPTS/CRSFSimulator/csrfsimulator.lua
showInfo and buildExitDialog built the same dialog, differing only in height and button label. Both now go through one buildDialog with a Close button and the default height; buildExitDialog keeps the lvgl.clear() before it. The Dialogs functions take positional arguments instead of an options table, so their signatures say what they need. showConfirm drops onCancel, which no caller passed. The CRSF simulator TX advertises 25 fields again; Reset Stats is an RX field only.


No description provided.