[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: 1271
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: 4174
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: 1271
Inscription: 20/04/09
Localisation: evreux

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede FBEVN » Lun 18 Jan 2021 13:22

Bonjour Mameloose,
Petite question d'un X-planneur.
Je veux programmer mes 2 commandes de trim électrique (boutons poussoir trim_up et trim_dn) et je me demande si je peux utiliser la programmation "comme avec un encodeur".
Quelqu'un a-t-il déjà fait ça ?
D'avance merci
Benoît alias F-BEVN
X-Plane 11 sur Rysen 5 3600, 16 Go, GTX750Ti, W10
FBEVN
 
Messages: 53
Inscription: 8/10/17
Localisation: Lille

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede mameloose » Lun 18 Jan 2021 15:05

Bonjour
Cest a dire?
Avec un encodeur dans un sens impulsion trim up et inverse ?
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede FBEVN » Mar 19 Jan 2021 10:41

Bonjour,
Mon problème est (d'essayer) de limiter le nombre d'appuis possibles sur chaque poussoir puisqu'il y a 10 positions de trim et 10 leds sur le DR401 et ses commandes électriques.
Je me demande si l'emploi de "rotate" ne pourrait pas me simplifier la vie avec, par exemple, le paramètre 1 à -5, le 2 à +4 et le 3 ???
X-Plane 11 sur Rysen 5 3600, 16 Go, GTX750Ti, W10
FBEVN
 
Messages: 53
Inscription: 8/10/17
Localisation: Lille

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede mameloose » Mar 19 Jan 2021 12:07

Lol jai rien compris
Met un exemple de code pour voir
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede fab » Mar 19 Jan 2021 14:43

Pas compris non plus le lien avec un encoder ?

Rotate fait passer de 0 à 360 par exemple ou de 360 à 0

FBEVN a écrit: limiter le nombre d'appuis possibles


Regarde plutôt LIMIT dans ce cas
Increases or decreases the variable value with the value in Parameter3. If the resutl is higher than Parameter2, then variable = Parameter2. If the resutl is lower than Parameter1, then variable = Parameter1.
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede FBEVN » Mar 19 Jan 2021 16:23

Merci Mameloose,
Je vais regarder ça quoique le but n'est pas de limiter le nombre d'appuis (ce qui n'est pas possible) mais de bloquer l'action pour laisser la variable TRIM entre -1 et +1 (au pas de 0.2).

Pour l'instant, j'ai pris un autre chemin
* si appui sur up, trim = trim + 0.2
* si appui sur dn, trim = trim -0.2

si -1<=trim < -0.8
led 1 = 1

si -0.8 <=trim <-0.6
led 2 = 1
........
Je crois que SIOC n'accepte que des entiers, il faut que je trouve une combine ...
Il faut déjà que je trouve comment gérer les { et les } car ça bloque dès le premier {
J'essaye différentes configuration mais je n'ai pas encore compris malgré les coups de pouce de Fab.

Merci pour ta réponse
X-Plane 11 sur Rysen 5 3600, 16 Go, GTX750Ti, W10
FBEVN
 
Messages: 53
Inscription: 8/10/17
Localisation: Lille

Re: [TUTO SIOC] Ajouter des encodeurs et des displays

Messagede mameloose » Mar 19 Jan 2021 19:47

Image


voila pas testé mais c'est juste une idée

lencodeur fait tourner une variable de -100 a 100.

cette meme variable fait bouger le trim *163

en gros les valeurs trim vont de -16383 a 16383

donc 100*163 ca donne 16300 et vice versa....


pour la led j'en ai mis une qui sallume quand la valeur du trim est entre 5000 et 6000 mais tu peux adapter les valeurs
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Suivante

Retourner vers Les TUTOS SIOC





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités