Lua Macros
Re: Lua Macros
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.
Re: Lua Macros
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
Re: Lua Macros
Tu chybu uz jsem videl & resil, akorat si ted nepamatuju jak
.
Posilejte mi cely skripty, ja si s tim klidne pohraju.

Posilejte mi cely skripty, ja si s tim klidne pohraju.

Re: Lua Macros
Já jsem se včera zaměřil jenom na to sekání a.. ono je to pěkně náhodný
Jednou se to seká a problikává to černě, podruhý se mi hodil Xpl do "Neodpovídá" a potřetí to fungovalo správně.
Zkusím to ještě jednou, takhle to nejde, aby si to ze mě dělalo srandu!


Re: Lua Macros
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.
Re: Lua Macros
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.
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.
Re: Lua Macros
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.
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.
Zadny error nikde nevidno, BRG se v xpl meni, i primo ten dataref zkontrolovan v XPL, ale callback se nezavola.
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)
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)
Re: Lua Macros
Mrknu na to.
Zatim jsem upravil logovani, aby debug vystupy psal i xpl plugin.
Nyni lze pouzit command
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.
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')
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.

Re: Lua Macros
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
Odesláno z mého HTC One M8s pomocí Tapatalk
Re: Lua Macros
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.

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.
