[TUTO SIOC] Ajouter des encodeurs et des displays

Tous les tutoriels sur la programmation SIOC, le language des cartes Opencockpits

[TUTO SIOC] Ajouter des encodeurs et des displays

Messagede mameloose » Mer 11 Mar 2015 15:01

bougour a tous !!

on continu dans la serie petit tuto aujourd'hui comment programmer un encodeur de type grey avec des afficheurs .

Dans cet exemple je vais programmer le hdg sel ainsi que la consigne d'altitude du pilote automatique .

La ca va se corser un peu plus !!

tout d'abords les encodeur grey ca ressemble a ca

Image

les deux pin du haut c'est un inter integré dans la tige quand on appui dessus ; les 3 du bas au centre la masse et les deux autres a cabler sur la master avec des NUMERO QUI SE SUIVENT c'est important sinon ca marche pas donc pour lexemple l'encodeur sera cablé sur les entrées 45 et 46

Ensuite des afficheurs 7 segment donc une plaquette de trois digit pour le hdg et 5 digit pour l'altitude

Image

OK c'est partit

1 - declarer la variable de l'altitude et du cap dans sioc

recherchons dans le sdk l'offset qui va bien

Image

ok ici la $07CC pour la valeur du heading et $07D4 pour l'altitude

maintenant ca va se compliquer !!!

on peut voir que dans les commandes de ces variables ya plein de chiffres et on comprend pas grand chose ; en fait c'est pas si compliqué que ca .

le sdk nous donne la valeur de l'altitude en metre et pour sioc 3.28084 metres est egale a 65536 !
Mais nous on veut des pieds forcement du coup la conversion pour 100 pieds sera de 19975.37

Donc pour resumer quand je vais tourner la molette d'altitude mon encodeur va incrementer de 1 en 1 et nous allons lui faire comprendre qu'il faut transformer ca en 19975.37

Si vous n'avez rien compris c'est pas grave il suffit de recopier le code qui va suivre et vous comprendrez peut etre un jour qui sait ... :cool:

je plaisante bien sur ...

allez zou c'est partit ouverture du config de sioc et NEWVAR

Image
Image
Image

voila c'est bon pour les variables ensuite le reste ..

2- ajouter les display

donc la carte display dopencockpit permet de mettre jusqu'a 16 digit a cabler sur les entrées de zero a 15 (oui le zero compte comme 1 et ca change tout donc attention )

dans cet exemple je vais ajouter 3 digit pour le hdg et 5 pour l'alt ; le hdg sera cablé de zero a 2 et l'altitude de 3 a 7

Image
Image

ok tout va bien

3 - declarer 2 encodeurs de type grey pour regler le hdg et l'altitude

toujours pareil EDIT NEWVAR

Image
Image

VOILA tout les ingredients sont reunis ya plus qu'a faire les commandes et la c'est pas la meme ...

4 - commander les encodeurs et afficheurs

clic droit sur LCDHDG et NEWcommand

Image

ok ca se complique je sais !!! une petite explication sur les variables locales L1 L2 L0 elles permettent de faire des assignation ou des calculs dans une meme commande .

ici pour transformer la bonne valeur on va faire comprendre a sioc que L1 est egal a la valeur du lcd multiplié par la valeur du hdg brut donnée par le sdk

ducoup tout ca c'est L1 qui le gere et ca va nous permettre de passer a la suite

reclic droit et NEWCOMMAND

Image
Image

la je demande a L0 d'etre egale a la valeur de L1 +1 ce qui veut dire que par la suite mon afficheur lcd affichera le cap du mcp sans probleme et ca bougera egalement dans fsx

Image

voila pour finir la variable de valeur du hdg sera egal a L0 c'est a dire tout le calcul d'avant pour que tout fonctionne sans ambiguité


Maintenant je refais la meme chose pour l'altitude avec la valeur calculé precedement

Image
Image
Image

OK c'est terminé pour les LCD maintenant les encodeurs pour controller tout ca !!

5 - incrémenter et décrémenter le programme ...

clic droit sur le ROTHDG et NEWCOMMAND je vais reutiliser une variable locale pour faire comprendre a sioc que l'incrementation se fait de 1 en 1 ( vous noterai le -1 qui permet de faire tourner dans un sens cela peut etre remplacé par 1 tout court si votre encodeur est cablé a l'envers )

Image

je rajoute maintenant une fonction rotate qui veut dire que la valeur tourne de 0 a 360 degrés

Image

voila maintenant l'altitude !

pour l'altitude c'est different ce n'est pas une valeur qui tourne mais une limite qui va de 0 a 50000 pieds

reclic droit sur le ROTALTITUDE et NEWCOMMAND

Image
Image

Image

VOILA c'est fini bon j'avoue que c'est un peu complexe c'est le point chaud de sioc sinon le reste c'est easy surtout ne pas se decourager

en gros ici lencodeur commande les afficheurs qui eux meme convertissent les valeurs et balance ca dans fsuipc pour flight

a bientot

greg
Avatar de l’utilisateur
mameloose
 
Messages: 1005
Inscription: 20/04/09
Localisation: evreux

Re: tuto sioc ajouter des encodeurs et display

Messagede Boutondair » Mer 11 Mar 2015 19:01

merci affiche pour ton partage

David cligneoeil grandsoleil
Image Image
Petit je rêvais que je volerais, maintenant grâce au virtuel je vole !!!!!
Avatar de l’utilisateur
Boutondair
Administrateur du site
 
Messages: 4162
Inscription: 20/04/09
Localisation: Ballans (17) proche de Cognac

Re: tuto sioc ajouter des encodeurs et display

Messagede mameloose » Mer 11 Mar 2015 19:20

de rien rare sont les tuto sur sioc alors jessaye d'aider
Avatar de l’utilisateur
mameloose
 
Messages: 1005
Inscription: 20/04/09
Localisation: evreux


Retourner vers Les TUTOS SIOC





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité