OpenTX LUA scripting

Všechno co souvisí s modelářskými vysílači, výběr, programování, napájení
Odpovědět
Zpráva
Autor
mgx
Příspěvky: 121
Registrován: stř 24.04.2013 8:15
Bydliště: Banska Bystrica

Re: OpenTX LUA scripting

#61 Příspěvek od mgx »

Spravne :-)
jio
Příspěvky: 5061
Registrován: pát 19.08.2005 0:00
Bydliště: Šternberk, ČR

Re: OpenTX LUA scripting

#62 Příspěvek od jio »

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. :-)
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#63 Příspěvek od matoni »

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.
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.
ditri
Příspěvky: 129
Registrován: čtv 04.07.2013 2:38

Re: OpenTX LUA scripting

#64 Příspěvek od ditri »

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.
Uživatelský avatar
mhotar
Příspěvky: 687
Registrován: ned 01.07.2012 0:48
Bydliště: Jemnice

Re: OpenTX LUA scripting

#65 Příspěvek od mhotar »

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
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#66 Příspěvek od matoni »

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
screenshot-2.png (2.16 KiB) Zobrazeno 3774 x
screenshot-1.png
screenshot-1.png (1.65 KiB) Zobrazeno 3774 x
ditri
Příspěvky: 129
Registrován: čtv 04.07.2013 2:38

Re: OpenTX LUA scripting

#67 Příspěvek od ditri »

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!
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#68 Příspěvek od matoni »

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).
ditri
Příspěvky: 129
Registrován: čtv 04.07.2013 2:38

Re: OpenTX LUA scripting

#69 Příspěvek od ditri »

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 !
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#70 Příspěvek od matoni »

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í.
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#71 Příspěvek od matoni »

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.
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#72 Příspěvek od matoni »

... 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.
Uživatelský avatar
lubo1
Příspěvky: 5094
Registrován: pát 11.04.2008 0:00
Bydliště: CA
Kontaktovat uživatele:

Re: OpenTX LUA scripting

#73 Příspěvek od lubo1 »

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")
nebeží. je to len volanie funkcie a predanie paametru funkcie.....
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
end

samotné čí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
matoni
Příspěvky: 123
Registrován: úte 16.09.2014 11:12
Bydliště: Praha - východ

Re: OpenTX LUA scripting

#74 Příspěvek od matoni »

lubo1 píše:...

.. jo to s tou funkcí jsem v rychlosti přehlédl. :oops:
Uživatelský avatar
lubo1
Příspěvky: 5094
Registrován: pát 11.04.2008 0:00
Bydliště: CA
Kontaktovat uživatele:

Re: OpenTX LUA scripting

#75 Příspěvek od lubo1 »

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.....
http://lubo111.rajce.idnes.cz
Odpovědět

Zpět na „Vysílače“