Technologies utilisées. Article 1 : Importation des actionneurs
Cet article présente le cheminement des imports. J’entends par imports toutes les informations (actions des commutateurs) allant vers DCS A-10C.
Les imports vers DCS sont gérés via une carte joystick. Le paramétrage, ou l’affectation, des actions est fait à travers l’interface de contrôle de joystick de DCS.
Cependant l’actionneur, un commutateur par exemple, n’est pas directement relié sur la carte joystick. Ce choix est fait pour les raisons suivantes :
- éviter un trop grand nombre de fils entre un panneau et la carte joystick,
- gérer l’état repos de certains commutateurs pour DCS,
- gérer de façon évènementiel le changement d’état d’un commutateur.
Le dernier point est important car une partie des actions disponibles dans DCS, à travers l’interface de contrôle joystick, n’offre que l’événement et non l’état. Par exemple, le commutateur de batterie, du panneau électrique, n’a pas deux états dans les contrôles DCS, mais un seul. On aurait pu s’attendre à BATTERY ON et BATTERY OFF, mais non. Il n’existe que “Battery Power Switch ON”. DCS s’attend là à un événement. Lorsque DCS reçoit un “Battery Power Switch ON”, le logiciel inverse l’état du commutateur dans le jeu, c’est dire, s’il était OFF, il devient ON, ou inversement. On comprend aussi qu’il faudra faire une check-list avant le démarrage de DCS.
Pour créer un événement, il faut envoyer une impulsion sur la carte joystick et non maintenir un état fermé ou ouvert, ON ou OFF.
Maintenant, il faut répondre aux questions : comment limiter le nombre de câbles ? Et comment gérer les états des commutateurs sous formes d’impulsions ?
Comment limiter le nombre de câble ?
Il faut utiliser une méthode de communication de type série, où les informations sont transmises dans le temps et non au même moment comme des fils en parallèle. La méthode choisie est le bus IIC de Philips, inventé pour des raisons d’encombrement. Ce bus utilise deux fils et ne converse que de maître à esclaves. La gestion des envois d’informations, changement d’état des commutateurs, via le bus I²C sera réalisée par un micro-contrôleur programmé à cet effet.
Comment gérer les états des commutateurs sous formes d’impulsions ?
Cette gestion devra prendre en compte l’état antérieur d’un actionneur pour le comparer à l’état actuel. En cas de changement une impulsion de 250 ms devra être envoyée à la carte joystick. Ce travail sera effectué par un micro-contrôleur dont le programme est spécifique au panneau auquel il est rattaché. Le type commutateur (fermé, poussoir, momentané, etc ) conditionne en effet le programme.
Emission
Les deux besoins, restriction de fils et gestion des commutateurs, seront intégrés sur le même micro-contrôleur qui aura le rôle de maître I²C. La carte électronique d’un panneau enverra donc des informations à une carte esclave I²C.
Réception : carte esclave I²C
Cette carte esclave, référencée I2C_SLAVE_xxx, est construite autour d’un composant électronique ayant le rôle d’esclave I²C Philips. Cette carte restituera huit entrées pour DCS. Elle dispose d’une alimentation optionnelle de +5V, comporte un bus de huit fils et peut être chaînée avec d’autres cartes I2C_SLAVE_xxx afin de :
- obtenir plus de sorties, 128 au maximum,
- partager l’alimentation +5V,
- partager le bus I²C d’entrée, celui partant du panneau à la carte,
- partager le bus I²C de sortie, celui dont je parlerai dans la partie EXPORT,
- partager le rétro-éclairage.
Interconnexion
L’utilisation de la carte joystick sera mutualisée avec différents panneaux. En effet, certains panneaux ont besoin de huit entrées, d’autre de dix entrées, etc. Il sera économiquement intéressant de compléter une carte joystick au maximum de ses capacités. Une partie commune ou centralisée, un boîtier par exemple, contiendra donc une carte joystick autour de laquelle des cartes I2C_SLAVE_xxx y seront connectées.
L’interconnexion de la carte I2C_SLAVE_xxx et de la carte électronique du panneau est matérialisée par un câble de huit fils.
Les articles au sujet du panneau électrique présente les deux cartes maître et esclave I²C, gérant respectivement l’envoi des évènements sous forme d’impulsions et recevant ces dernières.
Voir aussi :
- Article 2 : Exportation des affichages
- Article 3 : Exportation depuis DCS : export.lua
- Article 4 : Communication vers les panneaux de cockpit : GetExportDSCA10C_win32.exe