Lenteur LUA avec P3D V4.5

Programmation LUA, Macros FSUIPC, logiciel LINDA
et codage en LUA des gauges Air Manager

Re: Lenteur LUA avec P3D V4.5

Messagede arcc » Mer 17 Juil 2019 18:46

Merci bien pour ces précisions.
Je vous soumettrais mon exemple de script quand je serais prêt.

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Lenteur LUA avec P3D V4.5

Messagede Ptitgars45 » Mer 24 Juil 2019 17:18

Merci pour ces explications.

Je vais essayer de mettre vos connaissances à profit afin de réécrire le script

merci affiche
Matthieu
Image Image Image
Avatar de l’utilisateur
Ptitgars45
 
Messages: 225
Inscription: 25/09/11
Localisation: Orange (LFMO)

Re: Lenteur LUA avec P3D V4.5

Messagede tabar57 » Mer 24 Juil 2019 18:15

Aller Mathieu lance toi lolaffiche , c'est pas si difficile et n'hésite pas si tu as des difficultés, on est là pour çà

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Lenteur LUA avec P3D V4.5

Messagede Ptitgars45 » Sam 31 Aoû 2019 20:52

Allez je me suis lançé !!! Voilà ce que ça donne, je n'ai pas encore testé car mon simu est dans le garage à 35°C !!!

Code: Tout sélectionner
function Battery()
   if ipc.readLvar('L:battery1 button') ~= ipc.readUB(0x6800) then
      ipc.writeLvar('L:battery1 button', ipc.readUB(0x6800)) end
   if ipc.readLvar('L:battery2 button') ~= ipc.readUB(0x6801) then
      ipc.writeLvar('L:battery2 button', ipc.readUB(0x6801)) end      
end

function Generator()
   if ipc.readLvar('L:generator1 button') ~= ipc.readUB(0x6802) then
      ipc.writeLvar('L:generator1 button', ipc.readUB(0x6802)) end
   if ipc.readLvar('L:generator2 button') ~= ipc.readUB(0x6803) then
      ipc.writeLvar('L:generator2 button', ipc.readUB(0x6803)) end
end

function Starter()
   if ipc.readLvar('L:engine starter select 1') ~= ipc.readUB(0x6804) then
      ipc.writeLvar('L:engine starter select 1', ipc.readUB(0x6804)) end
   if ipc.readLvar('L:engine starter select 2') ~= ipc.readUB(0x6805) then
      ipc.writeLvar('L:engine starter select 2', ipc.readUB(0x6805)) end
end

function Rotor_Brake()
   if ipc.readLvar('L:lever rotor brake') ~= ipc.readUB(0x6806) then
      ipc.writeLvar('L:lever rotor brake', ipc.readUB(0x6806)) end
end

function Flow_lever()
   if ipc.readLvar('L:fuel flow control lewer 1') ~= ipc.readUW(0x6807) then
      ipc.writeLvar('L:fuel flow control lewer 1', ipc.readUW(0x6807)) end
   if ipc.readLvar('L:fuel flow control lewer 2') ~= ipc.readUW(0x6809) then
      ipc.writeLvar('L:fuel flow control lewer 2', ipc.readUW(0x6809)) end
end

event.offset("6800","UB","Battery") --Ecoute Offset Bat G
event.offset("6801","UB","Battery") --Ecoute Offset Bat D
event.offset("6802","UB","Generator") --Ecoute Offset Gen G
event.offset("6803","UB","Generator") --Ecoute Offset Gen D
event.offset("6804","UB","Starter") --Ecoute Offset AEV G
event.offset("6805","UB","Starter") --Ecoute Offset AEV D
event.offset("6806","UB","Rotor_Brake") --Ecoute Offset Frein rotor
event.offset("6807","UB","Flow_lever") --Ecoute Offset Fuel Flow Lever 1
event.offset("6809","UB","Flow_lever") --Ecoute Offset Fuel Flow Lever 1
Matthieu
Image Image Image
Avatar de l’utilisateur
Ptitgars45
 
Messages: 225
Inscription: 25/09/11
Localisation: Orange (LFMO)

Re: Lenteur LUA avec P3D V4.5

Messagede fab » Sam 31 Aoû 2019 21:00

Ptitgars45 a écrit:...
mon simu est dans le garage à 35°C !!!
...


Cherche pas, c'est pour cela qu'il est lent ! ecroulerire
Dernière édition par fab le Dim 1 Sep 2019 08:48, édité 1 fois.
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Lenteur LUA avec P3D V4.5

Messagede Ptitgars45 » Sam 31 Aoû 2019 21:53

fab a écrit:
Cherche pas, c'est pour cela qu'il est lent ! ecroulerire


Si seulement c'était ça !!! ecroulerire ecroulerire ecroulerire ecroulerire
Matthieu
Image Image Image
Avatar de l’utilisateur
Ptitgars45
 
Messages: 225
Inscription: 25/09/11
Localisation: Orange (LFMO)

Re: Lenteur LUA avec P3D V4.5

Messagede Ptitgars45 » Sam 31 Aoû 2019 21:56

Et le deuxième fichier afin de séparer les lectures / écritures :

Code: Tout sélectionner
function Oil_press()
   ENG1_OIL_PRESS = ipc.readLvar("L:engine1 oil press")
   ENG2_OIL_PRESS = ipc.readLvar("L:engine2 oil press")
   XENG1_OIL_PRESS = ENG1_OIL_PRESS * 10
   XENG2_OIL_PRESS = ENG2_OIL_PRESS * 10
   ipc.writeUB(0x66C0, XENG1_OIL_PRESS)
   ipc.writeUB(0x66C1, XENG2_OIL_PRESS)
end

function Oil_temp()
   ENG1_OIL_TEMP = ipc.readLvar("L:engine1 oil temp")
   ENG2_OIL_TEMP = ipc.readLvar("L:engine2 oil temp")
   ipc.writeUB(0x66C2, ENG1_OIL_TEMP)
   ipc.writeUB(0x66C3, ENG2_OIL_TEMP)
end

function Eng_EGT()
   ENG1_EGT = ipc.readLvar("L:engine1 egt overall")
   ENG2_EGT = ipc.readLvar("L:engine2 egt overall")
   ipc.writeUW(0x66C4, ENG1_EGT)
   ipc.writeUW(0x66C6, ENG2_EGT)
end

function Eng_NG()
   ENG1_Ng = ipc.readLvar("L:engine1 n1 overall")
   ENG2_Ng = ipc.readLvar("L:engine2 n1 overall")
   XENG1_Ng = ENG1_Ng * 10
   XENG2_Ng = ENG2_Ng * 10
   ipc.writeSW(0x66C8, XENG1_Ng)
   ipc.writeSW(0x66DD, XENG2_Ng)
end

function Delta_NG()
   ENG1_DNg = ipc.readLvar("L:eng1 delta ng")
   ENG2_DNg = ipc.readLvar("L:eng2 delta ng")
   XENG1_DNg = ENG1_DNg * -1
   XENG2_DNg = ENG2_DNg * -1
   ipc.writeUB(0x66CA, XENG1_DNg)
   ipc.writeUB(0x66CB, XENG2_DNg)
end

function Eng_TRQ()
   ENG1_TRQ = ipc.readLvar("L:engine1 torque overall")
   ENG2_TRQ = ipc.readLvar("L:engine2 torque overall")
   ipc.writeSB(0x66CC, ENG1_TRQ)
   ipc.writeSB(0x66CD, ENG2_TRQ)
end

function NTL()
   ENG1_NTL = ipc.readLvar("L:engine1 n2 base")
   ENG2_NTL = ipc.readLvar("L:engine2 n2 base")
   ipc.writeUB(0x66CE, ENG1_NTL)
   ipc.writeUB(0x66CF, ENG2_NTL)
end

function IG()
   GEN1_AMP = ipc.readLvar("L:gen1 amp")
   GEN2_AMP = ipc.readLvar("L:gen2 amp")
   XGEN1_AMP = GEN1_AMP * 0.38
   XGEN2_AMP = GEN2_AMP * 0.42
   ipc.writeUB(0x66D0, XGEN1_AMP)
   ipc.writeUB(0x66D1, XGEN2_AMP)
end

function NR()
   NR = ipc.readLvar("L:rotor rpm turns")
   ipc.writeUW(0x66D2, NR)
end

function Fuel_flow()
   ENG1_FF_FS = ipc.readLvar("L:engine1 fuel flow")
   ENG2_FF_FS = ipc.readLvar("L:engine2 fuel flow")
   XENG1_FF_FS = ENG1_FF_FS * 1.23 -- Conversion débit kg -> L
   XENG2_FF_FS = ENG2_FF_FS * 1.22 -- Conversion débit kg -> L
   ipc.writeUB(0x66DB, XENG1_FF_FS)
   ipc.writeUB(0x66DC, XENG2_FF_FS)
end

function ALT()
   ALT_G = ipc.readLvar("L:ann inv1")
   ALT_D = ipc.readLvar("L:ann inv2")
   ipc.writeUB(0x66D5, ALT_G) --Voyant ALT G
   ipc.writeUB(0x66D6, ALT_D) --Voyant ALT D
end

function BAT()
   BAT_G = ipc.readLvar("L:ann battery1")
   BAT_D = ipc.readLvar("L:ann battery2")
   ipc.writeUB(0x66D7, BAT_G) --Voyant BAT G
   ipc.writeUB(0x66D8, BAT_D) --Voyant BAT D
end

function GENE()
   GEN_G = ipc.readLvar("L:ann generator1")
   GEN_D = ipc.readLvar("L:ann generator2")
   ipc.writeUB(0x66D9, GEN_G) --Voyant GEN G
   ipc.writeUB(0x66DA, GEN_D) --Voyant GEN D
end

function ENG_RUN()
   ENG1_OFF = ipc.readLvar("L:engine1 off")
   ENG2_OFF = ipc.readLvar("L:engine2 off")
   ipc.writeUB(0x66EA, ENG1_OFF)
   ipc.writeUB(0x66EB, ENG2_OFF)
end

event.lvar("L:engine1 oil press",100,"Oil_press") --Ecoute Offset Oil Press 1
event.lvar("L:engine2 oil press",100,"Oil_press") --Ecoute Offset Oil Press 2
event.lvar("L:engine1 oil temp",100,"Oil_temp") --Ecoute Offset Oil Temp 1
event.lvar("L:engine2 oil temp",100,"Oil_temp") --Ecoute Offset Oil Temp 2
event.lvar("L:engine1 egt overall",100,"Eng_EGT") --Ecoute Offset EGT1
event.lvar("L:engine2 egt overall",100,"Eng_EGT") --Ecoute Offset EGT2
event.lvar("L:engine1 n1 overall",100,"Eng_NG") -- Ecoute NG1
event.lvar("L:engine2 n1 overall",100,"Eng_NG") -- Ecoute NG2
event.lvar("L:eng1 delta ng",100,"Delta_NG") -- Ecoute DNG1
event.lvar("L:eng2 delta ng",100,"Delta_NG") -- Ecoute DNG2
event.lvar("L:engine1 torque overall",100,"Eng_TRQ") -- Ecoute TRQ1
event.lvar("L:engine2 torque overall",100,"Eng_TRQ") -- Ecoute TRQ2
event.lvar("L:engine1 n2 base",100,"NTL") -- Ecoute NTL1
event.lvar("L:engine2 n2 base",100,"NTL") -- Ecoute NTL2
event.lvar("L:gen1 amp",1000,"IG") -- Ecoute I Géné 1
event.lvar("L:gen2 amp",1000,"IG") -- Ecoute I Géné 2
event.lvar("L:rotor rpm turns",100,"NR") --Ecoute NR
event.lvar("L:engine1 fuel flow",100,"Fuel_flow") --Ecoute FF1
event.lvar("L:engine2 fuel flow",100,"Fuel flow") --Ecoute FF2
event.lvar("L:ann inv1",100,"ALT") --Ecoute ALT1
event.lvar("L:ann inv2",100,"ALT") --Ecoute ALT2
event.lvar("L:ann battery1",100,"BAT") --Ecoute BAT G
event.lvar("L:ann battery2",100,"BAT") --Ecoute BAT D
event.lvar("L:ann generator1",100,"GENE") --Ecoute GENE G
event.lvar("L:ann generator2",100,"GENE") --Ecoute GENE D
event.lvar("L:engine1 off",100,"ENG_RUN") --Ecoute RUN1
event.lvar("L:engine2 off",100,"ENG_RUN") --Ecoute RUN2


Je m'en remet à Bernard pour la vérification avant de les intégrer à la structure du FSUIPC.ini, et les faire tourner sur le simu, en espérant résoudre les problèmes de lenteur !!!! Je croise les doigts gratgrat
Matthieu
Image Image Image
Avatar de l’utilisateur
Ptitgars45
 
Messages: 225
Inscription: 25/09/11
Localisation: Orange (LFMO)

Re: Lenteur LUA avec P3D V4.5

Messagede tabar57 » Dim 1 Sep 2019 07:38

Bonjour Mathieu

Ca parait correct, 2 remarques cependant :
Tu peux grouper sans problème tes fichiers Lua, il vaut mieux en lancer 1 que 2 et tu peux écrire

function Oil_temp()
ipc.writeUB(0x66C2, ipc.readLvar("L:engine1 oil temp"))
ipc.writeUB(0x66C3, ipc.readLvar("L:engine2 oil temp")) , çà évite des variables intermédiaires
end

au lieu de :

function Oil_temp()
ENG1_OIL_TEMP = ipc.readLvar("L:engine1 oil temp")
ENG2_OIL_TEMP = ipc.readLvar("L:engine2 oil temp")
ipc.writeUB(0x66C2, ENG1_OIL_TEMP)
ipc.writeUB(0x66C3, ENG2_OIL_TEMP)
end

Voilà

Cordialement

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Lenteur LUA avec P3D V4.5

Messagede Ptitgars45 » Dim 1 Sep 2019 09:44

Merci pour ces conseils Bernard, justement je ne savais pas si je pouvais le faire car je n'ai trouvé aucune doc qui me disait si je pouvais écrire de cette façon !!! Je fais les modifications et j'implémente ça dans le simu pour voir !!!

merci affiche
Matthieu
Image Image Image
Avatar de l’utilisateur
Ptitgars45
 
Messages: 225
Inscription: 25/09/11
Localisation: Orange (LFMO)

Re: Lenteur LUA avec P3D V4.5

Messagede tabar57 » Dim 1 Sep 2019 11:22

Ok, n'oublie pas de nous tenir au courant merci affiche

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

PrécédenteSuivante

Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités