Lua Macros

Nástroje, utility, SW udělátka, Xdgets, doplňky ...
Odpovědět
Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 18 bře 2016, 10:07

No jsem zvedavy, s cim prijde Petr :) Pokud se to neodladi v LUAmacros, tak asi prispecham s prosikem a vnutim se se svym Arduinem do tveho pluginu (neuvazujes o tom, mit commandy a datarefy v nejakym konfiguraku?) ;) By to chtelo, aby ten plugin bezel v jinem vlakne a samotny XPL nebrzdil... Jinak v podezreni byl i plugin od netscenery, ale ten vypada ze zaseky nedela.
Obrázek

Uživatelský avatar
djbuldog
Příspěvky: 172
Registrován: 11 led 2015, 10:23
Bydliště: Brno
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od djbuldog » 18 bře 2016, 10:52

Mám nějaké tipy na ladění :)
1) zkusit snížit frekvenci předávání řízení pluginu (parametr funkce XPLMRegisterFlightLoopCallback). Jak je to nastaveno teď?
2) zredukovat množství předávaných dat přes sériovou linku.
Já u svého pluginu posílám hodnoty jen při změně. Zjistil jsem ale, že float hodnoty z XPL se hrozně často mění na nějakém desetinném místě, takže se posílají pořád. Jelikož na LCD nevykresluji všechna místa, tak hodnoty zaokrouhluji... tím pádem se tolik nemění. Ověřil jsem, že arduino má pro sériovou linku buffer 64B. Pokud arduino nestíhá dat přijímat a vyčerpá se tento buffer, může to začít v XPL pluginu čekat na zápis.

Načítání datarefs a commands z konfiguračního souboru udělat lze. Dobrý nápad :) A asi bych mohl udělat build i pro Windows :D
Nápadů mám hodně... největší výzvou by bylo přidat možnost definovat celý LCD panel v konfiguráku XPL pluginu, aby se nemusel měnit kód v Arduinu pro různá rozložení zobrazovaných údajů. Každý by si mohl udělat libovolnou kompozici :P

me2d
Site Admin
Příspěvky: 190
Registrován: 29 pro 2014, 21:30
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od me2d » 18 bře 2016, 20:30

Vy s tim nadelate, kdysi mi cely XPL zamrzlo, nez pani v LuaMacros domluvi, nez jsem ten speech engine soupnul do samostatneho threadu :-).

Ale k veci, zpomalovat to samozrejme muze, ted se rozdily hodnot kontroluji kazdy simulation frame. Nicmene ten LUA kod uz by mel bezet asynchrone, takze brzdi jenom ta komunikace mezi XPL a Luamacros. Pod windows to myslim jede pres pipy.

Pouzivas u tech on var change ty casovy okna na ignore? Viz dokumentace. To je prave navrzene, aby to neposilalo moc zprav a koukal jsem ze ten cas se kontroluje uz v pluginu. Pak uz bych to moh jenom upravit, at ty promene nekontroluje kazdy frame, ale treba po urcitem intervalu.
Obrázek

Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 18 bře 2016, 22:57

U tech co se meni casto tam mam neco takovyho, coz by melo znamenat, ze co 2 vteriny.

lmc_on_xpl_var_change('sim/flightmodel/position/magpsi', function(value, count)
lmc_send_to_com('COM', 'GP7_' .. string.format("%d", value) .. '|')
end, 2000)

Tohle tam mam ale 6x a asi se to trefi vzdycky do stejneho okamziku, kdy vsech tech 6 chce poslat ven. Muzu jim treba zkusit dat ty intervaly lehounce odlisny. Tim ze bych mel jenom jeden xpl_var_change a uvnitr neho vice lmc_get_xpl_variable si predpokladam nijak nepomuzu.

Jinak cely mi to zaclo vadit po porizeni novy graficky karty, ktera celkem v pohode utahne XPL stabilne na 60 FPS... a pri tech 60 FPS si proste clovek vsimne, kdyz to chvilkama trochu zadrhne. Kdyz predtim XPL bezel spis na 30 FPS, tak jsem si toho vubec nevsiml :)
Obrázek

Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 18 bře 2016, 23:48

Tak jsem tem sesti zmenil interval tak, aby se vzdy o 100 lisil a hned to je o neco lepsi. Porad to ale malicko znatelny je. Problem budou ty desetinny cisla, ktery xpl porad lehce meni. Takze LUA je posila presne v tom intervalu, i kdyz ve vysledku je pro to LCD vubec nepotrebuju. Myslis, ze by vyhledove slo tomu lmc_on_xpl_var_change rict, ze to je float a ze ho chci jen s nizkou presnosti, treba na jedno, dve desetinny mista? Pripadne to tam natvrdo vrazit treba na 3, podle me maly zmeny tam nikdo nikdy sledovat nebude.
Obrázek

me2d
Site Admin
Příspěvky: 190
Registrován: 29 pro 2014, 21:30
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od me2d » 19 bře 2016, 00:55

Jo, to by slo.
Pridat tam krome casovyho kriteria i toleranci na hodnotu...
Obrázek

Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 19 bře 2016, 08:24

Ono tusim jenom dve posilam dal jako desetinny (na jedno desetinny misto), zbytek uz v makru zaokrouhluju na cely cislo. Jinak vcera jsem to jeste vic rozhodil casove, nekterym dal az 5s interval a uz jsem v podstate ve stavu, kdy me to nebrzdi. Ale dodelana tolerance by byla fajn.
Obrázek

Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 01 dub 2016, 09:16

Tak teoreticky mohly vetsi zaseky byt zpusobovany tim, ze jsem tam mel zapnuty nejaky logovani kamsi... ;) Ted jsem vsechno prebytecny vyhazel a zas to je asi o fous lepsi, ale objevil se jiny problem :) Pri delsim letu, rekneme pul hodky, se to dostane do stavu, kdy LUA macros totalne slitnou, obcas hodi hlasku, obcas ani to ne. Bohuzel k ty hlasce nemam screen, ale psalo se tam neco o fronte na pipe... nejaka zahlcena, pretekla... Pritom jsem to myslim mel cele ve stavu, kdy to komunikuje mezi sebou celkem minimalne. Sranda je, ze kdyz se to posere, tak to paradne rozhodi XPL, je tam treba pul minutovej zasek, vcera se dokonce stalo, ze me to uplne presunulo nekam jinam, najednou jsem stal na letisti, po tom co luamacros spadnou, tak se to ale vrati do normalu, XPL to cely ustoji. To posilani hodnot z XPL by asi chtelo jeste malicko vylepsit ;)
Obrázek

me2d
Site Admin
Příspěvky: 190
Registrován: 29 pro 2014, 21:30
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od me2d » 01 dub 2016, 19:15

Ty jo to uz je jak v praci :-)
Jak rikam nasim testerum: ukaz mi, jak to zreprodukovat a ja ti to opravim...
Obrázek

Uživatelský avatar
masa
Příspěvky: 435
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5
Kontaktovat uživatele:

Re: Lua Macros

Příspěvek od masa » 01 dub 2016, 19:28

Porid Arduino, postav panel, pust si ten muj skript v LUA macros, vem Jetstreama, let pul hodiny z LKPD do LKPO, pri tom mej pusteny XEconomy, na androidu XPLGPS... a pak se to treba nahodne stane... ;)
Obrázek

Odpovědět