Page 1 sur 1

Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mar 4 Oct 2016 21:35
de JC67
Bonsoir,
Depuis plusieurs jours, j'essaye en vain de rédiger un script pour pouvoir faire tourner la couronne de correction de l'anémomètre.
Voici mon script:
PILRIDER a écrit:Bonsoir,
Merci pour vos encouragements et vos suggestions.
En ce qui concerne le commentaire de Fabien,
fab a écrit:Bienvenue, beau travail applaublanc

PILRIDER a écrit:Bonsoir,
En effet ce sont des jauges AirManager.
Je débute et pense ensuite utiliser d'autres jauges notamment celles de Fabien DEHEEGHER http://fabien.deheegher.free.fr/download/jauges/
Mais pour l'instant, elles sont trop grandes pour moi (mes cadres font 71mm).


Pour ce point, pas de problème, tu me donnes la dimension de la jauge en pixel et la ou les jauges que tu souhaites, j'en fais une version à ta taille !

Fabien

Mes jauges font 246 pixels de diamètre.
Pourrais-tu redimensionner les instruments suivants?
- Altimètre Epsilon TB30
- Air Speed B200
- TAS Beechcraft Baron

En ce qui concerne la couronne de l'anémomètre, j'ai réussi à faire bouger celle du Seneca V d'AirManager (c'est très/trop lent) mais c'est l'échec avec celle du Cessna 172 d'AirManager et celle du Baron de Fabien.
C'est bizarre, mais il me reste encore beaucoup à apprendre sur SIOC.
A titre d'information voici le script qui fonctionne.
Code: Tout sélectionner
Var 1, name TAS_CAL, Link FSUIPC_INOUT, Offset $3110, Length 4     // TRUE_AIRSPEED_CAL


Var 2, Link IOCARD_ENCODER, Device 11, Input 34 Aceleration 4 Type 2
{
 L0 = v2 // * -1 turning clockwise should be plus
 IF L0 > 0
 {
 v1 = 65885 // TRUE_AIRSPEED_CAL_INC
 v1 = DELAY 0 10
 }
 ELSE
 {
 IF L0 < 0
 {
 v1 = 65886 // TRUE_AIRSPEED_CAL_DEC
v1 = DELAY 0 10
 }
 }
}


Cordialement,
JC.



J'ai aussi effectué, les changements suggérés par Fabien en ce qui concerne sa jauge.
fab a écrit:En fait, tu ne dois pas utiliser un offset existant, essaie de remplacer plutôt 3110 dans le code sioc par 9000 (longueur de 1), il faut remettre 9000 dans le fichier ini !


En fait avec l'offset $9000 dans mon script et dans la jauge, la couronne tourne dès que j'effectue une rotation sur mon encodeur puis revient immédiatement à sa valeur initiale.
Je suppose que mon script est mal rédigé.
Auriez-vous des suggestions en programmation SIOC pour le novice que je suis?

Cordialement.
JC.

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mar 4 Oct 2016 22:42
de fab
Je vois une erreur, pour ma jauge, la longueur de l'offset est de 1, pas de 4, il faut donc remplacer :
Code: Tout sélectionner
Var 1, name TAS_CAL, Link FSUIPC_INOUT, Offset $3110, Length 4     // TRUE_AIRSPEED_CAL


par

Code: Tout sélectionner
Var 1, name TAS_CAL, Link FSUIPC_INOUT, Offset $9000, Length 1     // TRUE_AIRSPEED_CAL


Autre chose, je viens de voir que l'offset $3110 servait à envoyer des commandes à FS

Je vais te faire un script qui fonctionne avec ma jauge ....

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mar 4 Oct 2016 23:14
de fab
J'ai retrouvé la liste des fonctions que l'on peut envoyer dans l'offset 3110 : http://fsuipc.simflight.com/beta/Revised_List_of_FSX_Controls.pdf

C'est normal que cela ne tourne pas vite, à chaque impulsion, on incrémente d'un cran seulement le disque.

Cela ne sert qu'a changer l'affichage du disque dans FS, ça ne change rien à la simulation !

Attend mon script grandsoleil

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mer 5 Oct 2016 07:00
de JC67
Bonjour,
En fait, j'avais modifié la longueur à 1 mais ça n'a rien amélioré car mon script est mauvais.
J'attends avec impatience ta version.
Dans un autre domaine et à plus long terme, je remplacerai sûrement mes encodeurs CTS288 par des encodeurs de souris (j'ai vu ton post et tes vidéos sur ce sujet, c'est un travail remarquable).

Bon, une chose à la fois!
Je vais prendre le temps pour faire les choses correctement.

@+
JC

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mer 5 Oct 2016 08:47
de fab
Oh mais je vois que tu as bien suivi l'histoire des encodeurs applaublanc

Alors le code pour ma jauge TAS :
Code: Tout sélectionner
Var 0001, name DISQUE_CAL, Link FSUIPC_INOUT, Offset $9000, Length 1 // je declare l'offset $9000 comme offset de commande du disque

Var 0002, name TAS_CAL, Link IOCARD_ENCODER, Input 0, Aceleration 2, Type 2 // j'utilise la fonction LIMIT pour faire varier la valeur de 0 à 255
{
  &DISQUE_CAL = LIMIT 0 ,255 ,&TAS_CAL
}


Fabien

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Mer 5 Oct 2016 21:56
de JC67
Merci Fabien pour ton script.
Il fonctionne à merveille avec ta jauge.
Puis-je partager ce code avec les autres en le mettant ici?
http://www.aircockpit.com/viewtopic.php?f=63&t=1591&start=20#p66339

C'est vraiment motivant d'avoir l'aide des membres du forum pour avancer sur mon projet.
@+
JC

Re: Script SIOC couronne TAS de l'anémomètre.

MessagePosté: Jeu 6 Oct 2016 07:52
de fab
Bien entendu pour la diffusion du code !

Il faut que tu ajustes la valeur haute (255) afin que le disque ne disparaît pas du cadre.