Page 1 sur 1

Offset, byte et rotacteur

MessagePosté: Mer 22 Juin 2016 10:34
de Brenne
Je sais comment on programme un rotacteur a 3 positions comme les IRS , part contre je butte la facon d'affecter le byte
pour une position on utilise tout simplement la fonction SETBIT mais auand il y a plusieurs positions ?
La variable prends sucsessivement l'etat 0,1 ou 2 .....
dans le cas present , j'aie 3 rotacteurs , deux ont un offset a 1 seul byte , donc pas de probleme , part contre le 3 offset en a plusieurs pour des affectation differentes !!!

Re: Offset, byte et rotacteur

MessagePosté: Jeu 23 Juin 2016 22:41
de stevelep
Salut,

Pas exactement compris ta question, tu peux nous expliquer exactement ton câblage d'inter rotatif
et pour chaque position les valeurs d'offset désirées.

Merci

BOB

Re: Offset, byte et rotacteur

MessagePosté: Ven 24 Juin 2016 07:32
de fab
Oui, comme Bob, je n'ai pas tout compris gratgrat

Il me semble que tu nous parles de "bit" et non de "byte"

Bit : 1 position
Byte : 8 bits, soit 8 positions

Donc sur cette hyposèse tu fais autant de setbit ou de clearbit que tu veux changer la valeur d'une position.
Tout est là : http://www.aircockpit.com/viewtopic.php?f=135&t=4839&p=62051&hilit=setbit#p55504

Donne nous un exemple ...

Re: Offset, byte et rotacteur

MessagePosté: Ven 24 Juin 2016 08:02
de Brenne
Bon , je viens de me taper un message pour rien , j'aie valider et il est passer a la trappe , la prochaine fois je fait un brouillion .3...
Bref ,
Voila en resume :
sur le module bled ( sous Pmagenta )
j'aie des rotacteurs avec 3 positions NORM , 1 A et B , ca je sais faire .ma variable Pack 3 vas etre succesivement a 0, 1 puis 3 suivant la position .
J'aie offset 5673 1 Pack1
offset 5674 1 Pack2
la pas de souci
Pour le 3 j'aie tout ca mais seul le 1 er m'intersesse
5675 1 Pack3
5675 .0 PackL
5675 .1 PackR
5675 .2 WingBodyL
5675 .3 WingBodyR
5675 .4 BleedTripL
5675 .5 BleedTripR

Comment on prog dans ce cas la pour utiliser le bon et pas les autres , il s'agit bien de byte ?

Re: Offset, byte et rotacteur

MessagePosté: Ven 24 Juin 2016 09:18
de mameloose
salut !
alors dans project majenta quand tu as un offset suivit d'un point et d'un chiffre c'est du bit !

exemple 5675 .2 WingBodyL ici setbit 2 pour activer wingbodyL et un clearbit pour le desactiver ....

si il n'y a pas de point comme ici offset 5674 1 Pack2 alors c'est une assignation toute simple de valeur ...


dans ton cas il n'y a pas de point : 5675 1 Pack3

donc c'est une assignation en gros fonction IF ton inter = 1 assignation loffset 5675 = 1 tu peux rajouter un ELSE ton interr = 0 assignation 5675 = 0

dans le cas de bit c'est pareil mais a la place d'une assignation du met une fonction SETBIT pour activer le bit et dans la fonction ELSE un CLEARBIT pour desactiver ....

Re: Offset, byte et rotacteur

MessagePosté: Ven 24 Juin 2016 11:14
de Brenne
D'accord...
Donc si j'ai bien compris je n'aie pas a me preocuper du 1 qui se trouve derriere ?
il n'y aura pas de risque de confusion avec 5675 .1 PackR
donc ce que j'aie ecris doit etre bon , en tout cas SIOC l'accepte !!!
j'aie ecris comme ceci ;

Var 1573, name PAKCTR3OFF_SW, Link FSUIPC_INOUT, Offset $5675 , Length 2

Var 1574, name PAKCTR3NORM_SW, Link IOCARD_SW, Input 6, Type P // NORM
{
IF &PAKCTR3NORM_SW = 1
{
&PAKCTR3OFF_SW = 1
}
ELSE
{
IF &PAKCTR3NORM_SW = 0
{
&PAKCTR3OFF_SW = 0
}
}
}

Var 1575, name PACKCTR3A_SW, Link IOCARD_SW, Input 7, Type P // 3 A
{
IF &PACKCTR3A_SW = 1
{
&PAKCTR3OFF_SW = 2
}
ELSE
{
IF &PACKCTR3A_SW = 0
{
&PAKCTR3OFF_SW = 0
}
}
}

Var 1576, name PACKCTR3B_SW, Link IOCARD_SW, Input 8, Type P // 3 B
{
IF &PACKCTR3B_SW = 1
{
&PAKCTR3OFF_SW = 3
}
ELSE
{
IF &PACKCTR3B_SW = 0
{
&PAKCTR3OFF_SW = 0
}
}
}

Re: Offset, byte et rotacteur

MessagePosté: Ven 24 Juin 2016 19:01
de mameloose
c'est presque ca !
deja retire le type P sinon tu devra tourner plusieurs fois ton rotacteur pour desactiver la position voulut ...

ensuite sur un rotacteur pas besoin de ELSE tu peux simplifier le code comme ca :

Var 1573, name PAKCTR3OFF_SW, Link FSUIPC_INOUT, Offset $5675, Length 2

Var 1574, name PAKCTR3NORM_SW, Link IOCARD_SW, Input 6 // NORM
{
IF &PAKCTR3NORM_SW = 1
{
&PAKCTR3OFF_SW = 1
}
}

Var 1575, name PACKCTR3A_SW, Link IOCARD_SW, Input 7 // 3 A
{
IF &PACKCTR3A_SW = 1
{
&PAKCTR3OFF_SW = 2
}
}

Var 1576, name PACKCTR3B_SW, Link IOCARD_SW, Input 8 // 3 B
{
IF &PACKCTR3B_SW = 1
{
&PAKCTR3OFF_SW = 3
}
}

Re: Offset, byte et rotacteur

MessagePosté: Sam 25 Juin 2016 07:11
de Brenne
Ok, supper ,
Mais ou as tu appris tout ca ???
J'apprends plein de trucs , dont je n'aie trouve aucune info nulle part en depit de mes recherches ....... merci affiche

Re: Offset, byte et rotacteur

MessagePosté: Sam 25 Juin 2016 07:54
de mameloose
La bible jean Luc ! cligneoeil
D'abord le site de Claude Kieffer excellent pour comprendre les bases puis après c'est de la pratique et voilà !
J'ai fais plein de tutos simple dans la rubrique tuto j'explique tout hésite pas à regarder...