Air-Cockpit

Air-Cockpit

Echange et partage entre créateurs et réalisateurs de simulateurs de vol.
 
AccueilFAQGroupesS'enregistrerConnexion
Aircokpit est définitivement transféré à sa nouvelle adresse http://www.aircockpit.com. Ce forum sera bientôt en lecture seule. Voir messages d'annonce dans les sujets ci-dessous. L'équipe AIRCOCKPIT

Partagez | 
 

 exemple de programation carte encodeur

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: exemple de programation carte encodeur   Lun 15 Déc - 21:16

bonsoir étant novice en prog sioc je voudrais savoir si il y a un professionnel du sioc qui pourrais me donner un exemple de programmation
pour programmer un encodeur ( altitude ) relier à une encodeur card.
Merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Lun 15 Déc - 23:02

Salut,

Moi pas, j'ai des encodeurs gray, c'est quand même plus simple ...

Mais j'aurai programmé qq chose comme ca:

(attention j'ai pas pu tester ...)

-------------------------------------------------------------------------------------------------

Var 0001, name input1, Link IOCARD_SW, Input 1 // augmente l'alt
{
L0 = &input1 * 100
&d_alt = LIMIT 0 ,50000 ,L0
}
Var 0002, name input2, Link IOCARD_SW, Input 2 // diminue l'alt
{
L0 = &input2 * 100
L0 = L0 * -1
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0003, name d_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5 // display altitude
{
L0 = &d_alt * 19975.37 // envoie la valeur a FS
&fs_altval = L0
}

Var 0004, name fs_altval, Link FSUIPC_INOUT, Offset $07d4, Length 4, Value 0

-------------------------------------------------------------------------------------------------

Voila

BOB


Dernière édition par stevelep le Lun 15 Déc - 23:11, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Lun 15 Déc - 23:09

Ou alors comme ca:

(pas testé non plus )

Met le bon N° d'input sur l'encodeur (= 1 ère input de ta carte)
la 2 ème input doit être contigue (ex 21-22)



-------------------------------------------------------------------------------------------------

Var 0001, name ec_alt, Link IOCARD_ENCODER, Input 1, Aceleration 4, Type 1 // ALT encoder
{
L0 = &ec_alt * 100
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0003, name d_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5// display altitude
{
L0 = &d_alt * 19975.37 // envoie la valeur a FS
&fs_altval = L0
}

Var 0004, name fs_altval, Link FSUIPC_INOUT, Offset $07d4, Length 4, Value 0

-------------------------------------------------------------------------------------------------
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
icare11

avatar

Nombre de messages : 133
Date d'inscription : 17/03/2008
Age : 74
Localisation : 11800 Trèbes

MessageSujet: Re: exemple de programation carte encodeur   Mar 16 Déc - 10:51

Bonjour,

J'ai utilisé cette carte, il suffit avec contralador de voir "L'Input" de l'encodeur et de le reporter dans le device.
Ne pas oublier le "Type 1"
Un petit exemple :

// ============================================== OBS-Vor2
Var 0220, Link FSUIPC_INOUT, Offset $0C5E, Length 2 // OBS du VOR 2
Var 0221, Link IOCARD_ENCODER, Input 65, Aceleration 3, Type 1 // Cmd OBS VOR 2
{
V0220 = ROTATE 0 ,359 ,V0221
}

A +

JC
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Mar 16 Déc - 21:39

merci beaucoup messieurs
depuis 2 semaines je n'avançais plus, je vais m'y remettre dès demain et bientôt je mettrais des photos.
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Sam 20 Déc - 12:41

bonjour,
j'arrive à augmenter l'alt mais pas à la diminuer.Quand j'essaye de diminuer il l'augmente .Ai je oublier quelque chose?
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Sam 20 Déc - 14:18

Salut,

Poste nous ton code

Merci

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Sam 20 Déc - 20:40

salut stevelep,
ben c'est le code que tu m'as donné:

Var 0001, name input1, Link IOCARD_SW, Input 1 // augmente l'alt
{
L0 = &input1 * 100
&d_alt = LIMIT 0 ,50000 ,L0
}
Var 0002, name input2, Link IOCARD_SW, Input 2 // diminue l'alt
{
L0 = &input2 * 100
L0 = L0 * -1
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0003, name d_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5 // display altitude
{
L0 = &d_alt * 19975.37 // envoie la valeur a FS
&fs_altval = L0
}

Var 0004, name fs_altval, Link FSUIPC_INOUT, Offset $07d4, Length 4, Value 0

Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Sam 20 Déc - 23:57

Va voir dans la console, si les inputs 1 & 2 réagissent correctement quand tu tournes
le bouton.

Sinon essaie le 2ème code que je t'ai donné, celui avec la commande d'encodeur TYPE 1

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Lun 22 Déc - 21:33

Bonsoir stevelep,
alors suite au 2eme code que tu m'as donné je pense qu'il y a une erreur. Enfin je ne pense pas que le problème provienne du code car en regardant sur controlador je m'apercois qu'il y a plusieurs entrées qui apparaissent .
Je m'explique :
en tournant l'encodeur du coté qui permet d'augmenter, l'entrée 001 apparait jusque la c'est normal mais, dès que je tourne l'encodeur de l'autre coté la au lieu d'afficher 002 il me met 001,002 donc je pense qu'il y a un PB .
Merci de m'apporter vos lumieres.
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Mar 23 Déc - 2:26

Je n'ai pas cette carte mais théorétiquement la carte transforme la rotation de l'encodeur
en une suite de 001 dans un sens et une suite de 002 dans l'autre sens.

Vérifie le cablage de ton encodeur sur la carte, suivant les encodeurs, la masse n'est pas au centre.

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Mar 23 Déc - 8:57

ok merci pour ta réactivité je verrais ca ce soir.
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
icare11

avatar

Nombre de messages : 133
Date d'inscription : 17/03/2008
Age : 74
Localisation : 11800 Trèbes

MessageSujet: Re: exemple de programation carte encodeur   Mar 23 Déc - 17:26

Bonjour,

J'ai remonté une carte encodeur pour voir sa réactivité avec Contolador.

Donc avec cette carte on utilise des encodeurs à déphasage, ceux que vend Gotronic , par exemple.
Le fil de masse ne se trouve pas au milieu mais sur un bord (à droite en regardant l'encodeur avec les cosses vers soi et l'axe vers le haut)

A la programmation, comme les autres sauf le "Type" qui change, ex :
Var 0010, Link IOCARD_ENCODER, Input 63, Aceleration 8, Type 1

Avec Controlador on voie l'entrée bougée dans l'exemple elle passera de 63,64, 0 dans un sens ou 64, 63,0 dans l'autre.

Si vous montez un autre encodeur ce sera Input 65.

Il faut jouer sur la valeur de L"aceleration" pour avoir un affichage qui ne saute pas.

Je me suis séparé de ces cartes car la réaction à la rotation du bouton n'est pas toujours semblable à l'affichage que l'on voudrait obtenir.

On a un meilleur résultat avec les encodeurs Gray, ceux que vend Opencockpit, qui se branches sans carte (directement sur la carte mère).

A +

JC
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Lun 5 Jan - 22:17

bonsoir et bonne année à tous.
Alors je reviens pour mon pb qui n'est toujours pas résolu.
j'ai finalement commandé des encodeurs gray de chez opencockpit et en les connectant ils réagissent toujours de la meme façon, meme sans la carte encodeur .
y a t'il quelque chose à modifier dans le fichier ini .
Aidez moi svp je n'avance plus .
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Lun 5 Jan - 22:24

Donne nous ton code
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Mar 6 Jan - 9:58

bonjour ,
voici mon code:
[ fichero de configuracion para el programa IOCARD ]
[ Configuration file for IOCARD ]


[ Uso de Expansión USB ]
[ Iocard Master expansion USB ]
USB=yes

[ Múltiples USBs ]
[ Non unique USB ]
MUSB=No

[ Número de periférico para el USB ]
[ USB Device number ]
deviceUSB=2048

[ Número de A/D a usar de la placa de Expansión USB ]
[ A/D used by Iocard Master expansion USB ]
USB_AD=0


[ Puerto donde se encuentra conectada la IOCard Master ]
[ Iocard Master, parallel port address ]
Port=$0378


[ Modo compatible yes/no , necesita cable especial ]
[ Compatibility Mode yes/no, needed special cable ]
FullCompatible=No


[ Numero de tarjetas Master inter-conectadas ]
[ Number of connected master cards ]
NCards=1


[ Utiliza placa de expansión yes/no]
[ Use Expansion card yes/no]
Expansion=No


[ Activar en modo SIMULADOR yes/no]
[ Use simulated card yes/no]
simulator=no


[ Retraso necesario para las variables toggles (Project Magenta)]
[ Deley needed for var. toggles (Project Magenta) ]
TOGGLE_DELAY=2


[ Refresco de FSUIPC ]
[ FSUIPC refresh ]
FSUipcRefresh=100


[ Desabilitar lectura de las FSUIPC ]
[ FSUIPC disable mode yes/no ]
FSUipcdisable=no


[ Refresco de poll tarjetas Master ]
[ Master cards refresh ]
MasterRefresh=10


[ Desabilitar protocolo IOCP ]
[ IOCP disable mode yes/no ]
IOCPdisable=yes

[ Dirección IP local para el protocolo IOCP (UDP) ]
[ IP address for IOC protocol (UDP) ]
ioc_ip=127.0.0.1


[ Puerto local para el protocolo IOCP (UDP) ]
[ port for IOC protocol (UDP) ]
ioc_port=8090


[ Nombre y localización del fichero de configuración ]
[ Name and path of Config file ]
ConfigFile=.\a320_nonos.dat


[ Nombre exacto de la ventana donde se enviarán las teclas ]
[ Name of window for key send ]
[window = "Project Magenta Glass Cockpit - Build 396" ]

window = "a.txt - Bloc de notas"


[ End of File ]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Dim 11 Jan - 21:44

Bonsoir,
toujours personne pour m'aider?
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Dim 11 Jan - 22:02

mets to code SIOC plutôt

Merci

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Lun 12 Jan - 16:51

ok désolé je n'avais pas compris
// *****************************************************************************
// * Config_SIOC ver 3.5 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : pour airco.txt
// * Date : 12/03/2008



Var 0001, name input1, Link IOCARD_SW, Input 1 // augmente l'alt
{
L0 = &input1 * 100
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0002, name input2, Link IOCARD_SW, Input 2 // diminue l'alt
{
L0 = &input2 * 100
L0 = L0 * -1
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0003, name d_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5 // display altitude
{
L0 = &d_alt * 19975.37 // envoie la valeur a FS
&fs_altval = L0
}

Var 0004, name fs_altval, Link FSUIPC_INOUT, Offset $07D4, Length 4, Value 0


Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
stevelep

avatar

Nombre de messages : 512
Date d'inscription : 16/03/2008
Age : 43
Localisation : Neuchâtel LSGN, Suisse

MessageSujet: Re: exemple de programation carte encodeur   Lun 12 Jan - 21:50

Tu devrais plutot utiliser le 2ème exemple que j'avais posté
avec la fonction encodeur Type 1

Met le bon N° d'input sur l'encodeur (= 1 ère input de ta carte)
la 2 ème input doit être contigue (ex 21-22)



-------------------------------------------------------------------------------------------------

Var 0001, name ec_alt, Link IOCARD_ENCODER, Input 1, Aceleration 4, Type 1 // ALT encoder
{
L0 = &ec_alt * 100
&d_alt = LIMIT 0 ,50000 ,L0
}

Var 0003, name d_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5// display altitude
{
L0 = &d_alt * 19975.37 // envoie la valeur a FS
&fs_altval = L0
}

Var 0004, name fs_altval, Link FSUIPC_INOUT, Offset $07d4, Length 4, Value 0

-------------------------------------------------------------------------------------------------


Voila

BOB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Mar 27 Jan - 23:24

bonsoir stevelep
Bon j'ai essayé le 2eme code mais c'est tjrs la même chose mais je ne pense que le pb soit au niveau du code car deja sous controlador je vois les 2 entrés je ne comprends plus .
J'ai essayé avec une autre master et carte usb mais rien à faire je bloque ai je oublier quelque chose??Merci de m'apporter vos lumière
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
icare11

avatar

Nombre de messages : 133
Date d'inscription : 17/03/2008
Age : 74
Localisation : 11800 Trèbes

MessageSujet: Re: exemple de programation carte encodeur   Mer 28 Jan - 11:25

Bonjour,
Si tu utilises des encodeurs Gray il faut mettre "Type 2" et non "Type 1"

A +

JC
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Lun 2 Fév - 21:05

Salut icare,
bon ben j'ai tt essayé mais rien à faire je me suis retourné vers le forum opencockpit et j'ai trouvé une personne qui rencontre le meme pb que moi , mais lui aussi jusqu'a présent n'a toujours pas la réponse.Donc j'ai reformulé la demande sur le forum opencockpit et j'attends
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
icare11

avatar

Nombre de messages : 133
Date d'inscription : 17/03/2008
Age : 74
Localisation : 11800 Trèbes

MessageSujet: Re: exemple de programation carte encodeur   Mar 3 Fév - 17:02

Essais ce petit programme qui t'afficheras la VS et l'ALT avec passage de l'un à l'autre par une action sur un bouton poussoir et visualisation de la fonction d'affichage par diodes LED.

Var 0 Value 0
{
V30 = 4000
V31 = 500
}

Var 10 Link IOCARD_SW Input 63 Type P // Passage de VS à ALT
{
CALL V40

IF V10 = 1
{
V51 = 1
V50 = 0
}
ELSE
{
V51 = 0
V50 = 1
}
}

Var 20 Link IOCARD_ENCODER Input 68 Aceleration 4 Type 2
{
IF V10 = 1
{
L0 = V20 * 100
V30 = LIMIT 0 20000 L0
}
ELSE
{
L0 = V20 * 100
V31 = LIMIT -2500 2500 L0
}
}

Var 30
{
L0 = V30 * 1997537
V60 = L0 / 100
CALL V40
}

Var 31
{
L0 = V31 * 1
V61 = L0
CALL V40
}

Var 40 Link SUBRUTINE
{
IF V10 = 1
{
V90 = V30
}
ELSE
{
V90 = V31
}
}

Var 50 Link IOCARD_OUT Output 80 // Led VS
Var 51 Link IOCARD_OUT Output 76 // Led ALT
Var 60 Link FSUIPC_OUT Offset $07D4 Length 4
Var 61 Link FSUIPC_OUT Offset $07F2 Length 2
Var 90 Link IOCARD_DISPLAY Digit 23 Numbers 5

A toi de changer les N° des Input et Output en fonction de ton branchement sur la carte mère.

Sinon je ne vois pas, si tu as branché correctement l'encodeur et qu'il est reconnu par "controlador".

A +

JC
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dogness



Nombre de messages : 70
Date d'inscription : 15/03/2008

MessageSujet: Re: exemple de programation carte encodeur   Mer 4 Fév - 22:40

merci icare probleme resolu c'était bien un pb de programmation je peux me remettre au boulot encore merci à tous ,
ce forum nous aide beaucoup .
Arnaud
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: exemple de programation carte encodeur   

Revenir en haut Aller en bas
 
exemple de programation carte encodeur
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Air-Cockpit :: Réalisations électronique :: Programmations Pics , Sioc et autres-
Sauter vers: