Lua Macros

Nástroje, utility, SW udělátka, Xdgets, doplňky ...

Re: Lua Macros

Příspěvekod masa » 30 srp 2016, 22:32

Tak jsem to vyzkousel a ta novinka zda se funguje dobre. Pak jsem si s tim ale chvili hral a me to nejak nema rado... Obcas to nezaregistruje nektery z callbacku a pak k nemu neposila data, obcas LUA zacne sypat nejakou floating point exception a dohledat kde co proc se mi moc nedari, navic se to chova nahodne, obcas to vsechno probehne ok a bezi to v pohode, coz je ta nejblbejsi varianta.
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod masa » 31 srp 2016, 07:07

Tak tohle je to co mi to hazi, tusis kde je problem?

Kód: Vybrat vše
2016-08-31 07:56:14:360 [LUA]: Lua worker: starting procedure callback id 8, xpl value name "sim/cockpit/radios/gps_dme_time_secs", id 3681791734881, value [double] +Inf, int param 58, queue size is 1
2016-08-31 07:56:14:364 [LUA]: Lua worker: finished callback id 8, xpl value name "sim/cockpit/radios/gps_dme_time_secs", id 3681791734881, value [double] +Inf, int param 58 with error, execution time: 0 ms
2016-08-31 07:56:14:368 [LUA] ERROR: Exception in LUA code: Invalid floating point operation
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod me2d » 31 srp 2016, 07:56

Tu chybu uz jsem videl & resil, akorat si ted nepamatuju jak :-).
Posilejte mi cely skripty, ja si s tim klidne pohraju.
Obrázek
me2d
Site Admin
 
Příspěvky: 175
Registrován: 29 pro 2014, 21:30

Re: Lua Macros

Příspěvekod LAKY911 » 31 srp 2016, 08:17

Já jsem se včera zaměřil jenom na to sekání a.. ono je to pěkně náhodný :-D Jednou se to seká a problikává to černě, podruhý se mi hodil Xpl do "Neodpovídá" a potřetí to fungovalo správně. :-D Zkusím to ještě jednou, takhle to nejde, aby si to ze mě dělalo srandu!
Obrázek
Uživatelský avatar
LAKY911
 
Příspěvky: 86
Registrován: 02 led 2015, 23:10

Re: Lua Macros

Příspěvekod masa » 31 srp 2016, 12:06

Kod ti sem nekdy klidne hodim, jde tam podle me o to, ze ta value je nekonecno a ta posahana LUA se s tim nejak neumi poprat, zkousel jsem i nejaky funkce co poznaji nekonecno, nejak tam vrazit if, ale to fungovalo taky zahadne.
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod masa » 31 srp 2016, 20:02

Takze vysledek badani...

sim/cockpit/radios/gps_dme_time_secs obcas asi vraci mocinky veliky cislo, ktery pak v lua po printf vypise 1.#INF coz je jako nekonecno.

Kdyz na tohle cislo clovek pouzije treba string.format("%d", value), tak to hodi ERROR: Exception in LUA code: Invalid floating point operation.

Jde tam dat if a to takto if(value == math.huge) then print("nekonecno") end

Vsechny ostatni testy, jestli to je nekonecno, co jsou na netu, nefungujou.
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod masa » 31 srp 2016, 20:20

Tak a ted problemy, ktery by chtelo poladit...

Pokud je callback na sim/cockpit/radios/gps_dme_time_secs a leze tam z toho to nekonecno - v xpl toho jde docilit tim, ze se postavis treba na OIII a direct to EBCI, tak tam asi nefunguje ta zmena o 1, sype to v intervalu 1 vterina porad, ale ta value je porad nekonecno.

Kód: Vybrat vše
   lmc_on_xpl_var_change('sim/cockpit/radios/gps_dme_time_secs', function(value, count)
     if(value == math.huge) then value = 0 end
     str = 'GP4_' .. string.format("%d", value * 60) .. '|'
     lmc_send_to_com('COM', str)
     if(AXPL_DEBUG == 1) then
        print("LUA > Arduino: " .. str .. " (GPS ETE)")
     end
   end, 1000, 1)   


Jakmile dam neco blizkeho a cas neni nekonecno, tak se to vse srovna o funguje spravne.

Druhy problem co je trochu nahodny, obcas to jde, obcas ne - jakoby se nezaregistruje callback pro BRG, obcas i dalsi gps hodnoty.

Kód: Vybrat vše
   
lmc_on_xpl_var_change('sim/cockpit2/radios/indicators/gps_bearing_deg_mag', function(value, count)
     str = 'GP6_' .. string.format("%d", value) .. '|'
     lmc_send_to_com('COM', str)
     if(AXPL_DEBUG == 1) then
      print("LUA > Arduino: " .. str .. " (GPS bearing)")
     end
   end, 1000, 1)


Zadny error nikde nevidno, BRG se v xpl meni, i primo ten dataref zkontrolovan v XPL, ale callback se nezavola.
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod me2d » 31 srp 2016, 22:56

Mrknu na to.
Zatim jsem upravil logovani, aby debug vystupy psal i xpl plugin.
Nyni lze pouzit command
Kód: Vybrat vše
lmc_xpl_log_file('luamacros1.log')

A do toho souboru zacne logovat xpl plugin (co se v nem deje a tedy hlavne co posila do luamacros). Relativni cesta jde proti xpl home adresari, absolutni asi bude fungovat taky.
Pokud si s tim chces hrat, linky jsou stejny jako jsem daval pred par dny (plugin i exe), ale jinak se jeste casem podivam na ty priklady, co jsi mi daval.
Obrázek
me2d
Site Admin
 
Příspěvky: 175
Registrován: 29 pro 2014, 21:30

Re: Lua Macros

Příspěvekod masa » 02 zář 2016, 08:03

Toho logovani pluginu slo dosahnout i predtim, ne? Ze se tam zalozil ten file. Nebo je tohle neco jinyho?

Odesláno z mého HTC One M8s pomocí Tapatalk
Obrázek
Uživatelský avatar
masa
 
Příspěvky: 420
Registrován: 30 pro 2014, 22:31
Bydliště: Praha 5

Re: Lua Macros

Příspěvekod me2d » 02 zář 2016, 23:19

No ale takhle je to preci mnohem elegantnejsi :-)
Opravil jsem tu chybu na +Inf.
S gps bearing jsem si chvili hral, ale fungovalo mi to dobre.
Nove fily na tech 2 primych downloadech.
Obrázek
me2d
Site Admin
 
Příspěvky: 175
Registrován: 29 pro 2014, 21:30

PředchozíDalší

Zpět na Nástroje a doplňky

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník

cron