Move to image elements rather than full screen pictures, thanks to @Mhotar
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 506 B |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
@@ -6,20 +6,14 @@ local page = 1
|
||||
local current = 1
|
||||
local pages = {}
|
||||
local fields = {}
|
||||
local AilCfgBg = {}
|
||||
local FlapsCfgBg = {}
|
||||
local TailCfgBg = {}
|
||||
local SummaryBackground
|
||||
|
||||
-- Release memory
|
||||
local function clean()
|
||||
print("FREE MEMORY CALLED")
|
||||
MotorConfigBackground = nil
|
||||
AilCfgBg = nil
|
||||
FlapsCfgBg = nil
|
||||
TailCfgBg = nil
|
||||
SummaryBackground = nil
|
||||
end
|
||||
-- load common Bitmaps
|
||||
local ImgMarkBg = Bitmap.open("img/mark_bg.png")
|
||||
local BackgroundImg = Bitmap.open("img/background.png")
|
||||
local ImgPlane = Bitmap.open("img/plane.png")
|
||||
local ImgPageUp = Bitmap.open("img/pageup.png")
|
||||
local ImgPageDn = Bitmap.open("img/pagedn.png")
|
||||
|
||||
|
||||
-- Change display attribute to current field
|
||||
local function addField(step)
|
||||
@@ -117,22 +111,31 @@ local function setFieldsVisible(...)
|
||||
end
|
||||
end
|
||||
|
||||
-- on demand load of bitmaps
|
||||
local function loadIndexedBitmap(bitmap, index, name)
|
||||
if bitmap[index] == nil then
|
||||
bitmap[index] = Bitmap.open(name..index..".gif")
|
||||
end
|
||||
-- draws one letter mark
|
||||
local function drawMark(x, y, name)
|
||||
lcd.drawBitmap(ImgMarkBg, x, y)
|
||||
lcd.drawText(x+8, y+3, name, TEXT_COLOR)
|
||||
end
|
||||
|
||||
local MotorConfigBackground = Bitmap.open("img/bg_engine.gif")
|
||||
|
||||
local MotorFields = {
|
||||
{50, 50, COMBO, 1, 1, { "No", "Yes"} },
|
||||
{50, 127, COMBO, 1, 2, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } },
|
||||
}
|
||||
|
||||
local ImgEngineEl
|
||||
local ImgEngineCom
|
||||
|
||||
local function runMotorConfig(event)
|
||||
lcd.clear()
|
||||
lcd.drawBitmap(MotorConfigBackground, 0, 0)
|
||||
if ImgEngineEl == nil then
|
||||
ImgEngineEl = Bitmap.open("img/eng_electric.png")
|
||||
ImgEngineCom = Bitmap.open("img/eng_comb.png")
|
||||
end
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgPageDn, 455, 95)
|
||||
lcd.drawBitmap(ImgEngineEl, 310, 50)
|
||||
lcd.drawBitmap(ImgEngineCom, 180, 150)
|
||||
lcd.setColor(CUSTOM_COLOR, lcd.RGB(255, 255, 255))
|
||||
fields = MotorFields
|
||||
lcd.drawText(40, 20, "Does your model have a motor ?", TEXT_COLOR)
|
||||
@@ -143,7 +146,6 @@ local function runMotorConfig(event)
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
fields[2][4]=1
|
||||
end
|
||||
loadIndexedBitmap(AilCfgBg, 2, "img/bg_ail")
|
||||
local result = runFieldsPage(event)
|
||||
return result
|
||||
end
|
||||
@@ -156,28 +158,43 @@ local AilFields = {
|
||||
{50, 167, COMBO, 1, 4, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } }, -- Ail2 chan
|
||||
}
|
||||
|
||||
local ImgAilR
|
||||
local ImgAilL
|
||||
|
||||
local function runAilConfig(event)
|
||||
lcd.clear()
|
||||
if ImgAilR == nil then
|
||||
ImgAilR = Bitmap.open("img/rail.png")
|
||||
ImgAilL = Bitmap.open("img/lail.png")
|
||||
end
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgPageUp, 0, 95)
|
||||
lcd.drawBitmap(ImgPageDn, 455, 95)
|
||||
lcd.drawBitmap(ImgPlane, 252, 100)
|
||||
fields = AilFields
|
||||
if fields[1][5] == 1 then
|
||||
loadIndexedBitmap(AilCfgBg, 1, "img/bg_ail")
|
||||
lcd.drawBitmap(AilCfgBg[1], 0, 0)
|
||||
lcd.drawBitmap(ImgAilR, 324, 123)
|
||||
lcd.drawBitmap(ImgAilL, 275, 210)
|
||||
drawMark(362, 132, "A")
|
||||
drawMark(302, 227, "A")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
setFieldsVisible(1, 0)
|
||||
elseif fields[1][5] == 2 then
|
||||
loadIndexedBitmap(AilCfgBg, 2, "img/bg_ail")
|
||||
lcd.drawBitmap(AilCfgBg[2], 0, 0)
|
||||
lcd.drawBitmap(ImgAilR, 324, 123)
|
||||
lcd.drawBitmap(ImgAilL, 275, 210)
|
||||
drawMark(362, 132, "A")
|
||||
drawMark(302, 227, "B")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 164, "B")
|
||||
setFieldsVisible(1, 1)
|
||||
else
|
||||
loadIndexedBitmap(AilCfgBg, 0, "img/bg_ail")
|
||||
lcd.drawBitmap(AilCfgBg[0], 0, 0)
|
||||
setFieldsVisible(0, 0)
|
||||
end
|
||||
lcd.drawText(40, 20, "Number of ailerons on your model ?", TEXT_COLOR)
|
||||
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
|
||||
loadIndexedBitmap(FlapsCfgBg, 1, "img/bg_flaps")
|
||||
local result = runFieldsPage(event)
|
||||
return result
|
||||
end
|
||||
@@ -188,28 +205,41 @@ local FlapsFields = {
|
||||
{50, 167, COMBO, 1, 7, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } },
|
||||
}
|
||||
|
||||
local ImgFlp
|
||||
|
||||
local function runFlapsConfig(event)
|
||||
lcd.clear()
|
||||
if ImgFlp == nil then
|
||||
ImgFlp = Bitmap.open("img/flap.png")
|
||||
end
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgPageUp, 0, 95)
|
||||
lcd.drawBitmap(ImgPageDn, 455, 95)
|
||||
lcd.drawBitmap(ImgPlane, 252, 100)
|
||||
fields = FlapsFields
|
||||
if fields[1][5] == 1 then
|
||||
loadIndexedBitmap(FlapsCfgBg, 1, "img/bg_flaps")
|
||||
lcd.drawBitmap(FlapsCfgBg[1], 0, 0)
|
||||
lcd.drawBitmap(ImgFlp, 315, 143)
|
||||
lcd.drawBitmap(ImgFlp, 285, 191)
|
||||
drawMark(362, 132, "A")
|
||||
drawMark(302, 227, "A")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
setFieldsVisible(1, 0)
|
||||
elseif fields[1][5] == 2 then
|
||||
loadIndexedBitmap(FlapsCfgBg, 2, "img/bg_flaps")
|
||||
lcd.drawBitmap(FlapsCfgBg[2], 0, 0)
|
||||
lcd.drawBitmap(ImgFlp, 315, 143)
|
||||
lcd.drawBitmap(ImgFlp, 285, 191)
|
||||
drawMark(362, 132, "A")
|
||||
drawMark(302, 227, "B")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 164, "B")
|
||||
setFieldsVisible(1, 1)
|
||||
else
|
||||
loadIndexedBitmap(FlapsCfgBg, 0, "img/bg_flaps")
|
||||
lcd.drawBitmap(FlapsCfgBg[0], 0, 0)
|
||||
setFieldsVisible(0, 0)
|
||||
end
|
||||
lcd.drawText(40, 20, "Does your model have flaps ?", TEXT_COLOR)
|
||||
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
|
||||
loadIndexedBitmap(TailCfgBg, 1, "img/bg_tail")
|
||||
local result = runFieldsPage(event)
|
||||
return result
|
||||
end
|
||||
@@ -221,42 +251,67 @@ local TailFields = {
|
||||
{50, 207, COMBO, 0, 5, { "CH1", "CH2", "CH3", "CH4", "CH5", "CH6", "CH7", "CH8" } }, --ele2
|
||||
}
|
||||
|
||||
local ImgTail
|
||||
local ImgVTail
|
||||
local ImgTailRud
|
||||
|
||||
local function runTailConfig(event)
|
||||
lcd.clear()
|
||||
if ImgTail == nil then
|
||||
ImgTail = Bitmap.open("img/tail.png")
|
||||
ImgVTail = Bitmap.open("img/vtail.png")
|
||||
ImgTailRud = Bitmap.open("img/tailrud.png")
|
||||
end
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgPageUp, 0, 95)
|
||||
lcd.drawBitmap(ImgPageDn, 455, 95)
|
||||
fields = TailFields
|
||||
if fields[1][5] == 0 then
|
||||
loadIndexedBitmap(TailCfgBg, 0, "img/bg_tail")
|
||||
lcd.drawBitmap(TailCfgBg[0], 0, 0)
|
||||
lcd.drawBitmap(ImgTail, 252, 100)
|
||||
drawMark(275, 120, "A")
|
||||
drawMark(390, 155, "A")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
setFieldsVisible(1, 0, 0)
|
||||
end
|
||||
if fields[1][5] == 1 then
|
||||
loadIndexedBitmap(TailCfgBg, 1, "img/bg_tail")
|
||||
lcd.drawBitmap(TailCfgBg[1], 0, 0)
|
||||
lcd.drawBitmap(ImgTail, 252, 100)
|
||||
lcd.drawBitmap(ImgTailRud, 340, 100)
|
||||
drawMark(275, 120, "A")
|
||||
drawMark(390, 155, "A")
|
||||
drawMark(370, 112, "B")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 164, "B")
|
||||
setFieldsVisible(1, 1, 0)
|
||||
end
|
||||
if fields[1][5] == 2 then
|
||||
loadIndexedBitmap(TailCfgBg, 2, "img/bg_tail")
|
||||
lcd.drawBitmap(TailCfgBg[2], 0, 0)
|
||||
lcd.drawBitmap(ImgTail, 252, 100)
|
||||
lcd.drawBitmap(ImgTailRud, 340, 100)
|
||||
drawMark(275, 120, "A")
|
||||
drawMark(390, 155, "C")
|
||||
drawMark(370, 112, "B")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 164, "B")
|
||||
lcd.drawFilledRectangle(40, 202, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 204, "C")
|
||||
setFieldsVisible(1, 1, 1)
|
||||
end
|
||||
if fields[1][5] == 3 then
|
||||
loadIndexedBitmap(TailCfgBg, 3, "img/bg_tail")
|
||||
lcd.drawBitmap(TailCfgBg[3], 0, 0)
|
||||
lcd.drawBitmap(ImgVTail, 252, 100)
|
||||
drawMark(315, 110, "A")
|
||||
drawMark(382, 120, "B")
|
||||
lcd.drawFilledRectangle(40, 122, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 124, "A")
|
||||
lcd.drawFilledRectangle(40, 162, 100, 30, CUSTOM_COLOR)
|
||||
drawMark(152, 164, "B")
|
||||
setFieldsVisible(1, 1, 0)
|
||||
end
|
||||
lcd.drawText(40, 20, "Pick the tail config of your model", TEXT_COLOR)
|
||||
lcd.drawFilledRectangle(40, 45, 400, 30, CUSTOM_COLOR)
|
||||
if SummaryBackground == nil then
|
||||
SummaryBackground = Bitmap.open("img/bg_sum.gif")
|
||||
end
|
||||
local result = runFieldsPage(event)
|
||||
return result
|
||||
end
|
||||
@@ -272,10 +327,17 @@ local ConfigSummaryFields = {
|
||||
{110, 250, COMBO, 1, 0, { "No, I need to change something", "Yes, all is well, create the plane !"} },
|
||||
}
|
||||
|
||||
local ImgSummary
|
||||
|
||||
local function runConfigSummary(event)
|
||||
lcd.clear()
|
||||
if ImgSummary == nil then
|
||||
ImgSummary = Bitmap.open("img/summary.png")
|
||||
end
|
||||
fields = ConfigSummaryFields
|
||||
lcd.drawBitmap(SummaryBackground, 0, 0)
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgPageUp, 0, 95)
|
||||
lcd.drawBitmap(ImgSummary, 300, 60)
|
||||
lineIndex = 40
|
||||
-- motors
|
||||
if(MotorFields[1][5] == 1) then
|
||||
@@ -332,7 +394,8 @@ end
|
||||
|
||||
local function createModel(event)
|
||||
lcd.clear()
|
||||
lcd.drawBitmap(SummaryBackground, 0, 0)
|
||||
lcd.drawBitmap(BackgroundImg, 0, 0)
|
||||
lcd.drawBitmap(ImgSummary, 300, 60)
|
||||
model.defaultInputs()
|
||||
model.deleteMixes()
|
||||
-- motor
|
||||
@@ -372,8 +435,8 @@ local function createModel(event)
|
||||
addMix(TailFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(1), "VTailE", 50)
|
||||
addMix(TailFields[3][5], MIXSRC_FIRST_INPUT+defaultChannel(0), "VTailR", -50, 1)
|
||||
end
|
||||
lcd.drawText(70, 140, "Model successfully created !", TEXT_COLOR)
|
||||
lcd.drawText(100, 180, "Press RTN to exit", TEXT_COLOR)
|
||||
lcd.drawText(70, 90, "Model successfully created !", TEXT_COLOR)
|
||||
lcd.drawText(100, 130, "Press RTN to exit", TEXT_COLOR)
|
||||
return 2
|
||||
end
|
||||
|
||||
|
||||