local function run(event)
--@CoolChaos 22. Sep 2014 (07:55) Uhr
--Modified by Kaldi
--Modified by The Spirit
---------------------------------------------
-- BENUTZER Konfiguration --
---------------------------------------------
---------------------------------------
-- Linke Schalter (F,E,A,B,LS,S1)
---------------------------------------
-- Schalter F
local sfmeO = "Landung aus" -- Anzeige Text f¸r Oben
local sfmeU = "Landung ein" -- Anzeige Text f¸r Unten
-- Schalter E
local semeO = " ---" -- Anzeige Text f¸r Oben
local semeM = " ---" -- Anzeige Text f¸r Mitte
local semeU = " ---" -- Anzeige Text f¸r Unten
-- Schalter A
local sameO = " ---"
local sameM = " ---"
local sameU = " ---"
-- Schalter B
local sbmeO = "Q-W-Mix an"
local sbmeM = "Q-W-Mix aus"
local sbmeU = "Q-W-Mix aus"
-- Drehschieber LS
local lsactive = 0 -- Anzeige ein = 1, aus = 0
local lsmeO = "Lautsprecher"
local lsmeM = "Lautsprecher"
local lsmeU = "Lautsprecher"
local lschan = getValue("ls") -- Kanal angeben, um den Wert auszulesen
local lsrgmin = 0
local lsrgmax = 100
local lsrgb = ""
-- DrehPoti S1
local s1active = 0 -- Anzeige ein = 1, aus = 0
local s1meO = "Armed"
local s1meM = "Armed"
local s1meU = "Armed"
local s1chan = getValue("s1") -- Kanal angeben, um den Wert auszulesen
local s1rgmin = 0
local s1rgmax = 100
local s1rgb = ""
-- DrehPoti S1 (L6 Logikschalter für Armed und Disarmed)
local ls3On = "Armed"
local ls3Off = "Disarmed"
local ls3 = getValue("ls3") -- Kanal angeben, um den Wert auszulesen
---------------------------------------
-- rechte Schalter (H,G,D,C,RS,S2)
---------------------------------------
local shmeO = " ---" -- Anzeige Text f¸r Oben
local shmeU = " ---" -- Anzeige Text f¸r Unten
local sgmeO = " ---" -- Anzeige Text f¸r Oben
local sgmeM = " ---" -- Anzeige Text f¸r Mitte
local sgmeU = " ---" -- Anzeige Text f¸r Unten
local sdmeO = " ---"
local sdmeM = " ---"
local sdmeU = " ---"
local scmeO = "Speed"
local scmeM = "Normal"
local scmeU = "Thermik"
local rsactive = 0 -- Anzeige ein = 1, aus = 0
local rsmeO = "RS-Oben"
local rsmeM = "RS-Mitte"
local rsmeU = "RS-Unten"
local rschan = getValue("rs") -- Kanal angeben, um den Wert auszulesen
local rsrgmin = -70
local rsrgmax = 30
local rsrgb = ""
local s2active = 1 -- Anzeige ein = 1, aus = 0
local s2meO = "Lautsprecher"
local s2meM = "Lautsprecher"
local s2meU = "Lautsprecher"
local s2chan = getValue("s2") -- Kanal angeben, um den Wert auszulesen
local s2rgmin = 0
local s2rgmax = 100
local s2rgb = "" -- Erweiterung angeben. F¸r ∞ bitte \64 eingeben
---------------------------------------------
-- BENUTZER Konfiguration ENDE --
---------------------------------------------
-- ab hier muss nichts mehr ge‰ndert werden
local vvorn = 3
local vvorns =20 --14
local voben = 10
local vobens = 9
local meldlaenge =106
local vrechts = 200
local vvorn2 = 109
local vvorns2 =3
lcd.drawLine(meldlaenge-92, voben-2, meldlaenge-92 ,61, SOLID, GREY_DEFAULT) -- linke senkrechte Linie
lcd.drawLine(meldlaenge+92, voben-2, meldlaenge+92 ,61, SOLID, GREY_DEFAULT) -- linke senkrechte Linie
lcd.drawLine(meldlaenge+1, voben-2, meldlaenge+1 ,61, SOLID, GREY_DEFAULT) -- mittlere senkrechte Linie
---------------------------------------
-- Linke Schalter (F,E,A,B,LS,S1)
---------------------------------------
local sfs = "sf" -- welcher Schalter
local sfb = "SF" -- Bezeichnung vorn
lcd.drawText(vvorn,voben,sfb,SMLSIZE) -- Anzeige Bezeichnung vorn
local ses = "se" -- welcher Schalter
local seb = "SE" -- Bezeichnung vorn
lcd.drawText(vvorn,voben+vobens*1,seb,SMLSIZE) -- Anzeige Bezeichnung vorn
local sas = "sa"
local sab = "SA"
lcd.drawText(vvorn,voben+vobens*2,sab,SMLSIZE)
local sbs = "sb"
local sbb = "SB"
lcd.drawText(vvorn,voben+vobens*3,sbb,SMLSIZE)
local lss = "ls"
local lsb = "LS"
lcd.drawText(vvorn,voben+vobens*4,lsb,SMLSIZE)
local s1s = "s1"
local s1b = "S1"
lcd.drawText(vvorn,voben+vobens*5,s1b,SMLSIZE)
---------------------------------------
-- rechte Schalter (H,G,D,C,RS,S2)
---------------------------------------
local shs = "sh" -- welcher Schalter
local shb = "SH" -- Bezeichnung vorn
lcd.drawText(vrechts,voben,shb,SMLSIZE) -- Anzeige Bezeichnung vorn
local sgs = "sg"
local sgb = "SG"
lcd.drawText(vrechts,voben+vobens,sgb,SMLSIZE)
local sds = "sd"
local sdb = "SD"
lcd.drawText(vrechts,voben+vobens*2,sdb,SMLSIZE)
local scs = "sc"
local scb = "SC"
lcd.drawText(vrechts,voben+vobens*3,scb,SMLSIZE)
local rss = "rs"
local rsb = "RS"
lcd.drawText(vrechts,voben+vobens*4,rsb,SMLSIZE)
local s2s = "s2"
local s2b = "S2"
lcd.drawText(vrechts,voben+vobens*5,s2b,SMLSIZE)
-- Schalter Definitionen Stop
-- Titel Bar -Start
lcd.drawFilledRectangle(0,0,212,8,GREY_DEFAULT) -- Block Rechteck
local modelinfo = model.getInfo()
local pause = " "
local Titel = "Schalterinfo"
Titel = Titel .. " " .. modelinfo.name
lcd.drawScreenTitle(Titel,0,0)
-- Titel Bar -Stop
-- Schalter Auswertung und Status-Anzeige Start
-- Linke Schalter
-- Schalter F
lcd.drawRectangle(vvorn+12,voben-1,4,8)
if getValue(sfs)==0 then
lcd.drawText(vvorn+vvorns,voben,sfmeM,SMLSIZE)
elseif getValue(sfs)==1024 then
lcd.drawFilledRectangle(vvorn+13,voben+4, 2,2,0)
lcd.drawText(vvorn+vvorns,voben,sfmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vvorn+13,voben, 2,2,0)
lcd.drawText(vvorn+vvorns,voben,sfmeO,SMLSIZE)
end
-- Schalter E
lcd.drawRectangle(vvorn+12,voben+vobens-1,4,8)
if getValue(ses)==0 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens+2, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens,semeM,SMLSIZE)
elseif getValue(ses)==1024 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens+4, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens,semeU,SMLSIZE)
else
lcd.drawFilledRectangle(vvorn+13,voben+vobens, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens,semeO,SMLSIZE)
end
-- Schalter A
lcd.drawRectangle(vvorn+12,voben+vobens*2-1,4,8)
if getValue(sas)==0 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens*2+2, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*2,sameM,SMLSIZE)
elseif getValue(sas)==1024 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens*2+4, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*2,sameU,SMLSIZE)
else
lcd.drawFilledRectangle(vvorn+13,voben+vobens*2, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*2,sameO,SMLSIZE)
end
-- Schalter B
lcd.drawRectangle(vvorn+12,voben+vobens*3-1,4,8)
if getValue(sbs)==0 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens*3+2, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*3,sbmeM,SMLSIZE)
elseif getValue(sbs)==1024 then
lcd.drawFilledRectangle(vvorn+13,voben+vobens*3+4, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*3,sbmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vvorn+13,voben+vobens*3, 2,2,0)
lcd.drawText(vvorn+vvorns,voben+vobens*3,sbmeO,SMLSIZE)
end
-- Schieber LS
if lsactive == 1 then
local lsrange = lsrgmax - lsrgmin
local lsangle = ((lschan+1024)*lsrange/2048)+lsrgmin
if getValue(lss)==0 then
lcd.drawText(vvorn+vvorns,voben+vobens*4,lsmeM .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,lsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,lsrgb,SMLSIZE)
elseif getValue(lss)==1024 then
lcd.drawText(vvorn+vvorns,voben+vobens*4,lsmeU .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,lsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,lsrgb,SMLSIZE)
else
lcd.drawText(vvorn+vvorns,voben+vobens*4,lsmeO .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,lsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,lsrgb,SMLSIZE)
end
end
-- Poti S1 (LS3)
if ls3 < 0 then
lcd.drawText(vvorn+vvorns,voben+vobens*5,ls3Off,SMLSIZE)
elseif ls3 > 0 then
lcd.drawText(vvorn+vvorns,voben+vobens*5,ls3On,SMLSIZE)
else
lcd.drawText(vvorn+vvorns,voben+vobens*5,' ---',SMLSIZE)
end
------- rechte Schalter (H,G,D,C,RS,S2)
-- Schalter H
lcd.drawRectangle(vrechts-6,voben-1,4,8)
if getValue(shs)==0 then
lcd.drawText(vvorn2+vvorns2,voben,shmeM,SMLSIZE)
elseif getValue(shs)==1024 then
lcd.drawFilledRectangle(vrechts-5,voben+4, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben,shmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vrechts-5,voben, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben,shmeO,SMLSIZE)
end
-- Schalter G
lcd.drawRectangle(vrechts-6,voben+vobens-1,4,8)
if getValue(sgs)==0 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens+2, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens,sgmeM,SMLSIZE)
elseif getValue(sgs)==1024 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens+4, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens,sgmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vrechts-5,voben+vobens, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens,sgmeO,SMLSIZE)
end
-- Schalter D
lcd.drawRectangle(vrechts-6,voben+vobens*2-1,4,8)
if getValue(sds)==0 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens*2+2, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*2,sdmeM,SMLSIZE)
elseif getValue(sds)==1024 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens*2+4, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*2,sdmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vrechts-5,voben+vobens*2, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*2,sdmeO,SMLSIZE)
end
-- Schalter C
lcd.drawRectangle(vrechts-6,voben+vobens*3-1,4,8)
if getValue(scs)==0 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens*3+2, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*3,scmeM,SMLSIZE)
elseif getValue(scs)==1024 then
lcd.drawFilledRectangle(vrechts-5,voben+vobens*3+4, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*3,scmeU,SMLSIZE)
else
lcd.drawFilledRectangle(vrechts-5,voben+vobens*3, 2,2,0)
lcd.drawText(vvorn2+vvorns2,voben+vobens*3,scmeO,SMLSIZE)
end
-- Schieber RS
if rsactive == 1 then
local rsrange = rsrgmax - rsrgmin
local rsangle = ((rschan+1024)*rsrange/2048)+rsrgmin
if getValue(rss)==0 then
lcd.drawText(vvorn2+vvorns2,voben+vobens*4,rsmeM .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,rsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,rsrgb,SMLSIZE)
elseif getValue(rss)==1024 then
lcd.drawText(vvorn2+vvorns2,voben+vobens*4,rsmeU .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,rsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,rsrgb,SMLSIZE)
else
lcd.drawText(vvorn2+vvorns2,voben+vobens*4,rsmeO .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*4,rsangle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*4,rsrgb,SMLSIZE)
end
end
-- Poti S2
if s2active == 1 then
local s2range = s2rgmax - s2rgmin
local s2angle = ((s2chan+1024)*s2range/2048)+s2rgmin
if getValue(s2s)==0 then
lcd.drawText(vvorn2+vvorns2,voben+vobens*5,s2meM .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*5,s2angle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*5,s2rgb,SMLSIZE)
elseif getValue(s2s)==1024 then
lcd.drawText(vvorn2+vvorns2,voben+vobens*5,s2meM .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*5,s2angle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*5,s2rgb,SMLSIZE)
else
lcd.drawText(vvorn2+vvorns2,voben+vobens*5,s2meM .. " ",SMLSIZE)
lcd.drawNumber(lcd.getLastPos()+15,voben+vobens*5,s2angle,SMLSIZE)
lcd.drawText(lcd.getLastPos(),voben+vobens*5,s2rgb,SMLSIZE)
end
end
lcd.drawLine(vvorn-2, -2+voben+vobens, 210 ,-2+voben+vobens, SOLID, GREY_DEFAULT) -- graue Trennlinie
lcd.drawLine(vvorn-2, -2+voben+vobens*2, 210 ,-2+voben+vobens*2, SOLID, GREY_DEFAULT) -- graue Trennlinie
lcd.drawLine(vvorn-2, -2+voben+vobens*3, 210 ,-2+voben+vobens*3, SOLID, GREY_DEFAULT) -- graue Trennlinie
lcd.drawLine(vvorn-2, -2+voben+vobens*4, 210 ,-2+voben+vobens*4, SOLID, GREY_DEFAULT) -- graue Trennlinie
lcd.drawLine(vvorn-2, -2+voben+vobens*5, 210 ,-2+voben+vobens*5, SOLID, GREY_DEFAULT) -- graue Trennlinie
--lcd.drawLine(vvorn-2, -2+voben+vobens*6, 210 ,-2+voben+vobens*6, SOLID, GREY_DEFAULT) -- graue Trennlinie
end -- WICHTIG
return { run=run }