2- Comment fonctionnent Flight Simulator et P3D ?


Leur fonctionnement interne repose sur des "variables" qui transportent les instructions pour toutes ses fonctions, et pas seulement ce qui concerne le vol. Peter Dowson a réussi à décortiquer le code de notre simulateur et a identifier ces variables. A partir de là, il nous est possible de les sélectionner et de les modifier dans un logiciel comme SIOC, et de les transmettre par l'intermédiaire de FSUIPC, il suffit de leur donner une "adresse" et elles y vont ...

 
La liste des variables de Flight Simulator et P3D figure dans les documents qui sont joints à FSUIPC, on les trouve dans le dossier "Modules" du simulateur. Il y en a des centaines, mais pas de panique, si nous oublions les variables définissant la météo, les coordonnées géographiques, ou des caractéristiques physiques d'un avion, ce qui entre réellement dans un cockpit est beaucoup plus réduit.

 

Variables ou équivalents clavier ?

 Beaucoup de fonctions de commande de Flight Simulator et P3D ont un équivalent clavier défini, qui, en pratique fait le même effet que l'envoi d'une variable. Envoyer un G par notre clavier fera rentrer le train aussi sûrement que la modification de la variable correspondante. Alors pourquoi passer par IOCards ?

Tout d'abord, il y a un certain nombre de commandes qui n'ont pas d'équivalent clavier.

Ensuite, de nombreuses fonctions ont besoin d'un "retour" de confirmation: on demande la sortie du train, il sort, et quand c'est fait, des diodes vertes s'allument pour confirmer, c'est une fonction "logique" qui nécessite SIOC.

C'est également le cas, bien entendu, de l'affichage de données numériques, comme les fréquences, l'altitude au P.A. etc...

Nous verrons très vite qu'il y a une grosse différence entre une commande par un bouton poussoir, ou une touche de clavier, et la commande par un interrupteur à bascule, qui envoie une instruction puis reste dans une position. C'est le fait de le mettre dans une autre position qui annulera la commande précédente, ce que ne peut pas faire une touche de clavier. Quand on a essayé de commander des phares d'atterrissage avec des boutons poussoirs, on a vite compris ce que le mot "cafouillage" veut dire.

 


SIOC le principe

 Quand le pilote ferme l'interrupteur incorporé dans la manette de train pour le sortir , cet interrupteur établit un contact entre une des 72 entrées de la carte Master et la masse "GND" du groupe correspondant (voir plus haut). L'entrée de la carte Master ainsi mise à la masse change d'état -elle était auparavant à +5Volts, elle passe à 0 V, et SIOC, toujours à l'affut de ce qui se passe, détecte immédiatement ce changement d'état. La programmation SIOC propre à notre avion a été prévue pour dire " si cette entrée change d'état, il faudra immédiatement changer la valeur de la variable du train".

 

Une variable a non seulement une adresse dans FS/P3D, mais aussi une valeur mathématique. Certaines ne connaissent que deux valeurs possibles, 0 ou 1, d'autres peuvent avoir n'importe quelle valeur, comprise par exemple entre 0 et 16384. C'est le cas des volets par exemple, si on donne à sa variable la valeur 8192, les volets s'arrêteront à mi-course.

 

Les cartes IOCards discutent avec le logiciel de simulation par l'intermédiaire de FSUIPC. SIOC peut utiliser FSUIPC et les "variables" classiques. Mais il peut aussi utiliser sa propre interface, appelée IOCP ou "protocole" IOCP, qui fait exactement la même chose que FSUIPC, un peu plus rapidement . Ne compliquons pas les choses, FSUIPC nous ira très bien, même pour faire un cockpit complexe.

 

Les programmeurs remarqueront qu'il n'y a pas un programme SIOC pour tout un cockpit, mais des multitudes de petits programmes mis bout à bout, qui fonctionnent indépendamment. Ce qui est très pratique pour essayer interrupteur après interrupteur.

 

SIOC est par défaut au repos, et n'agit que si un "évènement" nouveau se produit, par exemple un interrupteur qu'on vient de fermer. De ce fait, SIOC est très rapide et très peu gourmand en ressources.

 

CHAPITRE SUIVANT:  quels logiciels faut-il installer ?