OpenTX LUA scripting
Re: OpenTX LUA scripting
hod sem skript kde to mas
Re: OpenTX LUA scripting
mgx píše:hod sem skript kde to mas
Už som to vyriešil....
Kód: Vybrat vše
local setalarm = {range, offset, alarm1, alarm2 , unit}
setalarm = model.getTelemetryChannel(0) --get channel info
local batvolt =setalarm.alarm1*100
lcd.drawNumber(60, 48, batvolt, MIDSIZE+PREC2).......TelemetryChannel(0) je A1
........TelemetryChannel(1) je A2.....
setalarm.alarm1 je alarm 1
setalarm.alarm2 je alarm2......
Keďže používam večšinou A1 príjmača na prenos napetia pohonnej batérie - potrebujem kontrolovať Alarm1 a alarm2.....
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
Upravená rutina na načítanie konfigu A1 a A2
na vypísanie hodnôt A1 Low potom stačí
analogicky A2AlarmLow, prípadne A1AlarmCrit....
Načo to bude dobré?
Napetie pohonného akumulátora prenášam cez A1 - ale to isté môže platiť pre iný prenos....
Napetie aku bude zobrazované cez BarGraf - maximum je jesné = 4.2*pocclankov
minimum ale nebude na napeti nula, ale na minimalnom vycerpatelnom -
povedzme 3,3V* pocclankov - čiže u dvojčlánku 6,6V bude bargraf na nule
analogicky bude 3,5V*poccla A1Low - tam bude na Bargrafe značka rezervy
Takto to mám nastavené v rádiu a hlási mi to alarmLow a AlarmCrit... údaj na displeji by mal byť nastavený rovnako
Edit:
Využívam len A1/A2.... ale analogicky sa dá načítať konfg pre A3/A4....
Kód: Vybrat vše
-----------------------------------------------------------------------
-- tu sa nacita hodnota A1 LOW A1 Crit A2 Low A2 Crit
local setalarm = {range, offset, alarm1, alarm2 , unit} -- definicia praazdnej premennej typu pole
setalarm = model.getTelemetryChannel(0) --naplnenie pola z konfigu kanalu A1
local A1AlarmLow =setalarm.alarm1 *100 --hodnota A1 Low *100
local A1AlarmCrit =setalarm.alarm2*100 -- hodnota A1 Crit *100
setalarm = model.getTelemetryChannel(1) -- naplnenie pola z konfigu kanalu A2
local A2AlarmLow =setalarm.alarm1*100 -- naplnenie A2 Low *100
local A2AlarmCrit =setalarm.alarm2*100 -- naplnenie A2 Crit *100
----------------------------------------------------------------------
na vypísanie hodnôt A1 Low potom stačí
Kód: Vybrat vše
lcd.drawNumber(30, 48, A1AlarmLow, MIDSIZE+PREC2+LEFT)analogicky A2AlarmLow, prípadne A1AlarmCrit....
Načo to bude dobré?
Napetie pohonného akumulátora prenášam cez A1 - ale to isté môže platiť pre iný prenos....
Napetie aku bude zobrazované cez BarGraf - maximum je jesné = 4.2*pocclankov
minimum ale nebude na napeti nula, ale na minimalnom vycerpatelnom -
povedzme 3,3V* pocclankov - čiže u dvojčlánku 6,6V bude bargraf na nule
analogicky bude 3,5V*poccla A1Low - tam bude na Bargrafe značka rezervy
Takto to mám nastavené v rádiu a hlási mi to alarmLow a AlarmCrit... údaj na displeji by mal byť nastavený rovnako
Edit:
Využívam len A1/A2.... ale analogicky sa dá načítať konfg pre A3/A4....
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
Neako je tu mrtvo.... Nikto nič nemá hotové???
Ja už dokončujem....... snáď to sem hodím večer. Ale už mi to prestáva myslieť....
Ja už dokončujem....... snáď to sem hodím večer. Ale už mi to prestáva myslieť....
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
tak je možno skúsať .....
Samotný telemetrický Script nič neriadi - len robí uživateľské zobrazenie hodnôt z telemetrie. Pôvodné funkcie telemetrie ostávajú nezmenené.... Script pridáva funkcie navyše. Obrazoviek môžeme pridať viacero - každá môže mať inú funkcionalitu.......
Takto vyzerá telemetrický panel......
Takto vyzerá umiestnenie súboru v Taranise. Pokiaľ sa jedná o telemtriu - súbor sa nahráva do taranisu - do podadresára disk\SCRIPTS\nazov_modelu\telem1.lua
Číslo v názve označuje poradie obrazoviek. Ak je telem0 -po spustení telemetrie sa otvorí táto obrazovka ako prvá.... Ak je telem1 - prepne sa obrazovka ako druhá......
Meranie pohonneho aku mám pripojené cez analogove vstupy.
V súbore sa vstup vyberá v premennej local Akanal = 1 --kanal A1=1, A2=2 A3=3 A4=4
Výpočet počtu článkov sa mi neako nepáčil a zatiaľ som lepší nestvoril... v súbore je preto treba vybrať počet článkov v položke local CellNum =2
Časom dorobím aj autodetekciu.....
V premennej local riadRssi = 32 local stlpRssi = 9 je riadok a stlpec, kde bude zobrazené meranie RSSI... Ak zadám riadRssi=0 potom nebude meranie RSSI vôbec zobrazené.
Rozloženie položiek môžeme urobiť na jednom mieste....
Ak sú otázky, alebo pripomienky - sem s nimi......
Samotný telemetrický Script nič neriadi - len robí uživateľské zobrazenie hodnôt z telemetrie. Pôvodné funkcie telemetrie ostávajú nezmenené.... Script pridáva funkcie navyše. Obrazoviek môžeme pridať viacero - každá môže mať inú funkcionalitu.......
Kód: Vybrat vše
-- tu bude deklaracia premennych pre dany model
local CellNum =2
local Akanal = 1 --kanal A1=1, A2=2 A3=3 A4=4
local altPos=0
local riadMax = 0 --34 max vyska
local stlpMax = 2
local riadVyska=5 -- riadok kde sa vypise udaj vyska
local stlpVyska = 192 -- koniec vysky - vykresluje sa dolava
local riadA1v = 50 -- riadok na ktorom bude A1
local stlpecKonca = 192 -- koniec bargrafu - ostatne pozicie sa dopocitaju
local riadRssi = 32
local stlpRssi = 9
local riadTxBat = 22 -- ak bude riadok 0 - nebude sa TXbat zobrazovat
local stlpTxBat = 9 -- stlpec odkial sa vykresli TXbat
local riadTimer = 2 -- ak bude riadok 0 - nebude sa timer zobrazovat
local stlpTimer = 1 -- stlpec odkial sa vykresli TimerTakto vyzerá telemetrický panel......
Takto vyzerá umiestnenie súboru v Taranise. Pokiaľ sa jedná o telemtriu - súbor sa nahráva do taranisu - do podadresára disk\SCRIPTS\nazov_modelu\telem1.lua
Číslo v názve označuje poradie obrazoviek. Ak je telem0 -po spustení telemetrie sa otvorí táto obrazovka ako prvá.... Ak je telem1 - prepne sa obrazovka ako druhá......
Meranie pohonneho aku mám pripojené cez analogove vstupy.
V súbore sa vstup vyberá v premennej local Akanal = 1 --kanal A1=1, A2=2 A3=3 A4=4
Výpočet počtu článkov sa mi neako nepáčil a zatiaľ som lepší nestvoril... v súbore je preto treba vybrať počet článkov v položke local CellNum =2
Časom dorobím aj autodetekciu.....
V premennej local riadRssi = 32 local stlpRssi = 9 je riadok a stlpec, kde bude zobrazené meranie RSSI... Ak zadám riadRssi=0 potom nebude meranie RSSI vôbec zobrazené.
Rozloženie položiek môžeme urobiť na jednom mieste....
Ak sú otázky, alebo pripomienky - sem s nimi......
- Přílohy
-
- telem1.rar
- (2.84 KiB) Staženo 247 x
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
myslim si, ze na serioznu autodetekciu poctu clankov by si potreboval z modelu info o napati clankov, inak nie je sanca to urobit. moze sa stat ze podbity trojclanok (napr. 8V) das do modelu a skript to vyhodnoti ako dvojclanok v dobrom stave.
ak pouzivas v jednom modeli len stale rovnaky pocet clankov, je najlepsie riesenie nastavit pocet clankov v konstante priamo v skripte. tak ci tak musis skript rucne nakopirovat do dalsieho modelu, upravit hodnotu predsa nemoze byt problem.
sorry ja som sa k tomu nevedel dokopat (zvlast ked momentalne nelietam), skriptovania mam dost v robote ...
ale ked sa do cca 2 tyzdnov dokopem, budeme az dvaja
ak pouzivas v jednom modeli len stale rovnaky pocet clankov, je najlepsie riesenie nastavit pocet clankov v konstante priamo v skripte. tak ci tak musis skript rucne nakopirovat do dalsieho modelu, upravit hodnotu predsa nemoze byt problem.
sorry ja som sa k tomu nevedel dokopat (zvlast ked momentalne nelietam), skriptovania mam dost v robote ...
Re: OpenTX LUA scripting
mgx píše:myslim si, ze na serioznu autodetekciu poctu clankov by si potreboval z modelu info o napati clankov...
K tomu sloužií telemetrický senzor FLVSS viz tento odkaz, který měří napětí jednotlivých článků i celkové napětí.
Re: OpenTX LUA scripting
Drondys píše:K tomu sloužií telemetrický senzor FLVSS viz tento odkaz, který měří napětí jednotlivých článků i celkové napětí.
tato informacia mi bola znama v case pisania prispevku. cielom je urobit univerzalny telemetricky skript, ktory nepredpoklada, ze tymto senzorom disponuju vsetci
Re: OpenTX LUA scripting
Tak som zase narazil na neaké "vychytávky".....
pokiaľ vypisujeme číslo, alebo hodnotu, prípadne Channell - Taranis vypisuje od aktualnej pozicie vľavo (ľavá 150ka) a ak dáme do atributu LEFT - potom sa vypisuje od danej pozície vpravo(pravá 160ka).... Ak o tom človek vie - nieje problém.....
Je vidieť, že aj č 150, aj 160 sú vypisované na to isté miesto......
Edit:
pár ďaľších bug-ov
.
pokiaľ vypisujeme číslo, alebo hodnotu, prípadne Channell - Taranis vypisuje od aktualnej pozicie vľavo (ľavá 150ka) a ak dáme do atributu LEFT - potom sa vypisuje od danej pozície vpravo(pravá 160ka).... Ak o tom človek vie - nieje problém.....
Kód: Vybrat vše
local function run(event)
local leftnumber=150
local rightnumber=160
lcd.drawRectangle(100, 1, 2, 50)
lcd.drawNumber(100, 10, leftnumber ,MIDSIZE)
lcd.drawNumber(100, 10, rightnumber ,MIDSIZE+LEFT)
end
return { run=run }Je vidieť, že aj č 150, aj 160 sú vypisované na to isté miesto......
Edit:
pár ďaľších bug-ov
Kód: Vybrat vše
lcd.drawRectangle(100, 1, 1, 50) -- nende
lcd.drawLine(100, 1, 100,50) -- takisto nepremáva....
Naposledy upravil(a) lubo1 dne úte 27.01.2015 18:40, celkem upraveno 2 x.
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
Verzia 1.1 môjho Scriptu - nainštalovať do podadresára SCRIPTS\nazov_modelu\telem1
Je upraven=e odkazovanie umiestňovania výpisov - odstranenie príkazov lcd.getLastPos(). Bol problém s formatovaním výpisov.....
Je upraven=e odkazovanie umiestňovania výpisov - odstranenie príkazov lcd.getLastPos(). Bol problém s formatovaním výpisov.....
- Přílohy
-
- telem1.rar
- (2.74 KiB) Staženo 206 x
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
Ano s tym zarovnavanim cisel doprava som si vsimol. Ono to je celkom logicke, ked vypisujes cislo, ktore nema furt rovnaky pocet cislic. Alebo neni furt pozitivne
Re: OpenTX LUA scripting
mgx píše:Ano s tym zarovnavanim cisel doprava som si vsimol. Ono to je celkom logicke, ked vypisujes cislo, ktore nema furt rovnaky pocet cislic. Alebo neni furt pozitivne
Preto som to prerobil na klasické print x,y....
Je to OK, ak je to popísaná vlastnosť..... preto to tu píšem.....
Viac ma štve tá zvislá čiara.....
Tak isto nejde priamo vykresliť zvislý BarGraf......
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
Takže ako tak hotová verzia......
V hlavičke súboru je možné editovať umiestnenie výpisu.... Ak sa zadá riadok 0 - nebude sa údaj vypisovať, Môže sa vytvoriť druhý súbor telem2 a v ňom vypisovať iné veličiny, ako v telem1.... prepínať sa dá cez +-....
Treba skúsiť.....
V hlavičke súboru je možné editovať umiestnenie výpisu.... Ak sa zadá riadok 0 - nebude sa údaj vypisovať, Môže sa vytvoriť druhý súbor telem2 a v ňom vypisovať iné veličiny, ako v telem1.... prepínať sa dá cez +-....
Treba skúsiť.....
- Přílohy
-
- telem1.rar
- (3.33 KiB) Staženo 213 x
http://lubo111.rajce.idnes.cz
-
von boberov
- Příspěvky: 1096
- Registrován: pát 30.07.2010 0:00
- Bydliště: vesničan v okr.ZR
Re: OpenTX LUA scripting
Lubo1- dneska jsem to testnul a krásná práce, díky za ni. Zprvu jsem to nemohl rozchodit, bo jsem pozorně nepročetl návod, ale už to frčí. Díky-MR-
Re: OpenTX LUA scripting
von boberov píše:Lubo1- dneska jsem to testnul a krásná práce, díky za ni. Zprvu jsem to nemohl rozchodit, bo jsem pozorně nepročetl návod, ale už to frčí. Díky-MR-
Som rád, že to niekomu pomôže..... Dá sa to rozkúskovať na jednotlivé funkcie..... nemalo by to byť ničím prepojené.....
Snažil som sa to urobiť čo najviac uni....
http://lubo111.rajce.idnes.cz