17- les fonctions TESTBIT, SETBIT, CLEARBIT, CHANGEBIT


TESTBIT

Cette fonction analyse en permanence l'état d'un bit déterminé dans une variable. S'il vient à changer, une commande s'exécute.

Par exemple, si on met en place une surveillance TESTBIT sur le bit n° 9 de la variable $3300, il ne se passera rien tant que l'avion sous P.A. n'aura pas capturé un Glide. Mais si c'est le cas, la valeur du bit n°9 passe de 0 à 1, et on peut alors se servir de ce changement d'état pour allumer une LED "Glide capturé".

 

Pour mettre en place une fonction TESTBIT, il faut bien entendu :

- avoir créé la variable sur laquelle la surveillance va s'appliquer,

- avoir créé la variable qui va être modifiée, par exemple la variable liée à FSUIPC Output devant allumer une LED,

- définir une fonction TESTBIT dans les commandes de la première variable, en indiquant dans les paramètres d'abord la variable à modifier, puis la variable à interroger, puis le bit à surveiller.

 

La page des paramètres ressemble à ceci:

et le .ssi à cela:


SETBIT, CLEARBIT et CHANGEBIT

Ces fonctions permettent de changer l'état d'un bit pour obtenir une commande déterminée, et inversement d'annuler cette modification pour revenir à l'état antérieur.

 

Exemple : les phares.

 

On va mettre un SETBIT sur la variable $0D0C, "Lights" bit n° 0 pour allumer les feux de navigation, et un CLEARBIT sur le même bit pour les éteindre.

 

Ici, c'est la variable de l'interrupteur qui va avoir une condition IF avec SETBIT et une ELSE avec CLEARBIT:

La fonction CHANGEBIT change la valeur d'un bit dans une variable. CHANGEBIT N fait la même chose, en inverse.


CHAPITRE SUIVANT: 18- les encodeurs, les entrées analogiques, les LEDs