Le codage de l'inverter avec L:var
Le codage de l'inverter avec Autohotkey ne me convenait plus à cause de son fonctionnement erratique, je me suis donc penché sur une autre façon de faire
pour activer cet interrupteur qui permet d'avoir le 115 volts 400 hertz dans l'avion.
Sur le B200 il y a 2 inverters, l'interrupteur a 3 positions, position vers le haut ->inverter n°1, position centrale ->inverter coupé, position vers le bas -> inverter n°2.
Un seul inverter est donc actif à un moment T.
Pour répartir l'usure j'ai appris ( à vérifier ) que par tradition on enclenchait l'inverter n° 1 les jours impairs et le 2 les jours pairs.
Bien que j'ai un interrupteur à 3 positions je n'ai câblé que la position vers le haut pour raison d'économie d'entrée sur la master OC
Je vais essayer de résumer le codage avec l'utilisation d'une L:var, j'ai puisé mon information dans un article de Stevelep sur le forum Aircockpit
Pour faire cela il faut une version enregistrée de FSUIPC donc payante
1 - Il faut lister les Lvars disponible pour l'avion
Pour ce faire lancer FSX avec l'avion concerné
Aller dans Fsuipc par le menu modules de Fsx
cliquer sur l'onglet Keypress et presser le bouton Set pour affecter une touche, presser un ensemble de touche inutilisé ( Ctrl + ^ par exemple)
dans la liste déroulante en dessous chercher et sélectionner "List local panel Vars" et cliquer sur Confirm en bas dans la partie gauche
Prendre ensuite l'onglet LOGGING et cliquer sur "Button & key opération", une fenêtre console s'ouvre
Passer en mode fenêtre et réduit pour avoir les 2 sous les yeux et fermer FSUIPC
Dans Fsx appuyer sur la combinaison de touches définie juste avant ( Ctrl + ^ par exemple)
La liste des Lvars apparait dans la console, retourner dans FSUIPC et arrêter le log en prenant l'onglet LOGGING et en cliquant sur Stop
Cela a pour effet de générer un fichier FSUIPC4x.log dans le dossier module de Fsx
En éditant ce fichier on aura la liste des Lvars pour notre avion
En ce qui me concerne j'y trouve une ligne 33958 L:inverter = 0.000000
2 - Il faut créer un fichier texte dans le dossier où est Fsuipc ( en principe dans le dossier modules de Fsx )
Ce fichier je l'ai nommé B200.mcro
Il contient
[MACROS]
1=L:inverter=SET
3 - éditer FSUIPC.ini et rajouter à la fin la section
[MacroFiles]
1=B200
4 - Il faut maintenant attribuer 2 touches de clavier qui vont manoeuvrer l'inverter
Aller dans Fsuipc puis dans Key press faire Set puis presser une combinaison de touches ( shift + A par exemple)
Dans la liste déroulante en dessous le fichier macro doit apparaitre ( B200 inverter )
Il faut mettre 1 en parameter when key pressed (pour lancer l'inverter)
Faire de même avec une autre combinaison de touches (shift + Z par exemple) mais avec le paramètre 0 ( pour couper l'inverter )
5 - Aller dans Fsx pour tester ces 2 combinaisons de touches
La programmation Fsuipc est terminée, maintenant il faut que cette action soit faite par l'interrupteur et non par la combinaison de touches, il faut donc attaquer la programmation SIOC
6 - éditer le fichier sioc.ini
aller dans la section Keys et modifier 2 lignes de keys inutilisées pour y mettre le code shift + A et shift + Z dans mon exemple
j'ai pris les lignes 6 et 7
[ Asignación de teclas ]
[ assign youe keys ]
#0=\1O\2
#1=
#2=
#3=
#4=
#5=
#6=\1A\2
#7=\1Z\2
7 - ensuite il reste à modifier ou créer le code SIOC, voici le mien , du moins pour la partie inverter
Var 0402, name INVERTER_SW, Link IOCARD_SW, Input 2 // Commande Inverter
{
IF &BATTERY = 1 // Si général on
{
IF &INVERTER_SW = 1
{
&KEYS = 6 // génère un shift + A qui lance la macro 0 B200.mcro fsuipc contenant la Lvar inverter avec paramètre 1
&KEYS = delay 0,100 // ré-initialisation génère un shift + O
&INVERTER_LED = 0 // alarme rouge INVERTER éteinte
&INVERTERLEDtmp = 0
}
ELSE
{
&KEYS = 7 // génère un shift + Z qui lance la macro 0 B200.mcro fsuipc contenant la Lvar inverter avec paramètre 0
&KEYS = delay 0,100
&INVERTER_LED = 1
&INVERTERLEDtmp = 1
}
}
}
Et voilà ....çà doit marcher, à l'essai c'est beaucoup plus stable qu'avec Autohotkey
Merci Steve de m'avoir guidé sur cette nouvelle façon de programmer des fonctions qui ne sont pas atteignables ( ou difficilement )
A découvrir aussi
- Le code du bloc OAT
- Comment déporter les alarmes sur une troisième voix son
- Tutoriel Lua pour interfacer des Lvars avec des inputs et outputs SIOC
Inscrivez-vous au blog
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 122 autres membres