From 7ca3f60999ffd11bdf48e34f0179802be1341485 Mon Sep 17 00:00:00 2001 From: Sebastien Charpentier Date: Sat, 11 Nov 2017 09:46:38 +0100 Subject: [PATCH] Updated Wizard for X9 radios. (#4910) --- .../taranis-x9/SCRIPTS/WIZARD/delta.lua | 24 ++-- .../taranis-x9/SCRIPTS/WIZARD/multi.lua | 31 ++--- .../taranis-x9/SCRIPTS/WIZARD/plane.lua | 116 +++++++++--------- .../taranis-x9/SCRIPTS/WIZARD/wizard.lua | 16 +-- 4 files changed, 89 insertions(+), 98 deletions(-) diff --git a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/delta.lua b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/delta.lua index bc9a05ee8..7f27eb1fc 100644 --- a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/delta.lua +++ b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/delta.lua @@ -138,7 +138,7 @@ local function init() end -- Engine Menu -local engineModeItems = {"No", "Yes..."} +local engineModeItems = {"No", "Yes"} local function drawEngineMenu() lcd.clear() lcd.drawText(1, 0, "Has your model got an engine?", 0) @@ -206,7 +206,7 @@ local function elevonsMenu(event) end -- Rudder menu -local rudderModeItems = {"No", "Yes..."} +local rudderModeItems = {"No", "Yes"} local function drawRudderMenu() lcd.clear() @@ -308,10 +308,10 @@ local function applySettings() if engineMode == 1 then addMix(thrCH1, MIXSRC_FIRST_INPUT+defaultChannel(2), "Engine") end - addMix(elevCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elev1-E", 50) - addMix(elevCH1, MIXSRC_FIRST_INPUT+defaultChannel(3), "Elev1-A", 50, 1) - addMix(elevCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elev2-E", 50) - addMix(elevCH2, MIXSRC_FIRST_INPUT+defaultChannel(3), "Elev2-A", -50, 1) + addMix(elevCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "ElevL-E", 50) + addMix(elevCH1, MIXSRC_FIRST_INPUT+defaultChannel(3), "ElevL-A", 50, 1) + addMix(elevCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "ElevR-E", 50) + addMix(elevCH2, MIXSRC_FIRST_INPUT+defaultChannel(3), "ElevR-A", -50, 1) if rudderMode == 1 then addMix(rudCH1, MIXSRC_FIRST_INPUT+defaultChannel(0), "Rudder") end @@ -319,6 +319,7 @@ end local function drawNextLine(x, y, label, channel) lcd.drawText(x, y, label, 0); + lcd.drawText(x+48, y, ":", 0); lcd.drawSource(x+52, y, MIXSRC_CH1+channel, 0) y = y + 8 if y > 50 then @@ -335,17 +336,16 @@ local function drawConfirmationMenu() lcd.drawText(48, 1, "Ready to go?", 0); lcd.drawFilledRectangle(0, 0, LCD_W, 9, 0) if engineMode == 1 then - x, y = drawNextLine(x, y, "Throttle:", thrCH1) + x, y = drawNextLine(x, y, "Throttle", thrCH1) end - x, y = drawNextLine(x, y, "Elevons:", elevCH1) - x, y = drawNextLine(x, y, "Elevons:", elevCH2) + x, y = drawNextLine(x, y, "Elev L", elevCH1) + x, y = drawNextLine(x, y, "Elev R", elevCH2) if rudderMode == 1 then drawNextLine(x, y, "Rudder:", rudCH1) end - lcd.drawText(48, LCD_H-8, "[Enter Long] to confirm", 0); + lcd.drawText(48, LCD_H-8, "Long [ENT] to confirm", 0); lcd.drawFilledRectangle(0, LCD_H-9, LCD_W, 9, 0) - lcd.drawPixmap(LCD_W-18, 0, "confirm-tick.bmp") - lcd.drawPixmap(0, LCD_H-17, "confirm-plane.bmp") + lcd.drawPixmap(LCD_W-18, LCD_H-17, "confirm-tick.bmp") fieldsMax = 0 end diff --git a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/multi.lua b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/multi.lua index e99c84af8..85557d5b6 100644 --- a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/multi.lua +++ b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/multi.lua @@ -27,7 +27,6 @@ local dirty = true local edit = false local field = 0 local fieldsMax = 0 -local comboBoxMode = 0 -- Scrap variable -- Model settings local thrCH1 = 0 @@ -140,11 +139,9 @@ local function drawThrottleMenu() lcd.clear() lcd.drawText(1, 0, "Select multicopter throttle channel", 0) lcd.drawFilledRectangle(0, 0, LCD_W, 8, GREY_DEFAULT+FILL_WHITE) - lcd.drawCombobox(0, 8, LCD_W/2, {"..."}, comboBoxMode, getFieldFlags(1)) lcd.drawLine(LCD_W/2-1, 18, LCD_W/2-1, LCD_H-1, DOTTED, 0) lcd.drawPixmap(120, 8, "multi-thr.bmp") - lcd.drawText(20, LCD_H-16, "Assign Throttle", 0); - lcd.drawText(20, LCD_H-8, "Channel", 0); + lcd.drawText(25, LCD_H-16, "Assign channel", 0); lcd.drawText(LCD_W/2-19, LCD_H-8, ">>>", 0); lcd.drawSource(113, LCD_H-8, MIXSRC_CH1+thrCH1, getFieldFlags(0)) fieldsMax = 0 @@ -164,11 +161,9 @@ local function drawRollMenu() lcd.clear() lcd.drawText(1, 0, "Select multicopter roll channel", 0) lcd.drawFilledRectangle(0, 0, LCD_W, 8, GREY_DEFAULT+FILL_WHITE) - lcd.drawCombobox(0, 8, LCD_W/2, {"..."}, comboBoxMode, getFieldFlags(1)) lcd.drawLine(LCD_W/2-1, 18, LCD_W/2-1, LCD_H-1, DOTTED, 0) lcd.drawPixmap(120, 8, "multi-roll.bmp") - lcd.drawText(20, LCD_H-16, "Assign Roll", 0); - lcd.drawText(20, LCD_H-8, "Channel", 0); + lcd.drawText(25, LCD_H-16, "Assign channel", 0); lcd.drawText(LCD_W/2-19, LCD_H-8, ">>>", 0); lcd.drawSource(113, LCD_H-8, MIXSRC_CH1+rollCH1, getFieldFlags(0)) fieldsMax = 0 @@ -188,11 +183,9 @@ local function drawPitchMenu() lcd.clear() lcd.drawText(1, 0, "Select multicopter pitch channel", 0) lcd.drawFilledRectangle(0, 0, LCD_W, 8, GREY_DEFAULT+FILL_WHITE) - lcd.drawCombobox(0, 8, LCD_W/2, {"..."}, comboBoxMode, getFieldFlags(1)) lcd.drawLine(LCD_W/2-1, 18, LCD_W/2-1, LCD_H-1, DOTTED, 0) lcd.drawPixmap(120, 8, "multi-pitch.bmp") - lcd.drawText(20, LCD_H-16, "Assign Pitch", 0); - lcd.drawText(20, LCD_H-8, "Channel", 0); + lcd.drawText(25, LCD_H-16, "Assign channel", 0); lcd.drawText(LCD_W/2-19, LCD_H-8, ">>>", 0); lcd.drawSource(113, LCD_H-8, MIXSRC_CH1+pitchCH1, getFieldFlags(0)) fieldsMax = 0 @@ -212,11 +205,9 @@ local function drawYawMenu() lcd.clear() lcd.drawText(1, 0, "Select multicopter yaw channel", 0) lcd.drawFilledRectangle(0, 0, LCD_W, 8, GREY_DEFAULT+FILL_WHITE) - lcd.drawCombobox(0, 8, LCD_W/2, {"..."}, comboBoxMode, getFieldFlags(1)) lcd.drawLine(LCD_W/2-1, 18, LCD_W/2-1, LCD_H-1, DOTTED, 0) lcd.drawPixmap(120, 8, "multi-yaw.bmp") - lcd.drawText(20, LCD_H-16, "Assign Yaw", 0); - lcd.drawText(20, LCD_H-8, "Channel", 0); + lcd.drawText(25, LCD_H-16, "Assign channel", 0); lcd.drawText(LCD_W/2-19, LCD_H-8, ">>>", 0); lcd.drawSource(113, LCD_H-8, MIXSRC_CH1+yawCH1, getFieldFlags(0)) fieldsMax = 0 @@ -234,6 +225,7 @@ end -- Confirmation Menu local function drawNextLine(x, y, label, channel) lcd.drawText(x, y, label, 0); + lcd.drawText(x+48, y, ":", 0); lcd.drawSource(x+52, y, MIXSRC_CH1+channel, 0) y = y + 8 if y > 50 then @@ -249,14 +241,13 @@ local function drawConfirmationMenu() lcd.clear() lcd.drawText(48, 1, "Ready to go?", 0); lcd.drawFilledRectangle(0, 0, LCD_W, 9, 0) - x, y = drawNextLine(x, y, "Throttle:", thrCH1) - x, y = drawNextLine(x, y, "Roll:", rollCH1) - x, y = drawNextLine(x, y, "Pitch:", pitchCH1) - x, y = drawNextLine(x, y, "Yaw:", yawCH1) - lcd.drawText(48, LCD_H-8, "[Enter Long] to confirm", 0); + x, y = drawNextLine(x, y, "Throttle", thrCH1) + x, y = drawNextLine(x, y, "Roll", rollCH1) + x, y = drawNextLine(x, y, "Pitch", pitchCH1) + x, y = drawNextLine(x, y, "Yaw", yawCH1) + lcd.drawText(48, LCD_H-8, "Long [ENT] to confirm", 0); lcd.drawFilledRectangle(0, LCD_H-9, LCD_W, 9, 0) - lcd.drawPixmap(LCD_W-18, 0, "confirm-tick.bmp") - lcd.drawPixmap(0, LCD_H-17, "confirm-plane.bmp") + lcd.drawPixmap(LCD_W-18, LCD_H-17, "confirm-tick.bmp") fieldsMax = 0 end diff --git a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/plane.lua b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/plane.lua index 14321803c..106be143f 100644 --- a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/plane.lua +++ b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/plane.lua @@ -35,16 +35,16 @@ local engineMode = 1 local thrCH1 = 0 local aileronsMode = 1 local ailCH1 = 0 -local ailCH2 = 4 +local ailCH2 = 5 local flapsMode = 0 -local flapsCH1 = 5 -local flapsCH2 = 6 +local flapsCH1 = 6 +local flapsCH2 = 7 local brakesMode = 0 local brakesCH1 = 8 local brakesCH2 = 9 local tailMode = 1 local eleCH1 = 0 -local eleCH2 = 7 +local eleCH2 = 4 local rudCH1 = 0 local servoPage = nil @@ -149,7 +149,7 @@ local function init() end -- Engine Menu -local engineModeItems = {"No", "Yes..."} +local engineModeItems = {"No", "Yes"} local function drawEngineMenu() lcd.clear() lcd.drawText(1, 0, "Has your model got an engine?", 0) @@ -186,7 +186,7 @@ local function engineMenu(event) end -- Ailerons Menu -local aileronsModeItems = {"No", "Yes...", "Yes, 2 channels..."} +local aileronsModeItems = {"No", "Yes", "Yes, 2 channels"} local function drawAileronsMenu() lcd.clear() lcd.drawText(1, 0, "Has your model got ailerons?", 0) @@ -233,7 +233,7 @@ local function aileronsMenu(event) end -- Flaps Menu -local flapsModeItems = {"No", "Yes...", "Yes, 2 channels..."} +local flapsModeItems = {"No", "Yes", "Yes, 2 channels"} local function drawFlapsMenu() lcd.clear() lcd.drawText(1, 0, "Has your model got flaps?", 0) @@ -280,7 +280,7 @@ local function flapsMenu(event) end -- Airbrakes Menu -local brakesModeItems = {"No", "Yes...", "Yes, 2 channels..."} +local brakesModeItems = {"No", "Yes", "Yes, 2 channels"} local function drawBrakesMenu() lcd.clear() lcd.drawText(1, 0, "Has your model got air brakes?", 0) @@ -327,7 +327,7 @@ local function brakesMenu(event) end -- Tail Menu -local tailModeItems = {"Ele(1ch), no Rud...", "Ele(1ch) + Rud...", "Ele(2ch) + Rud...", "V-Tail..."} +local tailModeItems = {"Ele(1ch)", "Ele(1ch) + Rudder(1ch)", "Ele(2ch) + Rudder(1ch)", "V-Tail(2ch)"} local function drawTailMenu() lcd.clear() lcd.drawText(1, 0, "Which is the tail config on your model?", 0) @@ -435,6 +435,7 @@ end -- Confirmation Menu local function drawNextLine(x, y, label, channel) lcd.drawText(x, y, label, 0); + lcd.drawText(x+48, y, ":", 0); lcd.drawSource(x+52, y, MIXSRC_CH1+channel, 0) y = y + 8 if y > 50 then @@ -451,40 +452,41 @@ local function drawConfirmationMenu() lcd.drawText(48, 1, "Ready to go?", 0); lcd.drawFilledRectangle(0, 0, LCD_W, 9, 0) if engineMode == 1 then - x, y = drawNextLine(x, y, "Throttle:", thrCH1) + x, y = drawNextLine(x, y, "Throttle", thrCH1) end - if aileronsMode > 0 then - x, y = drawNextLine(x, y, "Ailerons:", ailCH1) - if aileronsMode == 2 then - x, y = drawNextLine(x, y, "Ailerons:", ailCH2) - end + if aileronsMode == 1 then + x, y = drawNextLine(x, y, "Ail", ailCH1) + elseif aileronsMode == 2 then + x, y = drawNextLine(x, y, "Ail L", ailCH1) + x, y = drawNextLine(x, y, "Ail R", ailCH2) end - if flapsMode > 0 then - x, y = drawNextLine(x, y, "Flaps:", flapsCH1) - if flapsMode == 2 then - x, y = drawNextLine(x, y, "Flaps:", flapsCH2) - end + if flapsMode == 1 then + x, y = drawNextLine(x, y, "Flaps", flapsCH1) + elsif flapsMode == 2 then + x, y = drawNextLine(x, y, "Flap L", flapsCH1) + x, y = drawNextLine(x, y, "Flap R", flapsCH2) end - if brakesMode > 0 then - x, y = drawNextLine(x, y, "Brakes:", brakesCH1) - if brakesMode == 2 then - x, y = drawNextLine(x, y, "Brakes:", brakesCH2) - end + if brakesMode == 1 then + x, y = drawNextLine(x, y, "Brakes", brakesCH1) + elseif brakesMode == 2 then + x, y = drawNextLine(x, y, "Brake L", brakesCH1) + x, y = drawNextLine(x, y, "Brake R", brakesCH2) end if tailMode == 3 then - x, y = drawNextLine(x, y, "V-Tail:", eleCH1) - x, y = drawNextLine(x, y, "V-Tail:", eleCH2) + x, y = drawNextLine(x, y, "V-Tail L", eleCH1) + x, y = drawNextLine(x, y, "V-Tail R", eleCH2) else - x, y = drawNextLine(x, y, "Elevator:", eleCH1) - if tailMode == 2 then - x, y = drawNextLine(x, y, "Elevator:", eleCH2) + x, y = drawNextLine(x, y, "Rudder", rudCH1) + if tailMode == 1 then + x, y = drawNextLine(x, y, "Elev", eleCH1) + elseif tailMode == 2 then + x, y = drawNextLine(x, y, "Elev L", eleCH1) + x, y = drawNextLine(x, y, "Elev R", eleCH2) end - drawNextLine(x, y, "Rudder:", rudCH1) end - lcd.drawText(48, LCD_H-8, "[Enter Long] to confirm", 0); + lcd.drawText(48, LCD_H-8, "Long [ENT] to confirm", 0); lcd.drawFilledRectangle(0, LCD_H-9, LCD_W, 9, 0) - lcd.drawPixmap(LCD_W-18, 0, "confirm-tick.bmp") - lcd.drawPixmap(0, LCD_H-17, "confirm-plane.bmp") + lcd.drawPixmap(LCD_W-18, LCD_H-17, "confirm-tick.bmp") fieldsMax = 0 end @@ -505,36 +507,38 @@ local function applySettings() if engineMode > 0 then addMix(thrCH1, MIXSRC_FIRST_INPUT+defaultChannel(2), "Engine") end - if aileronsMode > 0 then - addMix(ailCH1, MIXSRC_FIRST_INPUT+defaultChannel(3), "Aileron") - if aileronsMode == 2 then - addMix(ailCH2, MIXSRC_FIRST_INPUT+defaultChannel(3), "Aileron", -100) - end + if aileronsMode == 1 then + addMix(ailCH1, MIXSRC_FIRST_INPUT+defaultChannel(3), "Ail") + elseif aileronsMode == 2 then + addMix(ailCH1, MIXSRC_FIRST_INPUT+defaultChannel(3), "Ail L") + addMix(ailCH2, MIXSRC_FIRST_INPUT+defaultChannel(3), "Ail R", -100) end - if flapsMode > 0 then - addMix(flapsCH1, MIXSRC_SA, "Flap") - if flapsMode == 2 then - addMix(flapsCH2, MIXSRC_SA, "Flap") - end + if flapsMode == 1 then + addMix(flapsCH1, MIXSRC_SA, "Flaps") + elseif flapsMode == 2 then + addMix(flapsCH1, MIXSRC_SA, "Flap L") + addMix(flapsCH2, MIXSRC_SA, "Flap R") end - if brakesMode > 0 then - addMix(brakesCH1, MIXSRC_SE, "Brake") - if brakesMode == 2 then - addMix(brakesCH2, MIXSRC_SE, "Brake") - end + if brakesMode == 1 then + addMix(brakesCH1, MIXSRC_SE, "Brakes") + elseif brakesMode == 2 then + addMix(brakesCH1, MIXSRC_SE, "Brake L") + addMix(brakesCH2, MIXSRC_SE, "Brake R") end if tailMode == 3 then - addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "V-Tail-E", 50) - addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(0), "V-Tail-R", 50, 1) - addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "V-Tail-E", 50) - addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(0), "V-Tail-R", -50, 1) + addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "V-Ele L", 50) + addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(0), "V-Rud L", 50, 1) + addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "V-Ele R", 50) + addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(0), "V-Rud R", -50, 1) else - addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elevator") if tailMode > 0 then addMix(rudCH1, MIXSRC_FIRST_INPUT+defaultChannel(0), "Rudder") end - if tailMode == 2 then - addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elevator") + if tailMode == 1 then + addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elevator") + elseif tailMode == 2 then + addMix(eleCH1, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elev L") + addMix(eleCH2, MIXSRC_FIRST_INPUT+defaultChannel(1), "Elev R") end end end diff --git a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/wizard.lua b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/wizard.lua index 538212201..463522765 100644 --- a/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/wizard.lua +++ b/radio/sdcard/taranis-x9/SCRIPTS/WIZARD/wizard.lua @@ -20,7 +20,6 @@ local dirty = true -- Model types local modelType = 0 local MODELTYPE_PLANE = 0 ---local MODELTYPE_HELI = 1 local MODELTYPE_DELTA = 1 local MODELTYPE_QUAD = 2 @@ -39,18 +38,16 @@ end -- Model Type Menu local function modelTypeSurround(index) - lcd.drawRectangle(12+47*index, 13, 48, 48) - lcd.drawPixmap(17+47*index, 8, "mark.bmp") + lcd.drawRectangle(17+65*index, 14, 48, 48) + lcd.drawPixmap(22+65*index, 9, "mark.bmp") end local function drawModelChoiceMenu() lcd.clear() - lcd.drawScreenTitle("", 0, 0) - -- lcd.drawText(58, 13, "Select model type", 0) - lcd.drawPixmap( 16, 17, "plane.bmp") - --lcd.drawPixmap( 63, 17, "heli.bmp") - lcd.drawPixmap(63, 17, "delta.bmp") - lcd.drawPixmap(110, 17, "quadri.bmp") + 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 @@ -62,7 +59,6 @@ local function modelTypeMenu(event) if event == EVT_ENTER_BREAK then if modelType == MODELTYPE_PLANE then return "plane.lua" - elseif modelType == MODELTYPE_HELI then elseif modelType == MODELTYPE_DELTA then return "delta.lua" elseif modelType == MODELTYPE_QUAD then