Files
edgetx-gx12/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/wizard.lua
T
2020-01-27 15:10:46 +01:00

87 lines
2.8 KiB
Lua

---- #########################################################################
---- # #
---- # Copyright (C) OpenTX #
-----# #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html #
---- # #
---- # This program is free software; you can redistribute it and/or modify #
---- # it under the terms of the GNU General Public License version 2 as #
---- # published by the Free Software Foundation. #
---- # #
---- # This program is distributed in the hope that it will be useful #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
---- # GNU General Public License for more details. #
---- # #
---- #########################################################################
-- Navigation variables
local dirty = true
-- Model types
local modelType = 0
local MODELTYPE_PLANE = 0
local MODELTYPE_DELTA = 1
local MODELTYPE_QUAD = 2
-- Common functions
local function fieldIncDec(event, value, max)
if event == EVT_VIRTUAL_DEC or event == EVT_VIRTUAL_DEC_REPT then
value = (value + max)
dirty = true
elseif event == EVT_VIRTUAL_INC or event == EVT_VIRTUAL_INC_REPT then
value = (value + max + 2)
dirty = true
end
value = (value % (max+1))
return value
end
-- Model Type Menu
local function modelTypeSurround(index)
lcd.drawRectangle(17+65*index, 14, 48, 48)
lcd.drawPixmap(22+65*index, 9, "mark.bmp")
end
local function drawModelChoiceMenu()
lcd.clear()
lcd.drawScreenTitle("Select model type", 0, 0)
lcd.drawPixmap(21, 18, "plane.bmp")
lcd.drawPixmap(86, 18, "delta.bmp")
lcd.drawPixmap(151, 18, "quadri.bmp")
modelTypeSurround(modelType)
end
local function modelTypeMenu(event)
if dirty == true then
drawModelChoiceMenu()
dirty = false
end
if event == EVT_VIRTUAL_ENTER then
if modelType == MODELTYPE_PLANE then
return "plane.lua"
elseif modelType == MODELTYPE_DELTA then
return "delta.lua"
elseif modelType == MODELTYPE_QUAD then
return "multi.lua"
end
dirty = true
else
modelType = fieldIncDec(event, modelType, 2)
end
return 0
end
-- Main
local function run(event)
if event == nil then
error("Cannot be run as a model script!")
end
if event == EVT_VIRTUAL_EXIT then
return 2
end
return modelTypeMenu(event)
end
return { run=run }