1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 22:35:12 +03:00

Lua virtual replace (#7337)

This commit is contained in:
Carsten W 2020-01-27 15:10:46 +01:00 committed by 3djc
parent 3744e8e1ea
commit 23f16d039e
18 changed files with 128 additions and 143 deletions

View file

@ -273,11 +273,6 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot run as a model script!") error("Cannot run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST or event == EVT_SHIFT_BREAK then
--selectPage(1)
elseif event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST or event == EVT_SHIFT_LONG then
--killEvents(event);
--selectPage(-1)
end end
local result = pages[page](event) local result = pages[page](event)

View file

@ -91,9 +91,9 @@ end
-- Main -- Main
local function runFieldsPage(event) local function runFieldsPage(event)
if event == EVT_EXIT_BREAK then -- exit script if event == EVT_VIRTUAL_EXIT then -- exit script
return 2 return 2
elseif event == EVT_ENTER_BREAK or event == EVT_ROT_BREAK then -- toggle editing/selecting current field elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field
if fields[current][5] ~= nil then if fields[current][5] ~= nil then
edit = not edit edit = not edit
if edit == false then if edit == false then
@ -101,15 +101,15 @@ local function runFieldsPage(event)
end end
end end
elseif edit then elseif edit then
if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1) addField(1)
elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1) addField(-1)
end end
else else
if event == EVT_MINUS_FIRST or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_NEXT then
selectField(1) selectField(1)
elseif event == EVT_PLUS_FIRST or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_PREV then
selectField(-1) selectField(-1)
end end
end end
@ -465,9 +465,9 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
return 2 return 2
elseif (event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST) and page < #pages-1 then elseif event == EVT_VIRTUAL_NEXT_PAGE and page < #pages-1 then
selectPage(1) selectPage(1)
elseif (event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST) and page > 1 then elseif event == EVT_VIRTUAL_PREV_PAGE and page > 1 then
killEvents(event); killEvents(event);
selectPage(-1) selectPage(-1)
end end

View file

@ -91,9 +91,9 @@ end
-- Main -- Main
local function runFieldsPage(event) local function runFieldsPage(event)
if event == EVT_EXIT_BREAK then -- exit script if event == EVT_VIRTUAL_EXIT then -- exit script
return 2 return 2
elseif event == EVT_ENTER_BREAK or event == EVT_ROT_BREAK then -- toggle editing/selecting current field elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field
if fields[current][5] ~= nil then if fields[current][5] ~= nil then
edit = not edit edit = not edit
if edit == false then if edit == false then
@ -101,15 +101,15 @@ local function runFieldsPage(event)
end end
end end
elseif edit then elseif edit then
if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1) addField(1)
elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1) addField(-1)
end end
else else
if event == EVT_MINUS_FIRST or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_NEXT then
selectField(1) selectField(1)
elseif event == EVT_PLUS_FIRST or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_PREV then
selectField(-1) selectField(-1)
end end
end end
@ -465,9 +465,9 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
return 2 return 2
elseif (event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST) and page < #pages-1 then elseif event == EVT_VIRTUAL_NEXT_PAGE and page < #pages-1 then
selectPage(1) selectPage(1)
elseif (event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST) and page > 1 then elseif event == EVT_VIRTUAL_PREV_PAGE and page > 1 then
killEvents(event); killEvents(event);
selectPage(-1) selectPage(-1)
end end

View file

@ -237,9 +237,9 @@ end
-- Main -- Main
local function runFieldsPage(event) local function runFieldsPage(event)
if event == EVT_EXIT_BREAK then -- exit script if event == EVT_VIRTUAL_EXIT then -- exit script
return 2 return 2
elseif event == EVT_ENTER_BREAK or event == EVT_ROT_BREAK then -- toggle editing/selecting current field elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field
if fields[current][4] ~= nil then if fields[current][4] ~= nil then
edit = not edit edit = not edit
if edit == false then if edit == false then
@ -247,15 +247,15 @@ local function runFieldsPage(event)
end end
end end
elseif edit then elseif edit then
if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
addField(1) addField(1)
elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
addField(-1) addField(-1)
end end
else else
if event == EVT_MINUS_FIRST or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_NEXT then
selectField(1) selectField(1)
elseif event == EVT_PLUS_FIRST or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_PREV then
selectField(-1) selectField(-1)
end end
end end
@ -313,11 +313,11 @@ local function runCalibrationPage(event)
lcd.drawBitmap(Bitmap.open("img/done.bmp"),200, 100) lcd.drawBitmap(Bitmap.open("img/done.bmp"),200, 100)
lcd.drawText(160, 220, "Press [RTN] when ready", attr) lcd.drawText(160, 220, "Press [RTN] when ready", attr)
end end
if calibrationStep > 6 and (event == EVT_ENTER_BREAK or event == EVT_EXIT_BREAK) then if calibrationStep > 6 and (event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT) then
return 2 return 2
elseif event == EVT_ENTER_BREAK then elseif event == EVT_VIRTUAL_ENTER then
calibrationState = 1 calibrationState = 1
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
if calibrationStep > 0 then if calibrationStep > 0 then
calibrationStep = 0 calibrationStep = 0
end end
@ -341,9 +341,9 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST then elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1) selectPage(1)
elseif event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST then elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event); killEvents(event);
selectPage(-1) selectPage(-1)
end end

View file

@ -273,11 +273,6 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot run as a model script!") error("Cannot run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST or event == EVT_SHIFT_BREAK then
--selectPage(1)
elseif event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST or event == EVT_SHIFT_LONG then
--killEvents(event);
--selectPage(-1)
end end
local result = pages[page](event) local result = pages[page](event)

View file

@ -52,10 +52,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_ROT_LEFT or event == EVT_UP_BREAK then if event == EVT_VIRTUAL_PREV or event == EVT_VIRTUAL_PREV_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_ROT_RIGHT or event == EVT_DOWN_BREAK then elseif event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -66,12 +66,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_ROT_RIGHT or event == EVT_RIGHT_BREAK then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_ROT_LEFT or event == EVT_LEFT_BREAK then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -82,22 +82,22 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
dirty = blinkChanged() dirty = blinkChanged()
end end
else else
if event == EVT_PAGE_BREAK or event==EVT_RIGHT_BREAK then if event == EVT_VIRTUAL_NEXT then
page = nextPage page = nextPage
field = 0 field = 0
dirty = true dirty = true
elseif event == EVT_PAGE_LONG or event==EVT_LEFT_BREAK then elseif event == EVT_VIRTUAL_PREV then
page = prevPage page = prevPage
field = 0 field = 0
killEvents(event); killEvents(event);
@ -120,7 +120,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event==EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -276,7 +276,7 @@ local function servoMenu(event)
limits.revert = fieldIncDec(event, limits.revert, 1) limits.revert = fieldIncDec(event, limits.revert, 1)
end end
model.setOutput(servoPage, limits) model.setOutput(servoPage, limits)
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
servoPage = nil servoPage = nil
dirty = true dirty = true
end end
@ -348,9 +348,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, RUDDER_PAGE, page) navigate(event, fieldsMax, RUDDER_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -58,10 +58,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_INC then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_DEC then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -72,12 +72,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_ROT_RIGHT or event == EVT_RIGHT_FIRST then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_ROT_LEFT or event == EVT_LEFT_FIRST then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -88,11 +88,11 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
@ -126,7 +126,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event==EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -137,12 +137,12 @@ end
local function switchValueIncDec(event, value, min, max) local function switchValueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_ROT_RIGHT or event == EVT_RIGHT_FIRST then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_ROT_LEFT or event == EVT_LEFT_FIRST then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -153,7 +153,7 @@ local function switchValueIncDec(event, value, min, max)
end end
local function switchIncDec(event, value) local function switchIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event== EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -399,9 +399,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, BEEPER_PAGE, page) navigate(event, fieldsMax, BEEPER_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -62,10 +62,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_ROT_LEFT or event == EVT_UP_BREAK then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_ROT_RIGHT or event == EVT_DOWN_BREAK then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -76,12 +76,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_ROT_RIGHT or event == EVT_RIGHT_BREAK then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_ROT_LEFT or event == EVT_LEFT_BREAK then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -92,11 +92,11 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
@ -130,7 +130,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event==EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -420,7 +420,7 @@ local function servoMenu(event)
limits.revert = fieldIncDec(event, limits.revert, 1) limits.revert = fieldIncDec(event, limits.revert, 1)
end end
model.setOutput(servoPage, limits) model.setOutput(servoPage, limits)
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
servoPage = nil servoPage = nil
dirty = true dirty = true
end end
@ -544,9 +544,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, TAIL_PAGE, page) navigate(event, fieldsMax, TAIL_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -23,9 +23,9 @@ local MODELTYPE_QUAD = 2
-- Common functions -- Common functions
local function fieldIncDec(event, value, max) local function fieldIncDec(event, value, max)
if event == EVT_ROT_LEFT or event == EVT_UP_BREAK then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
elseif event == EVT_ROT_RIGHT or event == EVT_DOWN_BREAK then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
end end
value = (value % (max+1)) value = (value % (max+1))
@ -53,7 +53,7 @@ end
local function modelTypeMenu(event) local function modelTypeMenu(event)
drawModelChoiceMenu() drawModelChoiceMenu()
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
if modelType == MODELTYPE_PLANE then if modelType == MODELTYPE_PLANE then
return "plane.lua" return "plane.lua"
elseif modelType == MODELTYPE_DELTA then elseif modelType == MODELTYPE_DELTA then
@ -73,7 +73,7 @@ local function run(event)
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
end end
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end

View file

@ -127,7 +127,7 @@ local function run(event)
raise("Cannot be run as a model script!") raise("Cannot be run as a model script!")
end end
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end

View file

@ -62,10 +62,10 @@ local function runWarningPage(event)
lcd.drawText(0, 30, "power, and a level surface.", SMLSIZE) lcd.drawText(0, 30, "power, and a level surface.", SMLSIZE)
lcd.drawText(0, 40, "Press [Enter] when ready", SMLSIZE) lcd.drawText(0, 40, "Press [Enter] when ready", SMLSIZE)
lcd.drawText(0, 50, "Press [Exit] to cancel", SMLSIZE) lcd.drawText(0, 50, "Press [Exit] to cancel", SMLSIZE)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
selectPage(1) selectPage(1)
return 0 return 0
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end
return 0 return 0
@ -186,9 +186,9 @@ end
-- Main -- Main
local function runFieldsPage(event) local function runFieldsPage(event)
if event == EVT_EXIT_BREAK then -- exit script if event == EVT_VIRTUAL_EXIT then -- exit script
return 2 return 2
elseif event == EVT_ENTER_BREAK then -- toggle editing/selecting current field elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field
if fields[current][4] ~= nil then if fields[current][4] ~= nil then
edit = not edit edit = not edit
if edit == false then if edit == false then
@ -196,15 +196,15 @@ local function runFieldsPage(event)
end end
end end
elseif edit then elseif edit then
if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT or event == EVT_DOWN_BREAK then if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REP then
addField(1) addField(1)
elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT or event == EVT_UP_BREAK then elseif event == EVT_VIRTUAL_PREV or event == EVT_VIRTUAL_PREV_REP then
addField(-1) addField(-1)
end end
else else
if event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_UP_BREAK then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REP then
selectField(1) selectField(1)
elseif event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_DOWN_BREAK then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REP then
selectField(-1) selectField(-1)
end end
end end
@ -260,9 +260,9 @@ local function runCalibrationPage(event)
-- lcd.drawText(10, 19, "Done",0) -- lcd.drawText(10, 19, "Done",0)
lcd.drawText(0, 56, "Press [Exit] when ready", attr) lcd.drawText(0, 56, "Press [Exit] when ready", attr)
end end
if calibrationStep > 6 and (event == EVT_ENTER_BREAK or event == EVT_EXIT_BREAK) then if calibrationStep > 6 and (event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT) then
return 2 return 2
elseif event == EVT_ENTER_BREAK and positionConfirmed then elseif event == EVT_VIRTUAL_ENTER and positionConfirmed then
calibrationState = 1 calibrationState = 1
positionConfirmed = 0 positionConfirmed = 0
end end
@ -284,9 +284,9 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK or event==EVT_RIGHT_BREAK then elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1) selectPage(1)
elseif event == EVT_PAGE_LONG or event==EVT_LEFT_BREAK then elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event); killEvents(event);
selectPage(-1) selectPage(-1)
end end

View file

@ -273,11 +273,6 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot run as a model script!") error("Cannot run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK or event == EVT_PAGEDN_FIRST or event == EVT_SHIFT_BREAK then
--selectPage(1)
elseif event == EVT_PAGE_LONG or event == EVT_PAGEUP_FIRST or event == EVT_SHIFT_LONG then
--killEvents(event);
--selectPage(-1)
end end
local result = pages[page](event) local result = pages[page](event)

View file

@ -52,10 +52,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_PLUS_BREAK or event == EVT_ROT_LEFT then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_MINUS_BREAK or event == EVT_ROT_RIGHT then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -66,12 +66,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_PLUS_FIRST or event == EVT_PLUS_REPT or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_MINUS_FIRST or event == EVT_MINUS_REPT or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -82,11 +82,11 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
@ -120,7 +120,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event == EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -284,7 +284,7 @@ local function servoMenu(event)
limits.revert = fieldIncDec(event, limits.revert, 1) limits.revert = fieldIncDec(event, limits.revert, 1)
end end
model.setOutput(servoPage, limits) model.setOutput(servoPage, limits)
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
servoPage = nil servoPage = nil
dirty = true dirty = true
end end
@ -357,9 +357,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, RUDDER_PAGE, page) navigate(event, fieldsMax, RUDDER_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -57,10 +57,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_PLUS_BREAK or event == EVT_ROT_LEFT then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_MINUS_BREAK or event == EVT_ROT_RIGHT then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -71,12 +71,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_PLUS_FIRST or event == EVT_PLUS_REPT or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_MINUS_FIRST or event == EVT_MINUS_REPT or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -87,11 +87,11 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
@ -125,7 +125,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event == EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -136,12 +136,12 @@ end
local function switchValueIncDec(event, value, min, max) local function switchValueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_PLUS_FIRST or event == EVT_PLUS_REPT or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_MINUS_FIRST or event == EVT_MINUS_REPT or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -152,7 +152,7 @@ local function switchValueIncDec(event, value, min, max)
end end
local function switchIncDec(event, value) local function switchIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event == EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -415,9 +415,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, BEEPER_PAGE, page) navigate(event, fieldsMax, BEEPER_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -62,10 +62,10 @@ end
local function fieldIncDec(event, value, max, force) local function fieldIncDec(event, value, max, force)
if edit or force==true then if edit or force==true then
if event == EVT_PLUS_BREAK or event == EVT_ROT_LEFT then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_MINUS_BREAK or event == EVT_ROT_RIGHT then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -76,12 +76,12 @@ end
local function valueIncDec(event, value, min, max) local function valueIncDec(event, value, min, max)
if edit then if edit then
if event == EVT_PLUS_FIRST or event == EVT_PLUS_REPT or event == EVT_ROT_RIGHT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
if value < max then if value < max then
value = (value + 1) value = (value + 1)
dirty = true dirty = true
end end
elseif event == EVT_MINUS_FIRST or event == EVT_MINUS_REPT or event == EVT_ROT_LEFT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
if value > min then if value > min then
value = (value - 1) value = (value - 1)
dirty = true dirty = true
@ -92,11 +92,11 @@ local function valueIncDec(event, value, min, max)
end end
local function navigate(event, fieldMax, prevPage, nextPage) local function navigate(event, fieldMax, prevPage, nextPage)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
edit = not edit edit = not edit
dirty = true dirty = true
elseif edit then elseif edit then
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
edit = false edit = false
dirty = true dirty = true
elseif not dirty then elseif not dirty then
@ -130,7 +130,7 @@ local function getFieldFlags(position)
end end
local function channelIncDec(event, value) local function channelIncDec(event, value)
if not edit and event==EVT_MENU_BREAK then if not edit and event == EVT_VIRTUAL_MENU then
servoPage = value servoPage = value
dirty = true dirty = true
else else
@ -425,7 +425,7 @@ local function servoMenu(event)
limits.revert = fieldIncDec(event, limits.revert, 1) limits.revert = fieldIncDec(event, limits.revert, 1)
end end
model.setOutput(servoPage, limits) model.setOutput(servoPage, limits)
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
servoPage = nil servoPage = nil
dirty = true dirty = true
end end
@ -550,9 +550,9 @@ local function confirmationMenu(event)
navigate(event, fieldsMax, TAIL_PAGE, page) navigate(event, fieldsMax, TAIL_PAGE, page)
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
elseif event == EVT_ENTER_LONG then elseif event == EVT_VIRTUAL_ENTER_LONG then
killEvents(event) killEvents(event)
applySettings() applySettings()
return 2 return 2

View file

@ -25,10 +25,10 @@ local MODELTYPE_QUAD = 2
-- Common functions -- Common functions
local function fieldIncDec(event, value, max) local function fieldIncDec(event, value, max)
if event == EVT_PLUS_BREAK or event == EVT_ROT_LEFT or event == EVT_PLUS_REPT then if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max) value = (value + max)
dirty = true dirty = true
elseif event == EVT_MINUS_BREAK or event == EVT_ROT_RIGHT or event == EVT_MINUS_REPT then elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2) value = (value + max + 2)
dirty = true dirty = true
end end
@ -56,7 +56,7 @@ local function modelTypeMenu(event)
drawModelChoiceMenu() drawModelChoiceMenu()
dirty = false dirty = false
end end
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
if modelType == MODELTYPE_PLANE then if modelType == MODELTYPE_PLANE then
return "plane.lua" return "plane.lua"
elseif modelType == MODELTYPE_DELTA then elseif modelType == MODELTYPE_DELTA then
@ -77,7 +77,7 @@ local function run(event)
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
end end
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end
return modelTypeMenu(event) return modelTypeMenu(event)

View file

@ -127,7 +127,7 @@ local function run(event)
raise("Cannot be run as a model script!") raise("Cannot be run as a model script!")
end end
if event == EVT_EXIT_BREAK then if event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end

View file

@ -60,10 +60,10 @@ local function runWarningPage(event)
lcd.drawText(0, 30, "power supply and a flat level surface (desk,...)", SMLSIZE) lcd.drawText(0, 30, "power supply and a flat level surface (desk,...)", SMLSIZE)
lcd.drawText(0, 40, "Press [Enter] when ready", SMLSIZE) lcd.drawText(0, 40, "Press [Enter] when ready", SMLSIZE)
lcd.drawText(0, 50, "Press [Exit] when cancel", SMLSIZE) lcd.drawText(0, 50, "Press [Exit] when cancel", SMLSIZE)
if event == EVT_ENTER_BREAK then if event == EVT_VIRTUAL_ENTER then
selectPage(1) selectPage(1)
return 0 return 0
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
return 2 return 2
end end
return 0 return 0
@ -184,9 +184,9 @@ end
-- Main -- Main
local function runFieldsPage(event) local function runFieldsPage(event)
if event == EVT_EXIT_BREAK then -- exit script if event == EVT_VIRTUAL_EXIT then -- exit script
return 2 return 2
elseif event == EVT_ENTER_BREAK then -- toggle editing/selecting current field elseif event == EVT_VIRTUAL_ENTER then -- toggle editing/selecting current field
if fields[current][4] ~= nil then if fields[current][4] ~= nil then
edit = not edit edit = not edit
if edit == false then if edit == false then
@ -194,15 +194,15 @@ local function runFieldsPage(event)
end end
end end
elseif edit then elseif edit then
if event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT or event == EVT_PLUS_REPT then if event == EVT_VIRTUAL_NEXT or event == EVT_VIRTUAL_NEXT_REP then
addField(1) addField(1)
elseif event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT or event == EVT_MINUS_REPT then elseif event == EVT_VIRTUAL_PREV or event == EVT_VIRTUAL_PREV_REP then
addField(-1) addField(-1)
end end
else else
if event == EVT_MINUS_FIRST or event == EVT_ROT_LEFT then if event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REP then
selectField(1) selectField(1)
elseif event == EVT_PLUS_FIRST or event == EVT_ROT_RIGHT then elseif event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REP then
selectField(-1) selectField(-1)
end end
end end
@ -235,11 +235,11 @@ local function runCalibrationPage(event)
lcd.drawPixmap(10, 19, "bmp/done.bmp") lcd.drawPixmap(10, 19, "bmp/done.bmp")
lcd.drawText(0, 56, "Press [Exit] when ready", attr) lcd.drawText(0, 56, "Press [Exit] when ready", attr)
end end
if calibrationStep > 6 and (event == EVT_ENTER_BREAK or event == EVT_EXIT_BREAK) then if calibrationStep > 6 and (event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT) then
return 2 return 2
elseif event == EVT_ENTER_BREAK then elseif event == EVT_VIRTUAL_ENTER then
calibrationState = 1 calibrationState = 1
elseif event == EVT_EXIT_BREAK then elseif event == EVT_VIRTUAL_EXIT then
if calibrationStep > 0 then if calibrationStep > 0 then
calibrationStep = 0 calibrationStep = 0
end end
@ -261,9 +261,9 @@ local function run(event)
if event == nil then if event == nil then
error("Cannot be run as a model script!") error("Cannot be run as a model script!")
return 2 return 2
elseif event == EVT_PAGE_BREAK then elseif event == EVT_VIRTUAL_NEXT_PAGE then
selectPage(1) selectPage(1)
elseif event == EVT_PAGE_LONG then elseif event == EVT_VIRTUAL_PREV_PAGE then
killEvents(event); killEvents(event);
selectPage(-1) selectPage(-1)
end end