local function run(event) --@CoolChaos 12. Sep 2014 (15:55) Uhr --lcd.drawRectangle(0,0,212,64) -- Referenz Rechteck Breit Screen 212 Höhe Screen 64 local mitte =212/2-88/2 -- kann sein das ich das mal brauche -- Block1 Start ----------------------------------------------------------------- local vornB1=1 local obenB1=1 local breiteB1=88 local hoeheB1=62 local vonhintenB1=breiteB1-vornB1 local vonuntenB1=hoeheB1-obenB1 local modelinfo = model.getInfo() local STANZ = " " STANZ = STANZ .. modelinfo.name -- oder eine andere Meldung die man sehen will z.B. local STANZ = "Hoehe in Metern" lcd.drawRectangle(vornB1,obenB1,breiteB1,hoeheB1) -- Block Rechteck -- Informations DEF. Block Start ---------------------------------------------------------------- -- wenn auf "SF" eine z.B. Gas-Sperre liegt kann man das so zur Info machen sonst Block Kommentieren jeder wie er will if getValue("sf") == 1024 then STANZ = " GAS GESPERRT !" end local schalt1 = getValue("se") -- Schalter hier einstellen local s1bez = "E" -- Schalter1 Bezeichnung hier einstellen local s1mtO = " DATENLOG EIN!" -- Schalter1 Meldung oben hier einstellen local s1mtU = " DATENLOG AUS!" -- Schalter1 Meldung mitte hier einstellen local s1mtM = "MITTE SE" -- Schalter1 Meldung unten hier einstellen local s1aO = 1 -- Schalter1 Stellungs Meldunsanzeige hier einstellen 1 anzeigen 0 nicht anzeigen local s1aM = 0 local s1aU = 1 local schalt2 = getValue("sb") local s2bez = "B" local s2mtO = " Thermik - Modus" local s2mtM = "MITTE SB" local s2mtU = " Hoehe auf Gas" local s2aO = 1 local s2aM = 0 local s2aU = 1 local schalt3 = getValue("sc") local s3bez = "C" local s3mtO = " Klappen - Oben" local s3mtM = "MITTE SC" local s3mtU = " Klappen - Unten" local s3aO = 1 local s3aM = 0 local s3aU = 1 local meinemaxhoehe=getValue("ch13") -- Hoehe max hier einstellen -- Informations DEF. Block Ende ----------------------------------------------------------------- lcd.drawRectangle(vornB1+91,vonuntenB1-57,8,15) -- Schalter1 Rechteck Rand lcd.drawRectangle(vornB1+101,vonuntenB1-57,8,15) -- Schalter2 Rechteck Rand lcd.drawRectangle(vornB1+111,vonuntenB1-57,8,15) -- Schalter3 Rechteck Rand -- SCHALTER 1 START if schalt1 == 0 then lcd.drawFilledRectangle(vornB1+93,vonuntenB1-52,4,5, 3) -- Schalter1 innen Status Mitte Rechteck if s1aM == 1 then STANZ=s1mtM end elseif schalt1 == -1024 then lcd.drawFilledRectangle(vornB1+93,vonuntenB1-49,4,8, 3) -- Schalter1 innen Status unten Rechteck if s1aU == 1 then STANZ=s1mtU end elseif schalt1 == 1024 then lcd.drawFilledRectangle(vornB1+93,vonuntenB1-58,4,8, 3) -- Schalter1 innen Status oben Rechteck if s1aO == 1 then STANZ=s1mtO end end -- SCHALTER 1 STOP -- SCHALTER 2 START if schalt2 == 0 then lcd.drawFilledRectangle(vornB1+103,vonuntenB1-52,4,5, 3) -- Schalter2 innen Status mitte Rechteck if s2aM == 1 then STANZ=s2mtM end elseif schalt2 == 1024 then lcd.drawFilledRectangle(vornB1+103,vonuntenB1-49,4,8, 3) -- Schalter2 innen Status unten Rechteck if s2aO == 1 then STANZ=s2mtU end elseif schalt2 == -1024 then lcd.drawFilledRectangle(vornB1+103,vonuntenB1-58,4,8, 3) -- Schalter2 innen Status oben Rechteck if s2aU == 1 then STANZ=s2mtO end end -- SCHALTER 2 STOP -- SCHALTER 3 START if schalt3 == 0 then lcd.drawFilledRectangle(vornB1+113,vonuntenB1-52,4,5, 3) -- Schalter3 innen Status mitte Rechteck if s3aM == 1 then STANZ=s3mtM end elseif schalt3 == 1024 then lcd.drawFilledRectangle(vornB1+113,vonuntenB1-49,4,8, 3) -- Schalter3 innen Status unten Rechteck if s3aU == 1 then STANZ=s3mtU end elseif schalt3 == -1024 then lcd.drawFilledRectangle(vornB1+113,vonuntenB1-58,4,8, 3) -- Schalter3 innen Status oben Rechteck if s3aO == 1 then STANZ=s3mtO --meinemaxhoehe=350 end end -- SCHALTER 3 STOP -- SCHALTER MELDUNGEN ANZEIGEN START -- local temp_alt = tempakt -- wird spaeter mal gebraucht local tempakt = STANZ lcd.drawFilledRectangle(vornB1+1,2,86,10,3) -- Text Hintergrund Rechteck lcd.drawText(vornB1+2, vonuntenB1-58,tempakt,2) -- SCHALTER MELDUNGEN ANZEIGEN STOP lcd.drawText(vornB1+92, vonuntenB1-39, s1bez,0 ) -- Schalter1 Bezeichnung lcd.drawText(vornB1+102, vonuntenB1-39, s2bez,0 ) -- Schalter2 Bezeichnung lcd.drawText(vornB1+113, vonuntenB1-39, s3bez,0 ) -- Schalter3 Bezeichnung -- Block1 Ende ----------------------------------------------------------------- lcd.drawText(vornB1+79, vonuntenB1-16, "m", 0) lcd.drawText(vornB1+41, vonuntenB1-7, "Max:", 0) lcd.drawText(vornB1+2, vonuntenB1-7, "mM:", 0) if getValue("altitude") >= meinemaxhoehe then -- Hoehe max Blink lcd.drawNumber(vornB1+79, vonuntenB1-47, getValue("altitude"), XXLSIZE+1) lcd.drawChannel(vornB1+64, vonuntenB1-7, "altitude-max", LEFT+1) lcd.drawText(vornB1+18, vonuntenB1-7, meinemaxhoehe, 1) -- Zeigt auf Display "mM:" ("mein Maximum" der Hoehe an) BLINKT else lcd.drawNumber(vornB1+79, vonuntenB1-47, getValue("altitude"), XXLSIZE) lcd.drawChannel(vornB1+64, vonuntenB1-7, "altitude-max", LEFT) lcd.drawText(vornB1+18, vonuntenB1-7, meinemaxhoehe, 0) -- Zeigt auf Display "mM:" (mein Maximum" der Hoehehe an) end lcd.drawText(lcd.getLastPos() , vonuntenB1-7, "m", 0) -- Block2 Start ---------------------------------------------------------------- local vornB2=vornB1+breiteB1+34 local obenB2=obenB1 local breiteB2=88 local hoeheB2=62 local bbB2=15 -- Empfangsbalken Breite hier einstellen local endrssi=39 -- RSSI min hier einstellen hie habe ich noch keine min Abfrage gefunden local testrssi = "rssi" lcd.drawRectangle(vornB2,obenB2,breiteB2,hoeheB2) -- Block Rechteck if getValue(testrssi) <= endrssi then -- RSSI min Blink lcd.drawText(vornB2+28, vonuntenB1-55, "RSSI:",1) lcd.drawChannel(vornB2+70, vonuntenB1-59, testrssi,MIDSIZE+1) lcd.drawText(lcd.getLastPos()+1, vonuntenB1-55, "dB", 1) lcd.drawText(vornB2+45, vonuntenB1-45, "Minimum",1) lcd.drawText(vornB2+56, vonuntenB1-36, endrssi,MIDSIZE+1) lcd.drawText(lcd.getLastPos(), vonuntenB1-32, "dB", 1) -- Ausrufezeichen -------------------------------------------------------------------------------------------- lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+24,3,2,32, 2) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+24,38,2,10, 2) -- Rand Rechteck -- Ausrufezeichen -------------------------------------------------------------------------------------------- else lcd.drawText(vornB2+28, vonuntenB1-55, "RSSI:",0) lcd.drawChannel(vornB2+70, vonuntenB1-59, testrssi,MIDSIZE) lcd.drawText(lcd.getLastPos()+1, vonuntenB1-55, "dB", 0) lcd.drawText(vornB2+45, vonuntenB1-45, "Minimum",0) lcd.drawText(vornB2+56, vonuntenB1-36, endrssi,MIDSIZE) lcd.drawText(lcd.getLastPos(), vonuntenB1-32, "dB", 0) end -- Empfangsbalken Start if getValue(testrssi) > 90 then lcd.drawFilledRectangle(vornB2+4,vonuntenB1-50,bbB2,50, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10, 3) -- Rand Rechteck elseif getValue(testrssi) >= 75 then lcd.drawRectangle(vornB2+4,vonuntenB1-50,bbB2,50) -- Rand Rechteck leer lcd.drawFilledRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10, 3) -- Rand Rechteck elseif getValue(testrssi) >= 65 then lcd.drawRectangle(vornB2+4,vonuntenB1-50,bbB2,50) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40) -- Rand Rechteck leer lcd.drawFilledRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10, 3) -- Rand Rechteck elseif getValue(testrssi) >= 55 then lcd.drawRectangle(vornB2+4,vonuntenB1-50,bbB2,50) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30) -- Rand Rechteck leer lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20, 3) -- Rand Rechteck lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10, 3) -- Rand Rechteck elseif getValue(testrssi) >= 45 then lcd.drawRectangle(vornB2+4,vonuntenB1-50,bbB2,50) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20) -- Rand Rechteck leer lcd.drawFilledRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10, 3) -- Rand Rechteck elseif getValue(testrssi) <= endrssi then lcd.drawRectangle(vornB2+4,vonuntenB1-50,bbB2,50) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+5,vonuntenB1-40,bbB2,40) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+6,vonuntenB1-30,bbB2,30) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+bbB2+7,vonuntenB1-20,bbB2,20) -- Rand Rechteck leer lcd.drawRectangle(vornB2+bbB2+bbB2+bbB2+bbB2+8,vonuntenB1-10,bbB2,10) -- Rand Rechteck leer end -- Empfangsbalken Stop -- Block2 Ende ------------------------------------------------------------------ -- Block3 Start ---------------------------------------------------------------- local vornB3=vornB1+breiteB1+1 local obenB3=obenB1 local breiteB3=32 local hoeheB3=62 lcd.drawRectangle(vornB3,obenB3,breiteB3,hoeheB3) -- Block Rechteck lcd.drawLine(vornB3, vonuntenB1-31, vornB3+30, vonuntenB1-31, SOLID, 0) local settings = getGeneralSettings() local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax-settings.battMin) lcd.drawGauge(vornB3+2,vonuntenB1-17,breiteB3-7,hoeheB3-45, percent, 100) lcd.drawRectangle(vornB3+27,vonuntenB1-14,3,12) lcd.drawChannel(vornB3+22, vonuntenB1-29, "tx-voltage",MIDSIZE) -- Block3 Ende ------------------------------------------------------------------ end -- WICHTIG return { run=run }