OpenTX LUA scripting
Re: OpenTX LUA scripting
Spravne 
Re: OpenTX LUA scripting
mhotar píše:Má ho to rádo, ale ne v názvu modelu. Pokud máš v názvu modelu mezeru, potom ji v názvu souboru nahradíš podtržítkem.
Já měl v názvu modelu mezeru a nefungovalo to. Tak jsem mezeru nahradil podtržítkem a opět to nefungovalo. Fungovat to začalo teprve když jsem použil název bez mezery a podtržítka. Jednalo se o LUA pro telemetrii.
Chvilku mě to potrápilo když jsem to dělal jen podle návodu a neměl jsem zkušenosti a netušil proč tomu tak je. Takže pro mě do budoucna platí názvy modelů jen bez mezer.
Re: OpenTX LUA scripting
Zkoušel jsem podle jednoho požadavku (na tomto serveru) vytvořit v LUA vlastní mix, který má ovladačem nastavitelné zpomalení výstupu. Skript se nakopíruje na SD kartu do adresáře SCRIPTS\MIXES (další popis je v LUA souboru).
Jen upozorňuji, že to není na použití pro "životně" důležité funkce. (ostatně to píšou i v manuálu pro LUA v OpenTx).
Nejsem programátor, tak prosím případné kritiky, aby mě moc nesthali.
EDIT: Omylem jsem nahrál špatnou verzi, teď už je to Ok.
Jen upozorňuji, že to není na použití pro "životně" důležité funkce. (ostatně to píšou i v manuálu pro LUA v OpenTx).
Nejsem programátor, tak prosím případné kritiky, aby mě moc nesthali.
EDIT: Omylem jsem nahrál špatnou verzi, teď už je to Ok.
- Přílohy
-
- slow_mix.lua.zip
- (871 bajtů) Staženo 225 x
Naposledy upravil(a) matoni dne pon 04.05.2015 16:10, celkem upraveno 1 x.
Re: OpenTX LUA scripting
Ahoj. Diky moc. Mrknu na to. Snad to nejak pochopim. Jen jestli se mohu zeptat. Resil jsem to ještě s jednim kolegou a ten navrhl reseni kdy "- vytvořím třeba 5 logických spínačů spínaných postupně různou polohou bočního slideru. Ale o nějaké přeskakování mezi těmi pěti stupni se nemusíš bát, protože i ty budou mezi sebou mít přechody v letových režimech." Tady je ten princpit funkce jaky? Staci jen ve strucnosti - napr ze se vyuziva parametr "speed" který Lua zna. Jsem v tomto novacek, ale snad to pochopim. Diky moc za ochotu!
A ještě se zeptam na uplne lammerske otázky. Ve scriptu jsou
local inputs = { {"Ovl.rychl.", SOURCE }, {"Vstup mixu", SOURCE}, {"Krok v %", VALUE, 1, 10, 1} }
> chápu to spravne tak, ze DO uvozovek doplnim promenne dle potřeby? Tedy ze uvozovky zustanou?
Pak je tam:
> local outputs = { "slow" } - nemelo by byt vzhledem k popisku v uvodu scriptu "islow" > jen tak bych to tipnul. Pise se tam, ze se vytvori - novy vstup (nazvany "islow") a nikde jinde to "islow" nevidim
a ta syntaxe vypada jako jmeno vystupu...
Prosim ještě jednou za prominuti za vypatavani.
A ještě se zeptam na uplne lammerske otázky. Ve scriptu jsou
local inputs = { {"Ovl.rychl.", SOURCE }, {"Vstup mixu", SOURCE}, {"Krok v %", VALUE, 1, 10, 1} }
> chápu to spravne tak, ze DO uvozovek doplnim promenne dle potřeby? Tedy ze uvozovky zustanou?
Pak je tam:
> local outputs = { "slow" } - nemelo by byt vzhledem k popisku v uvodu scriptu "islow" > jen tak bych to tipnul. Pise se tam, ze se vytvori - novy vstup (nazvany "islow") a nikde jinde to "islow" nevidim
Prosim ještě jednou za prominuti za vypatavani.
Re: OpenTX LUA scripting
To "i" slow je symbol označující položku ve vstupech. Myslím že ty definice v local inputs se nastavují až přez menu rádia v editaci skriptu.
www.opentx.cz
Re: OpenTX LUA scripting
ditri píše:Ahoj. Diky moc. Mrknu na to. .....
Jak už píše mhotar, to "i" si doplní OpenTX. Pro funkci není třeba se skriptem nic dělat (jen nakopírovat do TARANISu viz minulý příspěvěk).
Ale je pravda, že jsem zapomněl napsat, že se to musí nastavit v menu vysílače "CUSTOM SCRIPTS", kde se právě nastaví ty vstupy a parametry (screenshot-1.jpg). A potom vytvořit nový mix na požadovaném kanálu ve menu "MIXER" (screenshot-2.jpg).
V jednoduchosti, princip tohoto skriptu je takový, že porovnává o kolik se změnil čas, porovná to s nastavením "zpoždění" a pokud jsou splněny podmínky navýší/sníží výstup o nastavený "krok".
To udělat to pomocí více mixů a ty potom jen přepínat mě sice napadlo, ale nelíbilo se mi to "skákání" při přepínání (ale ty letové režimy to asi vyřeší). K tomu mám taky skript (který načte, smaže a založí nový mix s pozměněnými parametry původního mixu - mění jen "SlowUp" a SlowDn), ale trpí výše zmíněným nedostatkem.
- Přílohy
-
- screenshot-2.png (2.16 KiB) Zobrazeno 3773 x
-
- screenshot-1.png (1.65 KiB) Zobrazeno 3773 x
Re: OpenTX LUA scripting
Ahojte. Diky moc. Vecer na to kuknu a vyzkousim. Prozatim snad posledni dotaz - tzn ze ty promenne edituji primo v taranisu nikoliv predem ve scriptu? To by bylo velmi mazane a user friendly. Jen doplnim mam trosku zkusenosti s nejakymi kody na webu ale taranis je pro me novinka. Tak se mozna ptam tak ze to trosku vypada ze "rozumim" a pritom jen pipam a pipam zaklady
mejte se a zatim diky moc!
Re: OpenTX LUA scripting
ditri píše:...Prozatim snad posledni dotaz - tzn ze ty promenne edituji primo v taranisu nikoliv predem ve scriptu?
Ano. Myslím, že na vysílači to bude jasné (já to předem zkouším v Companion, tedy přesněji v simulaci vysílače).
Re: OpenTX LUA scripting
Zdarec. Funguje to bezvadne! Pro me ucely je to uplne ideal.
Ja v tom prizpevku nabizel odmenu tak v pripade zajmu se klido ozvi do soukrome zpravy. Tobe zpravy poslat nejdou to uz jsem zkousel.
Kazdopadne diky moc!!!
Snad par drobnosti bych zlepsil > pokud to lze:
1) - a to, ze kdyz je nejnizsi hodnota na potenciometru - tak je tam nejake, byt jen nizke spozdeni.
Lze script upravit tak aby to chodilo od 1:1 po nejakou hodnotu? Nebo diky principu musi byt hned od pocatku nejake zpozdeni?
Jen se ptam. Pro me je to takto dostacujici
2) Parametr krok je opravdu prilis hruby
rozdil casu prubehu mezi hodnotou 1 a hodnotou 2 je +/- 2x takovy cas (11 a 22 sekund).
Jeste jednou vsak diky a respekt !
Ja v tom prizpevku nabizel odmenu tak v pripade zajmu se klido ozvi do soukrome zpravy. Tobe zpravy poslat nejdou to uz jsem zkousel.
Kazdopadne diky moc!!!
Snad par drobnosti bych zlepsil > pokud to lze:
1) - a to, ze kdyz je nejnizsi hodnota na potenciometru - tak je tam nejake, byt jen nizke spozdeni.
Lze script upravit tak aby to chodilo od 1:1 po nejakou hodnotu? Nebo diky principu musi byt hned od pocatku nejake zpozdeni?
Jen se ptam. Pro me je to takto dostacujici
2) Parametr krok je opravdu prilis hruby
rozdil casu prubehu mezi hodnotou 1 a hodnotou 2 je +/- 2x takovy cas (11 a 22 sekund).
Jeste jednou vsak diky a respekt !
Re: OpenTX LUA scripting
ditri píše:...
1) - a to, ze kdyz je nejnizsi hodnota na potenciometru - tak je tam nejake, byt jen nizke spozdeni.
Lze script upravit tak aby to chodilo od 1:1 po nejakou hodnotu? Nebo diky principu musi byt hned od pocatku nejake zpozdeni?
2) Parametr krok je opravdu prilis hruby
rozdil casu prubehu mezi hodnotou 1 a hodnotou 2 je +/- 2x takovy cas (11 a 22 sekund).
ad1 - to (alespoň podle mého názoru) nejde, LUA skript se volá každých cca 30ms, tak odtud asi bude to zpoždění (navíc použitá funkce "getTime" má také "přesnost" cca 10ms). Dalo by se, ale (při hodnotě S1=-100 nebo S1<-97) nahradit tento mix klasickým mixem z menu opentx.
ad2 - čas se řídí "ovladačem" (např. S1), ten krok je tam spíš proto, aby se to dalo ještě urychlit (větší krok je rychlejší). Ale příliš velký krok může mít za následek škubání serv. Pokud by škubal servem i krok 1, může se nastavit i krok 0,1 (v kódu nahradit číslo 10.24 číslem 1.024 - tuším, že tam má být desetinná tečka) - potom se to ale ještě zpomalí. Právě jsem zjistil, že se mi do původního kódu dostal jeden řádek dvakrát - opraveno - jsem trubka, sorry
Byl to jen takový můj pokus. Za odměnu to nestojí, já si chtěl vyzkoušet také něco jiného než telemetrický skript. Ohledně zpráv dík za upozornění.
Re: OpenTX LUA scripting
z diskuse FrSky Taranis - druhé pokračován:í lubo1 píše:Nemáte niekto funkčný LUAscript s meranim vyšky pre ver 2.1. Neako sa mi nedarí rozbehnúť stavajúci, ani tie, čo som našiel na webe a informácie 0,0 bodov.....
psal jsem ti na SZ (ale dát to i sem - pro zájemce, může se hodit). LUA v openTX 2.1 - zkoušel jsem skript vario.lua , diskuse zde.
Re: OpenTX LUA scripting
... jen doplním, že u některých skritů mi stačilo přidat
lcd.lock()
lcd.clear()
do sekce "run", podobně jako je to u jednorázových skriptů (možná by stačilo jen lcd.clear()) - pro LUA v OpenTX 2.1.
lcd.lock()
lcd.clear()
do sekce "run", podobně jako je to u jednorázových skriptů (možná by stačilo jen lcd.clear()) - pro LUA v OpenTX 2.1.
Re: OpenTX LUA scripting
matoni píše:psal jsem ti na SZ (ale dát to i sem - pro zájemce, může se hodit). LUA v openTX 2.1 - zkoušel jsem skript vario.lua , diskuse zde.
Nazdar.
V prvom rade vďaka za informácie a nasmerovanie. informácii je skutočne tragicky málo.....
Ten script Vario skutočne funguje, ale načítanie
Kód: Vybrat vše
Alt = getTelemetryId("Alt")samotná funkcia načítania je tu
Kód: Vybrat vše
local Alt, Vspd, MaxAlt, MinAlt
local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
endsamotné čítanie výšky ostáva tak, ako bolo v starom softe .....
Kód: Vybrat vše
local CurrentAlt = getValue(Alt)Ešte si to musím dať dohromady a odskúšať to.
Je smutné, že keď sa urobili takéto zmeny - nikde to nieje priamo popísané.... a aj toto som len vydedukoval zo scriptu vario......
http://lubo111.rajce.idnes.cz
Re: OpenTX LUA scripting
lubo1 píše:...
.. jo to s tou funkcí jsem v rychlosti přehlédl.
Re: OpenTX LUA scripting
OK už sa mi podarilo prečítať výšku........
Problém bol hlavne v tom, že v sime v Companione mi soft bežal a v rádiu nie - musel som každú zmenu uložiť do rádia , odpojiť USB, rádio reštartnúť a odskúšať.... ak nešlo, vypnúť, naštartovať do režimu prenosu, pripojiť kábel........
Zajtra budem pokračovať........ Až to bude komplet - hodím popis.....
Problém bol hlavne v tom, že v sime v Companione mi soft bežal a v rádiu nie - musel som každú zmenu uložiť do rádia , odpojiť USB, rádio reštartnúť a odskúšať.... ak nešlo, vypnúť, naštartovať do režimu prenosu, pripojiť kábel........
Zajtra budem pokračovať........ Až to bude komplet - hodím popis.....
http://lubo111.rajce.idnes.cz