Comme beaucoup je me suis récemment lancé dans la construction d'un cockpit de Cessna Mustang sur la base de l'add-on de F1( un moyen de mêler ma formation de pilote de ligne et mon métier d'informaticien (mais pas programmeur, je suis administrateur réseaux sur gros systèmes).
Etant au tout début je coince sur les Lua, à savoir comprendre comment cela fonctionne et surtout comment utiliser les scripts via Fsuipc. Une fois que j'aurai sortie cette situation je pourrai avancer

Donc voila ce que j'ai fait jusque là, je suis sûr qu'avec le niveau de ressource du forum je vais débloquer ma situation.
Je suis partis d'un test sur un bouton n'ayant rien d'autre qu'une Lvar pour l'actionner (si je ne compte pas sur Key2mouse bien sûr). Le bouton en question est le Push du double rotary du G1000 servant à basculer la gestion de la fréquence NAV du PFD.
La Lvar est celle-ci "L:G1000NavPushPFD". Testée au travers de LINDA tout fonctionne, le rectangle bleu entourant la fréquence bascule bien du Nav1 au Nav2. L'étape suivante était d'intégrer cette Lvar dans un Script Lua afin de pouvoir piloter l'action au travers d'une action KeyPress de Fsuipc (l'étape finale sera de l'actionner via les iocard et sioc).
Donc voici le script que j'ai écris pour le test (inspiré du Script "F1MustangSwCtl.lua" livré avec le "Lua_Plugins").
Dans l'addon le Push est un toggle qui bascule le cadre bleu de Nav1 à Nav2 peu importe la position initiale.
- Code: Tout sélectionner
-- F1MustangJL.lua
-- initialization
ipc.writeLvar("L:G1000NavPushPFD",0) --place le curseur sur le nav1
-- clear
function clearflag(var)
ipc.writeUW(0x0D6C, var)
ipc.writeSTR(0x0D70, "LuaClear:F1MustangJL")
end
--
while 1 do
if ipc.testflag(0) then
clearflag(0)
if (ipc.readLvar("L:G1000NavPushPFD" == 0)) then
ipc.writeLvar("L:G1000NavPushPFD", 1)
else
ipc.writeLvar("L:G1000NavPushPFD", 0)
end
end
--
ipc.sleep(50)
end
Vous vous en doutez ce code ne fonctionne pas, il n'a pas d'erreur et il est bien lu dans FSX (j'ai pris soin d'oublier une parenthèse afin de créer une erreur de script et d'avoir la remonté dans les logs et valider qu'il était bien lu par l'action KeyPress).
Dernière étape, j'ai associé ce script à un KeyPress (ctrl+Z) associé à Lua F1MustangJL choisie dans la liste déroulante d'Fscuipc avec comme paramètre 0, résultat rien.
J'ai aussi essayé avec LuaToggle, même constat. J'ai pas essayé les autres car je ne connait pas leur destination.
Voila, j'en peux plus je comprend vraiment pas comment ça fonctionne alors si quelqu'un m'offre un petit coup de pouce je prend.
Par la même occasion s'il existe un moyen de récupérer la position du cadre bleu, car je vais en avoir besoin par la suite pour les modifications de fréquence qui dépendent de cette position pour agir sur le Nav1 ou le Nav2.
