13- SIOC et la configuration PC


Les cartes IO Cards

Avec l'option écran tactile pour les CDU,  les cartes IOCards nécessaires sont:

 

1 carte USB Expansion  (Device 1), située dans le Glareshield.

1 carte Master n°1 pour le MCP et les EFIS , carte située dans le Glareshield.

1 carte Master n°2 pour le panneau  de commande de l'EICAS (sur le Glareshield), et tous les commutateurs situés sur le tableau principal. Carte située dans le Glareshield.

 

1 Carte Master n°1 Device 2 pour le Pedestal

1 carte Master n° 2 Device 2 pour les entrées et les sorties LEDs de l'Overhead. Cette carte est située dans la partie arrière de l'OVH.

1 carte Master n°3 Device 2 pour le reste de l'Overhead, en particulier les LEDs.

1 carte USB Expansion située dans le Pedestal

 

1 carte USB Output Device 2 située dans l'Overhead arrière, pour le complément des LEDs de l'Overhead, et, sur une entrée analogique, le potentiomètre de Tilt du Pedestal.

 

Il faut y ajouter 2 cartes Displays pour le MCP,  et 2 Displays pour les radios.

 

 

 

1 carte Bodnar BU 0836 pour les axes des Yokes  ainsi que 10 poussoirs disponibles pour des commandes des Yokes, AP Disconnect et chapeau chinois.

 

 

 


le programme

Nico Kaan a écrit un programme d'interface entre SIOC et PSX dénommé PSXSEECON (un peu compliqué, comme nom, mais cela signifie PSX-SIOC-CONnector...) Son fonctionnement, extrèmement simple, a été expliqué entre autres par Greg "Mameloose" dans un petit tutoriel. PSXSEECON comprend plus de 2000 variables, mais toutes ne sont pas des commandes, sinon le nombre de Masters exploserait.

Greg, très bon programmeur, a préféré faire son propre code, qui a l'avantage d'avoir des noms de variables plus explicites, car en français. Bien entendu, les numéros des variables, qui déterminent les fonctions, sont les mêmes chez Greg et Nico Kaan.

Nous avons donc deux codes SIOC existants, mais rien n'empêche d'en faire un personnel.

J'ai choisi le code de Greg, qu'il m'a aimablement communiqué, code largement assez complet et qui entre entièrement dans les Masters citées ci-dessus. Il était totalement inutile de refaire ce code SIOC, je n'ai changé que les numéros d'entrées et sorties. Le code de Nico, est, à mon avis, plus complexe, ne serait-ce que parce que Nico utilise dans son cockpit de 747 des éléments récupérés sur son 767, pas toujours bien adaptés. 

 

L'installation de PSXseecon  est on ne peut plus simple, la fenêtre d'accueil indique si SIOC et PSX sont connectés, c'est tout.


le principe des variables de PSX

Les variables de PSX sont de deux types: les variables de commande (interrupteurs, etc...) et les variables d'état, qui indiquent la situation d'une commande, ON ou OFF par exemple, ou des valeurs comme l'altitude, la température, etc...

La liste de ces variables est bien entendu fournie par Aerowinx, en deux tableaux par ordre de numéro de variable et par ordre alphabétique de fonctions.Chaque variable est également désignée par  deux lettres comme Qh, Qi, QS qui précisent sa nature, c'est moins important pour nous.

L'utilisation de ces variables est extrèmement simple, car il s'agit de variables STATIC pour SIOC, sans offset, et toute la programmation (les IF, les fonctions etc... est incluse dans PSX, nous n'avons pas à nous en occuper.

Par exemple, la variable de la batterie porte le numéro 1196 (ne nous occupons pas du Qh196 qui le précède).

Si nous devions créer un script pour la batterie, il suffirait d'indiquer 1196 comme numéro de variable, lui donner un nom, éventuellement ajouter une petite description, cocher la case STATIC, et mettre le numéro de l'entrée interrupteur de notre cockpit (qui peut être un poussoir, donc avec P). C'est tout.

 

Greg a en outre fait un petit tuto sur ce sujet, qui résume tout ça et l'illustre de captures d'écran, inutile donc de donner plus de précisions.


le branchement sur le PC

Le branchement dépend des cartes graphiques utilisées. Greg utilise 8 écrans sur un seul PC. Pour ma part, j'utilise une carte GTX 770 pour l'écran tactile (CDUs et EICAS inférieur) et l'affichage du paysage P3D. Une deuxième carte, une GTX 560 affiche les instruments Pilote (ND/PFD) et l'EICAS supérieur et les instruments de secours. Le copilote a son écran branché sur une sortie Display Port avec un adaptateur actif. .

La seule règle impérative à retenir est que l'écran tactile soit le moniteur principal dans Windows (panneau de configuration, affichage, résolution des écrans) . Les instructions tactiles sont toujours envoyées au moniteur principal, si ce n'est pas le tactile, elles se perdent.

Le moniteur Iiyama 24 pouces utilisé ne nécessite aucun driver ni étalonnage.


premier essai avec SIOC

Nous allons créer un début de code SIOC pour PSX.

La toute première chose à faire est de mettre à jour le fichier sioc.ini, en particulier lui indiquer le nom du fichier .ssi qui va être chargé au lancement de SIOC, et surtout le nombre de cartes utilisées et le numéro de "device" correspondant. Voir le chapitre 19 de la section SIOC de ce site, si nécessaire. Il est logique de démarrer avec un fichier .ssi vierge, intitulé "SIOC_PSX.ssi" par exemple. Pour ce faire on copie le fichier .txt d'un programme SIOC existant, ou l'ouvre dans le Bloc Notes, on efface tout et on exporte dans le nouveau fichier SIOC_PSX.ssi

 

Nous allons commencer nos essais avec l'EFIS pilote. Dans mon cas, cet élément était issu d'un B737 et d'une face avant et d'un circuit imprimé de Hispapanels. Les sorties de cet EFIS étaient branchées  sur le connecteur J3 de la Master 2 située à proximité dans le Glareshield. A quoi correspondent ces branchements ? Bien sûr, j'ai conservé le fichier d'attributions du 737: 

On y voit que l'EFIS occupe tout le connecteur J3, et même un peu plus. On y voit également que, dans chaque groupe GND une entrée, comme la 221, n'est pas attribuée, cela tient à la configuration du circuit imprimé de Hispapanels ancienne version. . Le plus simple est donc de recopier cette ancienne disposition dans le nouveau tableau d'attributions, pour le 747. A priori on devrait pouvoir attribuer les numéros d'entrée de cette nouvelle Master dans le code SIOC.

Mais il y a plus simple, et tout le monde n'a pas un EFIS Hispapanels...

Le principe est de brancher les sorties de l'EFIS, par groupes de 9 plus un GND, "comme ça tombe", puis d'ouvrir SIOC MONITOR.

Prenons le commutateur "Range". Quand on le met sur 5, on voit le chiffre 73 s'allumer, sur 160 c'est le 79, etc... Reportons ces entrées sur un papier. Ce sont les numéros d'entrée à faire figurer dans chaque variable "Range", pour notre cockpit.

Nous allons maintenant aller à la chasse aux variables.

 

Nous avons à notre disposition une liste des variables par nom (SIOC variables (by Name).txt  et une autre par n° de code (SIOC variables (byQcode).txt   Dans la liste par nom, si nous faisons CTRL F "range" nous allons certainement trouver les variables qui nous intéressent:

Attention à ne pas confondre l'EFIS CPT avec l'EFIS FO qui suit. Comme nous sommes bien organisés, nous allons reporter dès maintenant les numéros de variables EFIS CPT sur notre tableau d'attributions:

 

Remarquons au passage que les "Ranges" ne suivent pas les numéros d'entrée Master, mais qu'ils suivent les numéros de broches, ce qui va clarifier le câblage.

 

Reste à faire le code SIOC.  soit nous reprenons des bouts du code établi par Nico Kaan, soit nous recopions des bouts du code de Greg, soit on fait tout nous mêmes. 

 

Si nous voulons utiliser le code SIOC de Nico Kaan, nous allons trouver son code EFIS sous le nom 3_Ecp.txt, et, bien évidemment, nous y retrouvons les variables 3907, à 3914. Reste à recopier cette partie de script dans notre nouveau .ssi, soit directement dans Config SIOC, soit par copier-coller dans un fichier Bloc Notes à compiler (voir le chapitre SIOC de ce site si nécessaire).

Si vous voulez partir sur le travail de Greg, le principe est le même, ouvrons le code de Greg, cherchons la variable 3907  et.. on ne trouve rien car Greg n'a pas prévu la position 5 Nautiques... Bon on l'ajoutera, puisqu'elle est câblée chez nous. Par contre, à partir de la 3908, tout va bien:

 

Recopions les variables 3908 à 3914 dans notre .txt vierge, changeons les numéros d'entrée pour les nôtres,  et compilons.

Ajoutons la variable 3907 pour le Range 5, sans oublier de cocher la case Static:

puis File / Save.

Pour vérification (et révision de SIOC) exportons le .ssi en .txt puis compilons. OK et enregistrons sous le nom SIOC_PSX. Tout va bien.  


l'interface

C'est le moment d'installer PSXSEECON.

Ouvrons PSX, puis SIOC avec notre premier petit bout de programme, puis PSXSEECON, qui, après un court instant va nous confirmer que tout va bien.

Vérification: lorsqu'on tourne le bouton "Range", l'affichage sur le ND change d'échelle. Wahou.

Notons aussi que si on essaie de modifier le Range en tournant le bouton affiché sur le moniteur, c'est SIOC qui est prioritaire, PSX suit toujours l'état du cockpit. Notons aussi que PSXSEECON se ferme automatiquement, en même temps que PSX.

 

Voila une étape importante franchie, 8 variables d'un coup, il n'y en a plus que 2203 !

Pas de panique, tout ne sera pas utilisé et en procédant par petits bouts comme indiqué c'est TRES facile.