Problème avec le code du selecteur de cap

Questions de programmation / Offset FSUIPC et IOCP

Re: Problème avec le code du selecteur de cap

Messagede FiX » Mer 24 Oct 2012 14:31

Une valeur nulle de l'offset HDG, ça n'est pas vraiment un problème, c'est le cap nord, non?
D'ailleurs si on se contente de 0-359, on ne pourra pas régler le cap sur le plein nord en fait.
De toute façon, je viens de tester, pas de bug avec le 0-360.

Bon, maintenant faut que je trouve comment inverser le sens de rotation.
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede FiX » Mer 24 Oct 2012 14:39

stevelep a écrit:En lisant mon code, je me suis posé les mêmes questions ... et je me souviens plus du pourquoi.

Faut que je teste ça demain ...

BOB



Tu as pu retrouver le pourquoi du comment tu fais L0 +1 ?
J'ai testé ton code, avec ou sans le L0+1, je ne vois aucune différence au niveau de la valeur du cap lorsque je tourne l'encodeur.
Je comprends pas trop à quoi ça sert.


J'ai pensé que ça pourrait servir à programmer une incrémentation plus élevée (par exemple en appuyant sur le switch de l'encodeur).
Je voudrais régler le cap de 1 en 1 en tournant l'encodeur et de 10 en 10 en le appuyant en plus sur le switch de l'encodeur.
J'ai essayé ceci:

Code: Tout sélectionner
Var 0505, name HDG_bug, Link FSUIPC_INOUT, Offset $07CC, Length 2     // Etat du selecteur de cap

Var 0506, name sw_hdg, Link IOCARD_SW, Input 5     // push du selecteur de cap

Var 0507, name cts_hdg, Link IOCARD_ENCODER, Input 7, Aceleration 1, Type 2     // encodeur du selecteur de cap
{
  IF &sw_hdg = 1
  {
    &calc_hdg_inc10 = ROTATE 1 ,359 ,&cts_hdg
  }
  ELSE
  {
    &calc_hdg_inc1 = ROTATE 1 ,359 ,&cts_hdg
  }
}

Var 0508, name calc_hdg_inc1     // conversion du cap incrément de 1
{
  L0 = &calc_hdg_inc1 * 65536
  L1 = L0 / 360
  L2 = L1 + 1
  &HDG_bug = L2   
}

Var 0509, name calc_hdg_inc10     // conversion du cap incrément de 10
{
  L0 = &calc_hdg_inc10 * 65536
  L1 = L0 / 360
  L2 = L1 + 10
  &HDG_bug = L2   
}


Mis à part le fait que ça ne tourne pas dans le bon sens (bon ça c'est un autre problème), mon histoire d'incrémentation de 10 en 10 ne fonctionne pas. gratgrat
Dernière édition par FiX le Mer 24 Oct 2012 15:02, édité 1 fois.
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede FiX » Mer 24 Oct 2012 14:42

Ah mais non, j'ai fait n'importe quoi, évidemment, ça ne peut pas marcher.
Du moins ça va m'incrémenter le cap de 10 la première fois que je vais tourner l'encodeur (en appuyant sur le switch) et ensuite ça ira de 1 en 1.

Bon, retour case départ... gratgrat
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede FiX » Jeu 25 Oct 2012 16:48

Et ben je n'y arrive pas. gratgrat
Comment faire, avec ce code simplifié de Bob (et on pas celui du début qui était un peu compliqué), pour incrémenter le cap de 10 en 10 (Et au passage, pour l'inverser rapport à la rotation de l'encodeur) ?
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede stevelep » Jeu 25 Oct 2012 17:15

Var 2634, Name encoder, Link IOCARD_ENCODER, Input 7, Aceleration 2, Type 2
{
L0 = &encoder * -10
&val_hdg = ROTATE 1, 360, L0
}

Var 2650, name val_hdg // converti le cap pour FS
{
L0 = &val_hdg * 182.04444
L0 = L0 + 1
&fs_hdg = L0
}

Var 2652, name fs_hdg, Link FSUIPC_INOUT, Offset $07CC, Length 2


Fait en vitesse de tête, dis moi si ça marche comme ça boncontent
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: Problème avec le code du selecteur de cap

Messagede FiX » Ven 26 Oct 2012 10:25

Et ben bravo, ça marche nickel!
Avec le switch pour incrémenter de 10 en 10, ça donne ça:

Code: Tout sélectionner
Var 0505, name HDG_bug, Link FSUIPC_INOUT, Offset $07CC, Length 2     // Etat du selecteur de cap

Var 0506, name sw_hdg, Link IOCARD_SW, Input 5     // push du selecteur de cap

Var 0507, name cts_hdg, Link IOCARD_ENCODER, Input 7, Aceleration 1, Type 2     // encodeur du selecteur de cap
{
  IF &sw_hdg = 1
  {
    L0 = &cts_hdg * -10
    &calc_hdg = ROTATE 1 ,360 ,L0
  }
  ELSE
  {
    L0 = &cts_hdg * -1
    &calc_hdg = ROTATE 1 ,360 ,L0
  }
}

Var 0508, name calc_hdg     // calcul conversion du cap en degrés
{
  L0 = &calc_hdg * 65536
  L0 = L0 / 360
  L0 = L0 + 1
  &HDG_bug = L0   
}

Bon, par contre, le L0+1, je comprends toujours pas à quoi il sert... yeuxhaut



Allez, je me lance sur les radios... blemeblanc
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede stevelep » Ven 26 Oct 2012 11:41

Super.

Donc quand tu presses le bouton ça saute de 10 en 10 ?
On peux aussi jouer sur le paramètre ACCELERATION.

Pour le L0, je sais plus ... mais si ça marche c'est que ça doit bien servir à quelque chose

J'ai pas fais les radio, trop complexe, j'ai modifié un code existant pour l'adapter à mes encodeurs

Je te le donne si tu veux

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: Problème avec le code du selecteur de cap

Messagede Boutondair » Ven 26 Oct 2012 11:46

Super Fix,

Tu vas devenir un pro du SIOC applaublanc

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: Problème avec le code du selecteur de cap

Messagede FiX » Ven 26 Oct 2012 14:47

stevelep a écrit:Super.

Donc quand tu presses le bouton ça saute de 10 en 10 ?
On peux aussi jouer sur le paramètre ACCELERATION.

Oui le but était d'avoir deux vitesses de rotation selon que l'on appuis ou non sur le switch de l'encodeur.
Pour le paramètre accélération, j'y pensais, mais je ne voyais pas trop comment faire avec la condition "si le bouton est appuyé".
Parce que là c'est facile , j'ai une seule variable pour l'encodeur et une seule variable de conversion du cap en degré.
Tout ce qui change c'est le calcul de la conversion (il est multiplié par 10 ou par 1 selon la position du switch).
Mais l'accélération est définie dans la variable de l'encodeur. Je ne vois pas trop comment j'aurais pu définir deux accélarations possible, il m'aurait fallu deux variables d'encodeur et je ne vois pas trop comment c'est possible. gratgrat

stevelep a écrit:Super.
J'ai pas fais les radio, trop complexe, j'ai modifié un code existant pour l'adapter à mes encodeurs
Je te le donne si tu veux
BOB


peurefrayé peurefrayé
Alors là, tu me fais peur!! C'est toi qui dit que c'est trop complexe!!?? A ce point là?
Aie...
Le but était de réussir à les fair moi même pour essayer de progresser (bon, avec de l'aide et des codes existants pour s'inspirer évidemment), mais alors si tu me dis que même pour toi c'est chaud... Alors là, chui mal barré! etonneyeux
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

Re: Problème avec le code du selecteur de cap

Messagede FiX » Ven 26 Oct 2012 14:47

stevelep a écrit:Pour le L0, je sais plus ... mais si ça marche c'est que ça doit bien servir à quelque chose


Ben oui, ça marche, mais ça marche aussi sans... sourirebis
i7 2600k/P8P67pro/16Go PC3 17000/RX 580/SSD 250 Go et 120Go/W10x64
https://www.facebook.com/cessna150.sim
Avatar de l’utilisateur
FiX
 
Messages: 4664
Inscription: 8/01/10
Localisation: Reims/Maubeuge

PrécédenteSuivante

Retourner vers Programmation Sioc





Qui est en ligne

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