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

Questions de programmation / Offset FSUIPC et IOCP

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

Messagede JC67 » Mar 4 Oct 2016 21:35

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.
Windows 11 Professionnel
i9-12900KF
Asus ROG STRIX Z690-F GAMING WIFI
KF556C40-32 Bank 0 (32 Go)
NVIDIA RTX 4090
KINGSTON SNVS2000G SCSI (1,82 To)
Avatar de l’utilisateur
JC67
 
Messages: 130
Inscription: 16/03/14
Localisation: AY CHAMPAGNE

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

Messagede fab » Mar 4 Oct 2016 22:42

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 ....
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

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

Messagede fab » Mar 4 Oct 2016 23:14

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
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

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

Messagede JC67 » Mer 5 Oct 2016 07:00

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
Windows 11 Professionnel
i9-12900KF
Asus ROG STRIX Z690-F GAMING WIFI
KF556C40-32 Bank 0 (32 Go)
NVIDIA RTX 4090
KINGSTON SNVS2000G SCSI (1,82 To)
Avatar de l’utilisateur
JC67
 
Messages: 130
Inscription: 16/03/14
Localisation: AY CHAMPAGNE

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

Messagede fab » Mer 5 Oct 2016 08:47

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
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

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

Messagede JC67 » Mer 5 Oct 2016 21:56

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
Windows 11 Professionnel
i9-12900KF
Asus ROG STRIX Z690-F GAMING WIFI
KF556C40-32 Bank 0 (32 Go)
NVIDIA RTX 4090
KINGSTON SNVS2000G SCSI (1,82 To)
Avatar de l’utilisateur
JC67
 
Messages: 130
Inscription: 16/03/14
Localisation: AY CHAMPAGNE

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

Messagede fab » Jeu 6 Oct 2016 07:52

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.
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix


Retourner vers Programmation Sioc





Qui est en ligne

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