UN SIMULATEUR DE B200

UN SIMULATEUR DE B200

Code SIOC du bloc carburant

Cette partie de code n'est plus implémentée dans mon simulateur car j'utilise maintenant des jauges réelles qui sont pilotées par le Fdbus de Fabien Deheeger. Ce système présente l'avantage de pouvoir utiliser des jauges réelles d'avion sans les démonter pour peu qu'elles soient en état de fonctionnement.

 

 

Je vous donne ici la partie de code qui permet d'indiquer sur une gauge, la quantité de carburant du réservoir principal gauche.

En ce qui me concerne c'est la deuxième gauge opérationnelle sur mon cockpit, ce qui explique l'Output 2 dans la ligne qui déclare le servo, à vous d'adapter votre entrée.

 

Tous les calculs de ce bout de code sont établis pour une gauge fabriquée avec des engrenages 30 et 48 dents de chez Gotronic, si vous avez d'autres rapports , il vous faudra recalculer et adapter le programme.

Le rapport que j'ai choisi est de 1,75, ce n'est pas une erreur de calcul compte tenu des rapports d'engrenages, c'est pour garder la course du servo dans le graphique de la gauge tout en donnant les indications exactes du niveau.

 

Le programme n'est pas encore optimisé mais il fonctionne parfaitement, pardonnez les redondances, elles sont faites pour pouvoir lire les variables plus facilement par IOCP console aux fins de contrôle.

J'en profite pour vous donner une astuce  :

Quand vous développez une nouvelle partie de programme, il est bon de faire 2 choses.

La première chose c'est de vous réserver les 20 premiers numéros de variables à part la 000 pour vos tests, cela vous permets d'afficher les résultats de vos variables en tête de IOCP console car l'ascenseur dans ce programme est pénible, vous aurez ainsi sous les yeux vos résultats sans devoir naviguer de haut en bas

La seconde chose c'est de vous réserver en tête de votre programme un espace de commentaires et ainsi chaque fois que vous aurez modifié et testé votre nouveau module vous pourrez rajouter une ligne avec la date et la nature de la modification, vous verrez qu'au bout d'un certain temps c'est bien utile.

Ce n'est que lorsque la nouvelle partie est parfaitement testée et opérationnelle que vous modifierez les numéros de vos variables pour les intégrer dans les différentes sections et passer ainsi à la suite. Cela vous permettra aussi de prendre l'habitude de ne pas travailler avec des références aux numéros de variable mais plutôt travailler avec les noms, c'est ainsi que vous aurez plus de souplesse. L'exemple que je vous donne en atteste, il vous suffit de modifier le numéro de la variable et le reste suit.

 


Var 001, name FUEL_TANK_SEL, Link FSUIPC_INOUT, Offset $0AF8, Length 2     // Utilisé pour le Crossfeed
 

 

Var 002, name LMAINTANK, Value 0
 

 

Var 003, name LMAIN_TANK_LVL, Link FSUIPC_INOUT, Offset $0B7C, Length 4     // Niveau réservoir principal gauche
{
  L0 = &LMAIN_TANK_LVL / 6422.38     // transformation en lbs
  L1 = L0 / 1.75                     // transformation pour le rapport d'engrenages
  &LMAINTANK = trunc L1
  if &LMAINTANK > 1022       // protection du servo, ne pas dépasser 1023 pour ne pas le griller
  {
    &LMAINTANK = 1022
  }

 &L_Gauge_tank = &LMAINTANK
}
 

 

Var 0011, name L_Gauge_tank, Link USB_SERVOS, Output 2, PosL 1, PosC 512, PosR 1023        // jauge carburant gauche




21/01/2011
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 66 autres membres