#1 [↑][↓] 10-01-2016 22:52:32

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

[FSX]Programmation FSUIPC / LINDA

Bonjour à tous.
Absent du monde de la simulation depuis un moment pour raisons professionnelles, familiales et informatiques, j'essaie de revenir doucement et j'ai besoin de votre aide.
Mes filles m'ont offert un kit MFD Cougar et j'essaie de l'utiliser... j'ai chargé LINDA et j'ai une version enregistrée de FSUIPC. Je tente de programmer quelques fonctions de mon DA 2O X4 d'Aerosoft.
Ca fonctionne pour les fonctions basiques mais je souhaiterais attribuer à l'un de mes MFD le pilotage des interrupteurs du système électrique du DA 20 et, là,  je sèche. Mon problème est d'affecter à un bouton type poussoir du MFD, un fonctionnement "toggle", par exemple j'aimerais lorsque j'appuie sur ce bouton avoir la fonction battery on (ça j'y suis arrivé) et quand j'appuie une seconde fois, obtenir la fonction battery off.
Merci à ceux qui pourraient me venir en aide.
Amicalement.
Thierry

Dernière modification par Thierry (10-01-2016 22:56:38)


EDM700.jpg pfqh7.gif

Hors ligne

#2 [↑][↓] 11-01-2016 08:28:20

Pat_59
Membre
Lieu : Sailly sur la lys près de LFQT
Inscription : 11-05-2013
Renommée :   17 

Re : [FSX]Programmation FSUIPC / LINDA

Bonjour,

Utilises-tu un profil Linda particulier pour le DA-20 (il me semble qu'il y en a un disponible sur AVSIM)?

As-tu quelques connaissances en LUA?

Ce n'est pas difficile de programmer un "toggle". Il suffit de connaître l'état de l'interrupteur dans l'avion et d'envoyer la commande inverse (interrupteur sur On on envoie la commande Off et inversement).

Si tu as besoin d'un coup de main, contacte-moi par MP.


Amicalement  Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....

Hors ligne

#3 [↑][↓] 11-01-2016 09:24:34

Rémy
Membre
Lieu : 7 Nm QDR270 LFRC
Inscription : 08-12-2008
Renommée :   25 

Re : [FSX]Programmation FSUIPC / LINDA

Je confirme, Patrick m'est venu en aide pour le T7 pmdg avec le mcp-combo de Vri et ça fonctionne impec ! eusa_clap
Merci encore Patrick !


"V1, Rotate, V dormir..."
Ryzen 5 5600X / Gigabyte B550 AORUS ELITE V2 / Be Quiet! Pure Rock 2 black / G.Skill Ripjaws V 4x8 Go F4-3600C18D / WD Blue SN570 - 1To (OS) / Samsung 980 - 1 To (Jeux) / Gigabyte Radeon RX 6700 XT Eagle - 12 Go / Be Quiet Pure Base 500DX / Seasonic Prime GX-650 – Gold / Win 11 Pro

Hors ligne

#4 [↑][↓] 11-01-2016 20:54:02

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Bonjour Pat et bonjour Rémy.
Je constate avec grand plaisir que ce forum est toujours aussi réactif. Ou plutôt devrais-dire (écrire), que ses membres sont toujours aussi prompts à aider les autres, merci.
J'ai un peu (un tout petit peu) avancé. Mon problème concernait tous les boutons du panneau électrique du DA20 X4 (dont les commandes ne sont pas compatibles avec celles par défaut de FSX).
J'avais attribué à mes MFD les fonctions du menu Linda Diamond DA20-100 'Katana' / Electricity / XXXX ("Battery on" et "Battery off") par exemple.
En fait en allant dans le menu Linda Set FSUIPC Macro, à l'aide du fichier que j'avais chargé sur le forum AVSIM, j'ai trouvé diverses autres fonctions qui commencent par 4X_DA20-100: L:BUTTON_XXXX. Ca fonctionne correctement pour L:BUTTON_BATTERY, L:BUTTON_GENERATOR, L:BUTTON_AVIONIC, L:BUTTON_TAXI_LIGHT, L:BUTTON_LANDING_LIGHT, L:BUTTON_STROBE_LIGHT et L:BUTTON_FUEL_PUMP.
Mais l'équivalent n'existe pas pour POISTION_LIGHT et TAXI_LIGHT qui n'existent que sous la forme SWITCH_POSITION_LIGHT et SWITCH_TAXI_LIGHT...
C'est certainement que le programmeur de ce fichier Linda ne s'était pas penché sur ce problème car il n'utilisait pas cette fonction. Ne nous plaignons pas, c'est déjà très bien de trouver le boulot à moitié (voire à 90%) fait !...
Donc mon problème subsiste pour ces deux assignations.
Je ne connais absolument pas LUA, je le découvre. Mais ça ne semble pas insurmontable, la syntaxe parait très proche de celle du BASIC.
Je n'ai pas trouvé comment éditer les macros FSUIPC (que je découvre également en version complète). Peut-être si je trouvais le code d'une macro du genre L:BUTTON_XXXX pourrais-je m'en inspirer pour modifier L:SWITCH ?
Pat_59, je retiens ta proposition et si je ne trouve pas je fais appel à toi ;-). Je regarde ça ce week-end car à nouveau problème professionnel après l'explosion d'un transformateur EDF qui a provoqué la "mort" de la chaudière.... 160 personnes sans chauffage et qui disent "directeur, faut trouver une solution...." Quand on est le chef, on est le chef, surtout quand ça merde !!!!!!
Amicalement.
Thierry


EDM700.jpg pfqh7.gif

Hors ligne

#5 [↑][↓] 12-01-2016 16:09:13

Pat_59
Membre
Lieu : Sailly sur la lys près de LFQT
Inscription : 11-05-2013
Renommée :   17 

Re : [FSX]Programmation FSUIPC / LINDA

Bonjour Thierry,

Comme tu utilises Linda, tu n'as pas besoin de te servir des macros pour modifier une Lvar. Elles peuvent servir d'en d'autres cas (notamment quand aucune Lvar n'est associée à la commande que tu souhaites faire, sous réserve de certaines conditions) mais pas ici.

N'ayant pas l'avion, j'ai téléchargé sur le forum AVSIM un profil Linda le concernant.
Dans ce profil datant de 2011, le fichier qui nous intéresse se nomme "actions.lua" et se trouve dans Modules\Linda\Aircrafts\DA20 Katana X\
C'est ce fichier qui contient toutes les commandes qui seront disponibles dans le menu Linda de l'avion.
Ce fichier est un simple fichier texte qui peut être ouvert (et modifier) soit dans le bloc-notes soit (mieux) directement dans l'éditeur de Linda (Linda Editor qui comporte une détection des erreurs de syntaxe).
C'est aussi ce fichier que nous modifierons pour y intègrer les fonctions qui te manquent (toggle) afin qu'elles soient attribuables à un bouton depuis Linda.

Chez moi, ce fichier contient toutes les commandes de "light", Taxi et Position incluses mais sans les "toggle".

Avant d'aller plus loin, j'aimerai que tu compares mon fichier au tien pour s'assurer que nous utilisons la même version.

Je le mets sous balise "Spoiler" pour ne pas agrandir démesurément la taille du post. En cliquant sur la balise, tu en auras la teneur.

[Spoiler]

Si ce n'est pas le même, il faudra s'assurer que ton avion est à jour avec les derniers Update.

À te lire,

Dernière modification par Pat_59 (12-01-2016 16:54:04)


Amicalement  Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....

Hors ligne

#6 [↑][↓] 12-01-2016 18:22:56

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Bonsoir Pat
Une nouvelle fois merci de prendre du temps pour me répondre.
J'ai bien ce fichier action.lua de 2011.
Amicalement
Thierry


EDM700.jpg pfqh7.gif

Hors ligne

#7 [↑][↓] 12-01-2016 22:02:41

Pat_59
Membre
Lieu : Sailly sur la lys près de LFQT
Inscription : 11-05-2013
Renommée :   17 

Re : [FSX]Programmation FSUIPC / LINDA

Parfait. Dans ce cas continuons...

Prenons pour exemple le switch Battery.

Ce switch répond à la Lvar "SWITCH_BATTERY" (attention à la casse le LUA y est sensible), pour le mettre sur "On" on utilisera l'instruction ipc.writeLvar (pas besoin de macro) suivie entre parenthèses du nom de la Lvar entre guillemets, d'une virgule et de la valeur à y inscrire (dans ce cas 1 pour On, 0 pour Off).
Pour mettre sur "On" : ipc.writeLvar("SWITCH_BATTERY", 1)

L'avantage des Lvar c'est qu'elles permettent aussi de connaitre la position effective de l'interrupteur.
Dans ce cas on utilise une instruction de ce type : ipc.readLvar("SWITCH_BATTERY"). Celle-ci nous renverra la position actuelle du switch (1 pour "On", 0 pour "Off").

Pour créer une fonction "toggle":
On interroge la Lvar pour connaitre sa valeur actuelle puis, en fonction du résultat, on écrit sur la Lvar la position opposée.
Exemple de code pour le switch Battery:

function DA20_Battery_toggle () -- nom de la fonction comme il apparaitra dans les menus Linda.
      if ipc.readLvar("SWITCH_BATTERY") == 0 then --Lis la position du switch
      ipc.writeLvar("SWITCH_BATTERY", 1) --si égale à 0 passe le switch sur "On"
      else
      ipc.writeLvar("SWITCH_BATTERY", 0) --dans le cas contraire passe le switch sur "Off"
      end
end

Il ne te reste qu'à copier cette fonction dans l'actions.lua (sous les fonctions Battery d'origine par exemple mais cela importe peu).
Cette fonction sera disponible dans la "librairie" de l'avion et pourra être affecter à un de tes boutons disponibles.
Plus besoin de deux boutons (un pour "On", l'autre pour "Off"), l'appui sur le bouton associé à cette fonction basculera d'un état à l'autre.
C'est valable également pour les "light" mais je te laisse faire les fonctions appropriées....

En cas de besoin, je suis toujours là..

Dernière modification par Pat_59 (12-01-2016 22:18:11)


Amicalement  Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....

Hors ligne

#8 [↑][↓] 12-01-2016 22:37:25

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Génial, c'est exactement le type d'exemple que je cherchais afin de comprendre comment ça marche. En quelques lignes tu m'as donné tous les renseignements dont j'ai besoin alors que des heures d'essais et de recherches sont restées vaines...
En fait ça ne semble pas très compliqué, je teste ce week-end et je te tiens au courant. Je vais peut-être même installer des MFD dans le vrai DA20, c'est notre chef-pilote qui va être content 😁 !
Encore un grand merci à toi Patrick.
Amicalement.
Thierry


EDM700.jpg pfqh7.gif

Hors ligne

#9 [↑][↓] 13-01-2016 08:31:46

Pat_59
Membre
Lieu : Sailly sur la lys près de LFQT
Inscription : 11-05-2013
Renommée :   17 

Re : [FSX]Programmation FSUIPC / LINDA

Pas de quoi Thierry.

Si tu veux approfondir le LUA, il y a plein de sites sur la toile (Wiki et autres).
De plus, Pete Dowson a développé une bibliothèque d'instructions spécifiques au simulateur pour ce langage (voir le PDF "LUA Library" contenu dans le répertoire Modules\Documentation).

À ta disposition et bon courage pour le "taf" wink


Amicalement  Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....

Hors ligne

#10 [↑][↓] 15-01-2016 20:14:50

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Ca y est, j'ai réussi à programmer mes toggles, grâce à toi Patrick.
Le problème est que, maintenant que j'y ai goûté, j'ai envie d'aller un peu plus loin dans ce domaine ;-)
J'ai fait d'autres essais qui, eux, n'ont pas été concluants (ce sont mes débuts ) :
- je n'ai pas reussi à créer dans le fichier actions.lua du DA20 une fonction qui utilise un contrôle FSX standard.
- je ne parviens pas à trouver dans les différents fichiers certaines commandes du DA20 pour lesquelles il n'y a pas de raccourcis  (comme les bouton on/off des radios ou les différents modes transpondeur)
Amicalement
Thierry


EDM700.jpg pfqh7.gif

Hors ligne

#11 [↑][↓] 15-01-2016 20:34:04

Pat_59
Membre
Lieu : Sailly sur la lys près de LFQT
Inscription : 11-05-2013
Renommée :   17 

Re : [FSX]Programmation FSUIPC / LINDA

Bonsoir Thierry,

Pour utiliser un contrôle FSX dans une fonction lua, il faut se servir de l'instruction "ipc.control" avec, entre parenthèses, l'adresse du contrôle (voir le PDF " List of FSX controls")suivie d'une virgule et du paramètre à envoyer (souvent 0 pour un contrôle simple).
Ex : ipc.control(65794,0) pour mettre le simulateur en pause.

Hélas sur certains appareils, les boutons ne sont pas tous gérés par des LVar. Essayer avec les contrôles de base FSX qui souvent fonctionnent avec notamment les radios et le transpondeur.

Bon week-end, tiens-moi au courant.

Dernière modification par Pat_59 (15-01-2016 20:36:46)


Amicalement  Patrick[img align=D]http://www.pilote-virtuel.com/img/members/8639/P3DV3.jpg[/img]
Configuration: Intel I7 3770k OC 4,4 GHz, CM Asrock Z77 Extrem 9
8Gb Gskill DDR3 2133, CG Nvidia 980 GTX TI 6Gb, Windows 8 64bits
P3D V3.3, X52 Pro, CH Product "Éclipse", TIR 5 etc....

Hors ligne

#12 [↑][↓] 17-01-2016 14:06:18

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Bonjour Patrick
Je viens de m'y remettre, ça avance.
J'ai trouvé la longue, très longue liste des variables utilisées par le DA20, la voici en plusieurs pages, peut-être sera-t-elle utile à d'autres :
Page 1

[Spoiler]

Dernière modification par Thierry (17-01-2016 14:07:56)


EDM700.jpg pfqh7.gif

Hors ligne

#13 [↑][↓] 17-01-2016 14:07:23

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 2

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#14 [↑][↓] 17-01-2016 14:08:35

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 3

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#15 [↑][↓] 17-01-2016 14:09:08

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 4

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#16 [↑][↓] 17-01-2016 14:09:41

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 5

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#17 [↑][↓] 17-01-2016 14:10:11

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 6

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#18 [↑][↓] 17-01-2016 14:10:41

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 7

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#19 [↑][↓] 17-01-2016 14:11:13

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 8

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#20 [↑][↓] 17-01-2016 14:11:44

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 9

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#21 [↑][↓] 17-01-2016 14:12:12

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 10

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#22 [↑][↓] 17-01-2016 14:12:43

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 11

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#23 [↑][↓] 17-01-2016 14:13:13

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 12

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#24 [↑][↓] 17-01-2016 14:13:47

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 13

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

#25 [↑][↓] 17-01-2016 14:14:23

Thierry
Membre
Lieu : Vauvillers (70)
Inscription : 16-03-2008
Renommée :   
Site Web

Re : [FSX]Programmation FSUIPC / LINDA

Page 14

[Spoiler]


EDM700.jpg pfqh7.gif

Hors ligne

Pied de page des forums