Skip to content

Commit 6afc979

Browse files
Use virtual events
- uses the screen resolution to determine the target. - changes menu key mapping based on telemetry script vs standalone script.
1 parent fef1445 commit 6afc979

File tree

4 files changed

+20
-46
lines changed

4 files changed

+20
-46
lines changed

src/BF/bf.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ assert(loadScript(radio.preLoad))()
99
assert(loadScript(protocol.transport))()
1010
assert(loadScript(SCRIPT_HOME.."/MSP/common.lua"))()
1111

12+
isTelemetryScript = false
13+
1214
local run_ui = assert(loadScript(SCRIPT_HOME.."/ui.lua"))()
1315

1416
return { run=run_ui }

src/SCRIPTS/BF/events.lua

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/SCRIPTS/BF/ui.lua

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
local userEvent = assert(loadScript(SCRIPT_HOME.."/events.lua"))()
2-
31
local pageStatus =
42
{
53
display = 2,
@@ -302,22 +300,22 @@ function run_ui(event)
302300
-- process send queue
303301
mspProcessTxQ()
304302
-- navigation
305-
if (event == userEvent.longPress.menu) then -- Taranis QX7 / X9
303+
if isTelemetryScript and event == EVT_VIRTUAL_MENU_LONG then -- telemetry script
306304
menuActive = 1
307305
currentState = pageStatus.displayMenu
308-
elseif userEvent.press.pageDown and (event == userEvent.longPress.enter) then -- Horus
306+
elseif (not isTelemetryScript) and event == EVT_VIRTUAL_ENTER_LONG then -- standalone
309307
menuActive = 1
310308
killEnterBreak = 1
311309
currentState = pageStatus.displayMenu
312310
-- menu is currently displayed
313311
elseif currentState == pageStatus.displayMenu then
314-
if event == userEvent.release.exit then
312+
if event == EVT_VIRTUAL_EXIT then
315313
currentState = pageStatus.display
316-
elseif event == userEvent.release.plus or event == userEvent.dial.left then
314+
elseif event == EVT_VIRTUAL_PREV then
317315
incMenu(-1)
318-
elseif event == userEvent.release.minus or event == userEvent.dial.right then
316+
elseif event == EVT_VIRTUAL_NEXT then
319317
incMenu(1)
320-
elseif event == userEvent.release.enter then
318+
elseif event == EVT_VIRTUAL_ENTER then
321319
if killEnterBreak == 1 then
322320
killEnterBreak = 0
323321
else
@@ -327,30 +325,31 @@ function run_ui(event)
327325
end
328326
-- normal page viewing
329327
elseif currentState <= pageStatus.display then
330-
if event == userEvent.press.pageUp then
328+
if event == EVT_VIRTUAL_PREV_PAGE then
331329
incPage(-1)
332-
elseif event == userEvent.release.menu or event == userEvent.press.pageDown then
330+
killEvents(event) -- X10/T16 issue: pageUp is a long press
331+
elseif event == EVT_VIRTUAL_NEXT_PAGE or event == EVT_VIRTUAL_MENU then
333332
incPage(1)
334-
elseif event == userEvent.release.plus or event == userEvent.repeatPress.plus or event == userEvent.dial.left then
333+
elseif event == EVT_VIRTUAL_PREV or event == EVT_VIRTUAL_PREV_REPT then
335334
incLine(-1)
336-
elseif event == userEvent.release.minus or event == userEvent.repeatPress.minus or event == userEvent.dial.right then
335+
elseif event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
337336
incLine(1)
338-
elseif event == userEvent.release.enter then
337+
elseif event == EVT_VIRTUAL_ENTER then
339338
local field = Page.fields[currentLine]
340339
local idx = field.i or currentLine
341340
if Page.values and Page.values[idx] and (field.ro ~= true) then
342341
currentState = pageStatus.editing
343342
end
344-
elseif event == userEvent.release.exit then
343+
elseif event == EVT_VIRTUAL_EXIT then
345344
return protocol.exitFunc();
346345
end
347346
-- editing value
348347
elseif currentState == pageStatus.editing then
349-
if (event == userEvent.release.exit) or (event == userEvent.release.enter) then
348+
if event == EVT_VIRTUAL_EXIT or event == EVT_VIRTUAL_ENTER then
350349
currentState = pageStatus.display
351-
elseif event == userEvent.press.plus or event == userEvent.repeatPress.plus or event == userEvent.dial.right then
350+
elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
352351
incValue(1)
353-
elseif event == userEvent.press.minus or event == userEvent.repeatPress.minus or event == userEvent.dial.left then
352+
elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
354353
incValue(-1)
355354
end
356355
end

src/SCRIPTS/TELEMETRY/bf.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ assert(loadScript(radio.preLoad))()
99
assert(loadScript(protocol.transport))()
1010
assert(loadScript(SCRIPT_HOME.."/MSP/common.lua"))()
1111

12+
isTelemetryScript = true
13+
1214
local run_ui = assert(loadScript(SCRIPT_HOME.."/ui.lua"))()
1315
local background = assert(loadScript(SCRIPT_HOME.."/background.lua"))()
1416

0 commit comments

Comments
 (0)