Macro FSUIPC + LUA

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

Macro FSUIPC + LUA

Messagede PARALAILE » Jeu 10 Mar 2016 15:55

Bonjour,
voilà pour faire mon cockpit de DC-3, j'ai chosi le MAAM.
Ce qui m'oblige à faire plein de MACROS (au vin blanc) dans FSUIPC.
Je voudrais, par exemple, déclencher à la fois la macro qui me sert à actionner la pompe à carburant et déclencher le son du moteur de celle-ci,
ou allumer "seat belt" et "no smoking" et entendre le son qui correspond, ou ...
merci d'avance pour votre aide.
Dominique -->DC-3
Avatar de l’utilisateur
PARALAILE
 
Messages: 111
Inscription: 11/11/12

Re: Macro FSUIPC + LUA

Messagede Pegase78 » Sam 12 Mar 2016 01:10

Bonsoir Dominique,

Je ne sais pas si ce qui va suivre te sera utile, je suis débutant en programmation SIOC et LUA, mes compétences en ce domaine sont donc très limitées, mais malgré tout j'ai réussi à faire fonctionner le master switch sur le C182 de A2A en passant par LUA.
Donc je te livre la méthode que j'ai utilisé pour y arriver, donc à toi d'éventuellement transposer ce qui suit à ta problématique.

J'ai dans SIOC la gestion de 2 switchs Master Battery et Alternateur.

-----------------------------------Code SIOC-------------------------------------------
Var 0002, name fs_bat, Link FSUIPC_INOUT, Offset $3102, Length 1 // Offset FS $3102
{
&fs_bat = &sw_batt
}

Var 0003, name sw_batt, Link IOCARD_SW, Input 1 // inter batterie
{
&fs_bat = &sw_batt
}

Var 0005, name fs_alternat, Link FSUIPC_INOUT, Offset $66C0, Length 1 // Offset libre
{
&fs_alternat = &sw_alternat
}

Var 0006, name sw_alternat, Link IOCARD_SW, Input 2 // inter alternateur
{
&fs_alternat = &sw_alternat
}

-------------------------------------FSUIPC.INI---------------------------------------------
// Dans FSUIPC.INI j'ai ajouté les entrées suivantes dans mon cas le fichier ipcReady et C182_A2A

[LuaFiles]
1=ipcReady
2=C182_A2A

------------------------------------ipcReady.LUA------------------------------------------
// Donc, il faut créer un fichier ipcReady
// Contenu du fichier ipcReady.LUA où je test le modèle d'avion chargé dans FS
// si c'est mon C182 alors je charge le fichier C182_A2A.LUA

if ipc.readSTR(0x3D00, 11) == "C182_N516DM" then

-- Appel C182_A2A.LUA
ipc.runlua('C182_A2A')

end

----------------------------------C182_A2A.LUA----------------------------------------
// Donc il faut créer un fichier C182_A2A.LUA
// Contenu du fichier C182_A2A.LUA où j'affiche une petite fenêtre dans FS pour monitorer la valeur
// des variables et modifier leurs valeurs à chaque modification des Offsets par SIOC

-- pour commencer une boucle infinie tant que -----------------------
while 1 do

-- Affiche dans une fenêtre la valeur des variables pour les monitorer pratique pour débug----
ipc.display(
"Batterie 3102="..ipc.readUB(0x3102).."\nswBat="..ipc.readLvar('Battery1Switch').."\
Alternateur 66C0="..ipc.readUB(0x66C0).."\nswAlt="..ipc.readLvar('Eng1_GeneratorSwitch')
)

-- switch Batterie --------------------------------------------------------------------------
-- si la valeur de la Lvar est différente de la valeur de l'Offset ( modifié par le switch avec SIOC )
--alors affectation de la valeur de l'Offset
if ipc.readLvar('Battery1Switch') ~= ipc.readUB(0x3102) then
ipc.writeLvar('Battery1Switch',ipc.readUB(0x3102))
end

-- switch Alternateur -------------------------------------------------------------
-- si la valeur de la Lvar est différente de la valeur de l'Offset ( modifié par le switch avec SIOC )
--alors affectation de la valeur de l'Offset
if ipc.readLvar('Eng1_GeneratorSwitch') ~= ipc.readUD(0x66C0) then
ipc.writeLvar('Eng1_GeneratorSwitch', ipc.readUD(0x66C0))
end

-- Pause de 100 mSecs avant de boucler
ipc.sleep(100)

end

J'espère que mon exemple te sera utile.
Bon courage pour la suite

Alain
Avatar de l’utilisateur
Pegase78
 
Messages: 184
Inscription: 18/02/16

Re: Macro FSUIPC + LUA

Messagede PARALAILE » Sam 12 Mar 2016 10:10

Merci énormément Alain pour ta réponse,
Pegase78 a écrit:..., je suis débutant en programmation SIOC et LUA, mes compétences en ce domaine sont donc très limitées, ...
Alain

si tu es débutant , je me demande ce que je suis!!!!
En fait je voudrais tester avec cette MACRO,
[Macros]
Module="MAAM_R4D.DLL"
1=loltest=RX2e20*X83cc
lui ajouter le jeu d'un sound avec LUA, 1bouton = MACRO+SOUND
une fois que j'aurai cette démarche il n'y aura plus qu'à changer les paramètres après un copier coller ....
je vais essayer de comprendre ton code,
Merci encore!
Dominique -->DC-3
Avatar de l’utilisateur
PARALAILE
 
Messages: 111
Inscription: 11/11/12


Retourner vers LUA, Linda, Macros & gauges Air Manager





Qui est en ligne

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