Après les premières démos effectuées et la première mise en route officielle de tous l'ensemble du simu, je suis confronté à un problème majeur

Le Nemeth AS355 fonctionne avec ses propres variables. J'utilise donc un LUA pour "jouer" avec les variables. Et c'est là que le problème se pose. I
l y a un décalage monstrueux (~ 2 secondes) entre une action physique dans le pit et son action effective sur le modèle dans P3D, et le même décalage dans l'autre sens, c'est à dire action du modèle P3D vers une gauge du pit (pour les moteurs par exemple). Du coup pas évident de piloter dans ces conditions.
Le reste de ma configuration fonctionnant parfaitement (liaison Ethernet entre les PCs, communication WideFs...), j'en suis venu à la conclusion qu'il y avait un problème au niveau de mon fichier LUA. Je le joint ici afin que les cadors de la programmation puisse y jeter un coup d’œil et m'aiguiller. Le fait de modifier le ipc.sleep(50) à une valeur plus faible ne change rien, je vous ai vu venir !!!!!


J'émet également un doute quant à la programmation faite par les développeurs sur le taux de rafraichissement du modèle de vol et donc des gauges, mais celles-ci fonctionnent en instantanés sur l'écran, donc...
A la recherche d'une bonne aide..................
Merci d'avance...
- Code: Tout sélectionner
while 1 do
-- Fenetre de débuggage
ipc.display(
"\nTrue_Heading="..ipc.readUD(0x66EC).."\nFF_FS_G="..ipc.readUB(0x66DB).."\nENG_G="..ipc.readLvar('L:engine1 off').."\nENG1_N1_%="..ipc.readLvar('L:engine1 n2').."\nENG1_N1_OVH="..ipc.readLvar('L:engine1 n1 overall').."\nENG1_N1="..ipc.readLvar('L:engine1 n1')..
"\nRTR_RPM="..ipc.readLvar('L:rotor1 rpm')..
"\nRTR_RPM="..ipc.readLvar("L:rotor rpm turns")..
"\nRTR_RPM="..ipc.readUW(0x66D2)..
"\nTHM G ="..ipc.readLvar('L:engine1 oil temp')..
"\nPHM G ="..ipc.readLvar('L:engine1 oil press')..
"\nTHM D ="..ipc.readLvar('L:engine2 oil temp')..
"\nPHM D ="..ipc.readLvar('L:engine2 oil press')..
"\nPHM G SIOC="..ipc.readUB(0x66C0)..
"\nENG1 start selector="..ipc.readLvar('L:engine starter select 1')
)
-- Synchro inters
if ipc.readLvar('L:battery1 button') ~= ipc.readUB(0x6800) then ipc.writeLvar('L:battery1 button', ipc.readUB(0x6800)) end -- Batterie G
if ipc.readLvar('L:battery2 button') ~= ipc.readUB(0x6801) then ipc.writeLvar('L:battery2 button', ipc.readUB(0x6801)) end -- Batterie D
if ipc.readLvar('L:generator1 button') ~= ipc.readUB(0x6802) then ipc.writeLvar('L:generator1 button', ipc.readUB(0x6802)) end -- Géné G
if ipc.readLvar('L:generator2 button') ~= ipc.readUB(0x6803) then ipc.writeLvar('L:generator2 button', ipc.readUB(0x6803)) end -- Géné G
if ipc.readLvar('L:engine starter select 1') ~= ipc.readUB(0x6804) then ipc.writeLvar('L:engine starter select 1', ipc.readUB(0x6804)) end -- AEV G
if ipc.readLvar('L:engine starter select 2') ~= ipc.readUB(0x6805) then ipc.writeLvar('L:engine starter select 2', ipc.readUB(0x6805)) end -- AEV D
if ipc.readLvar('L:lever rotor brake') ~= ipc.readUB(0x6806) then ipc.writeLvar('L:lever rotor brake', ipc.readUB(0x6806)) end -- Rotor brake
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 -- Manette de débit G en %
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 -- Manette de débit D en %
-- Bloquage des inters
if ipc.readLvar('L:fuel boost pump no1 button') ~= 0 then ipc.writeLvar('L:fuel boost pump no1 button', 0) end -- Fuel Pump 1
if ipc.readLvar('L:fuel boost pump no2 button') ~= 0 then ipc.writeLvar('L:fuel boost pump no2 button', 0) end -- Fuel Pump 2
if ipc.readLvar('L:avionic button') ~= 0 then ipc.writeLvar('L:avionic button', 0) end -- Avionics avec Batt
-- Lecture des LVars
ENG1_OIL_PRESS = ipc.readLvar("L:engine1 oil press")
ENG2_OIL_PRESS = ipc.readLvar("L:engine2 oil press")
ENG1_OIL_TEMP = ipc.readLvar("L:engine1 oil temp")
ENG2_OIL_TEMP = ipc.readLvar("L:engine2 oil temp")
ENG1_EGT = ipc.readLvar("L:engine1 egt overall")
ENG2_EGT = ipc.readLvar("L:engine2 egt overall")
ENG1_Ng = ipc.readLvar("L:engine1 n1 overall")
ENG2_Ng = ipc.readLvar("L:engine2 n1 overall")
ENG1_DNg = ipc.readLvar("L:eng1 delta ng")
ENG2_DNg = ipc.readLvar("L:eng2 delta ng")
ENG1_TRQ = ipc.readLvar("L:engine1 torque overall")
ENG2_TRQ = ipc.readLvar("L:engine2 torque overall")
ENG1_NTL = ipc.readLvar("L:engine1 n2 base")
ENG2_NTL = ipc.readLvar("L:engine2 n2 base")
GEN1_AMP = ipc.readLvar("L:gen1 amp")
GEN2_AMP = ipc.readLvar("L:gen2 amp")
NR = ipc.readLvar("L:rotor rpm turns")
ENG1_FF_FS = ipc.readLvar("L:engine1 fuel flow")
ENG2_FF_FS = ipc.readLvar("L:engine2 fuel flow")
ALT_G = ipc.readLvar("L:ann inv1")
ALT_D = ipc.readLvar("L:ann inv2")
BAT_G = ipc.readLvar("L:ann battery1")
BAT_D = ipc.readLvar("L:ann battery2")
GEN_G = ipc.readLvar("L:ann generator1")
GEN_D = ipc.readLvar("L:ann generator2")
ENG1_OFF = ipc.readLvar("L:engine1 off")
ENG2_OFF = ipc.readLvar("L:engine2 off")
-- Mise en forme des LVars
XENG1_OIL_PRESS = ENG1_OIL_PRESS * 10
XENG2_OIL_PRESS = ENG2_OIL_PRESS * 10
XENG1_DNg = ENG1_DNg * -1
XENG2_DNg = ENG2_DNg * -1
XGEN1_AMP = GEN1_AMP * 0.38
XGEN2_AMP = GEN2_AMP * 0.42
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
XENG1_Ng = ENG1_Ng * 10
XENG2_Ng = ENG2_Ng * 10
-- Ecriture dans Offsets Libres
ipc.writeUB(0x66C0, XENG1_OIL_PRESS)
ipc.writeUB(0x66C1, XENG2_OIL_PRESS)
ipc.writeUB(0x66C2, ENG1_OIL_TEMP)
ipc.writeUB(0x66C3, ENG2_OIL_TEMP)
ipc.writeUW(0x66C4, ENG1_EGT)
ipc.writeUW(0x66C6, ENG2_EGT)
ipc.writeSW(0x66C8, XENG1_Ng)
ipc.writeSW(0x66DD, XENG2_Ng)
ipc.writeUB(0x66CA, XENG1_DNg)
ipc.writeUB(0x66CB, XENG2_DNg)
ipc.writeSB(0x66CC, ENG1_TRQ)
ipc.writeSB(0x66CD, ENG2_TRQ)
ipc.writeUB(0x66CE, ENG1_NTL)
ipc.writeUB(0x66CF, ENG2_NTL)
ipc.writeUB(0x66D0, XGEN1_AMP)
ipc.writeUB(0x66D1, XGEN2_AMP)
ipc.writeUW(0x66D2, NR)
ipc.writeUB(0x66D4, BATT_G)
ipc.writeUB(0x66D5, ALT_G) --Voyant ALT G
ipc.writeUB(0x66D6, ALT_D) --Voyant ALT D
ipc.writeUB(0x66D7, BAT_G) --Voyant BAT G
ipc.writeUB(0x66D8, BAT_D) --Voyant BAT D
ipc.writeUB(0x66D9, GEN_G) --Voyant GEN G
ipc.writeUB(0x66DA, GEN_D) --Voyant GEN D
ipc.writeUB(0x66DB, XENG1_FF_FS)
ipc.writeUB(0x66DC, XENG2_FF_FS)
ipc.writeUB(0x66EA, ENG1_OFF)
ipc.writeUB(0x66EB, ENG2_OFF)
ipc.sleep(50)
end
P.S. : Les photos du pit' arriveront très prochainement !!!