Garder une valeur lors d'un "Test"

Questions de programmation / Offset FSUIPC et IOCP

Garder une valeur lors d'un "Test"

Messagede arcc » Lun 11 Aoû 2014 18:30

Bonsoir

Je ne sais pas si mon titre est tres comprehensible, mais bon.

Je m'explique. Dans mon cockpit de Twin Otter
Image
J'ai un bouton pour tester l'affichage des niveaux des réservoirs de carburant.
les Offset Fsuipc sont 0B74 et 1244 pour les réservoirs avant et arriere.
Je cherche ,depuis pas mal de temps, à faire :
quand j'appui sur le bouton test, l'aiguille de la gauge vient sur 0, et quand je relache le bouton test, la jauge m'indique la valeur de carburant que j'avais au depart.

Exemple : j'ai mis 50% dans le reservoior Avant et 40% dans le reservoir Arriere, Appui sur le bouton "Test" les aiguilles vont sur "0" , je relache, les aiguilles reviennent sur 50% et sur 40%.
Hors pour l'instant, j'arrive bien à mettre les aiguilles sur 0 (Test) mais elles ne reviennent pas sur les valeurs de chargement.

Et j'ai essayé des tas de possibilités....

Merci pour votre aide.

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Garder une valeur lors d'un "Test"

Messagede taz83 » Lun 11 Aoû 2014 19:04

Pour garder la valeur perso je sais pas mais c'était pour te dire qu'il super sympa ton simu
Bravo quelques photos de plus dans la bonne rubrique me feraient bien plaisir et je pense que ce sera l'avis d'un certain nombre de nous
Merci
Avatar de l’utilisateur
taz83
 
Messages: 484
Inscription: 20/04/09
Localisation: Sainte Maxime 83120

Re: Garder une valeur lors d'un "Test"

Messagede arcc » Lun 11 Aoû 2014 19:11

Sympa ta reponse.
En fait, j'ai pas osé poster mes images sur ce forum au vu de ce qui ce fais, je sais c'est con (alors que je l'ai ai mis sur un autre forum).

J'y songe. En plus je m'eclate dans les régions orbx (Alaska et autres)

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Garder une valeur lors d'un "Test"

Messagede Boutondair » Lun 11 Aoû 2014 19:26

Bonjour Christian,

Il est magnifique ton simu, comme dit Taz il faut que tu nous en montres un peu plus

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: Garder une valeur lors d'un "Test"

Messagede FiX » Lun 11 Aoû 2014 19:36

Il faudrait que tu postes ton code, tu as un soucis quelque part.
Parce que c'est assez simple. Si tu as bien l'offset de la quantité de fuel et qu'il t'affiche la quantité de fuel, tu dis :
"if switch=1 alors fuel affiché =0, else fuel affiché = offset fuel."
Ca veut dire que tant que le switch est relâché ça te lit la valeur de l'offset fuel et ça te l'affiche.
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: Garder une valeur lors d'un "Test"

Messagede stevelep » Lun 11 Aoû 2014 20:43

Le problème c'est que si la valeur du fuel bouge même un petit peu ton aiguille va
revenir à la valeur normale, même si tu tiens pressé le bouton.

Le plus efficace c'est d'utiliser une subroutine et d'appeler (CALL) la subroutine
avec le bouton ET la valeur de la gauge. Et mettre les conditions d'affichage
comme l'a décrit Fix dans la subroutine, comme ça si le bouton ou la valeur change
l'affichage sera toujours comme tu le veux.

Une subroutine est une variable (un sous-programme) qui centralise plusieurs conditions
et plusieurs variables au même endroit, c'est parfois obligatoire pour le SIOC car
c'est un programme orienté événement.

Poste nous ton bout de code

Merci

et BIG APPLAUSE pour ton super simu qui donne vraiment envie de l'essayer applaublanc applaublanc applaublanc
Tu n'as vraiment pas a rougir de ta réalisation par rapport aux autres nondoightblanc

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

Re: Garder une valeur lors d'un "Test"

Messagede nonolight » Lun 11 Aoû 2014 21:25

Superbe simulateur !

D'autres photos dans la rubrique présentation seraient bien venues, j'ai hâte de voir ça grandsoleil cligneoeil

Nono
Image Image
Avatar de l’utilisateur
nonolight
 
Messages: 4344
Inscription: 21/03/09

Re: Garder une valeur lors d'un "Test"

Messagede arcc » Mar 12 Aoû 2014 14:44

Parce que c'est assez simple. Si tu as bien l'offset de la quantité de fuel et qu'il t'affiche la quantité de fuel, tu dis :
"if switch=1 alors fuel affiché =0, else fuel affiché = offset fuel."


En fait je pense que le fait d'appuyer sur le bouton test me met comme voulu la valeur à 0, mais quand je relâche je garde 0 dans le réservoir car je n'ai pas réussi à sauvegarder la valeur initiale.

J'ai fais du genre :
Var 0961, name Fuel_Tank_AV, Link FSUIPC_INOUT, Offset $0B74, Length 4 // Capacity Fuel Tank FWD

Var 0963, Link IOCARD_SW, Input 94 // Poussoir Fuel Tank Test On / Off
{
IF V0963 = 1
{
&Fuel_Tank_AV = 0

}
ELSE
{
&Fuel_Tank_AV = V0961
}
}


En essayant de sauvegarder la valeur du reservoir du genre

Var 0962, name Fuel_Tank_AVT // Capacity Fuel Tank Avant Test
{
&Fuel_Tank_AV = &Fuel_Tank_AVT
}
Var 0963, Link IOCARD_SW, Input 94 // Poussoir Fuel Tank Test On / Off
{
IF V0963 = 1
{
&Fuel_Tank_AV = 0

}
ELSE
{
&Fuel_Tank_AV = &Fuel_Tank_AVT
}
}


Pour ce qui est des Subroutine, bien que je cherche toujours des exemples pour essayer de comprendre tout seul, j'avoue que la ......
J'ai par exemple téléchargé le code complet du B200 de Bernard BAUQUE pour m'en inspirer, j'ai du mal avec ces subroutine.

Promis je posterai des photos quand je serais en vacances .
Et encore merci de vos commentaires.

A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Garder une valeur lors d'un "Test"

Messagede arcc » Mar 12 Aoû 2014 15:19

Re bonjour

apres plusieurs essais et recherche, j'ai trouvé (tout seul comme un grand) un code qui fonctionne.
Je ne sais pas si il est conventionnel, mais ca fonctionne. Je le test pendant un vol tout à l'heure.

Code: Tout sélectionner
Var 0494, name Fuel_Tank_AV, Link FSUIPC_INOUT, Offset $0B74, Length 4    // Capacity Fuel Tank FWD
{
  L0 = &Fuel_Tank_AV
  L1 = &Fuel_Tank_AVT
  L2 = L0 + L1
  &Fuel_Tank_AVT = L2
}


Var 0495, name Fuel_Tank_AR, Link FSUIPC_INOUT, Offset $1244, Length 4    // Capacity Fuel Tank AFT
{
  L0 = &Fuel_Tank_AR
  L1 = &Fuel_Tank_ART
  L2 = L0 + L1
  &Fuel_Tank_ART = L2
}

Var 0496, name Fuel_Tank_AVT  // Capacity Fuel Tank FWD Avant Test
{
  &Fuel_Tank_AVT = &Fuel_Tank_AV
}


Var 0497, name Fuel_Tank_ART  // Capacity Fuel Tank AFT Avant Test
{
  &Fuel_Tank_ART = &Fuel_Tank_AR
}


Var 0498, name Fuel_Tank_SW, Link IOCARD_SW, Input 94 // Poussoir Fuel Tank Test On / Off  ( Param 50 / 51 )
{
     IF &Fuel_Tank_SW = 1
     {
         &Fuel_Tank_AV =  0
         &Fuel_Tank_AR =  0
     }
          ELSE
     {
         &Fuel_Tank_AV =  &Fuel_Tank_AVT
         &Fuel_Tank_AR =  &Fuel_Tank_ART
     }
}


A+
Christian
Un ancien sous-marinier qui a pris de la hauteur.
Avatar de l’utilisateur
arcc
 
Messages: 715
Inscription: 16/12/13
Localisation: La ou fini la terre (Finistere)

Re: Garder une valeur lors d'un "Test"

Messagede FiX » Mar 12 Aoû 2014 17:43

Je suis un peu étonné que ton tout premier code ne fonctionne pas. gratgrat
Bob nous donnera sûrement des explications.
Je suppose que c'est parce qu'il faut attendre que la valeur du fuel tank change pour que la valeur s'affiche à nouveau. Tant que ça ne bouge pas le code n'est pas relu donc la variable conserve le 0 en mémoire?
Pour les subroutine, j'avais posé la question à l'époque du code de mon baron58, Bob avait tout expliqué, il faudrait retrouver mon post.
J'avais du apprendre à les utiliser pour coder le fait que l'avionique fonctionnait ou non selon que l'avion était sous tension ou non.

Mais une subroutine, en soit c'est pas compliqué, c'est juste un morceau de code que tu peux "enregistrer" (link_subroutine) et rappeler rapidement n'importe où dans ton code juste en mettant (call_subroutine)
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

Suivante

Retourner vers Programmation Sioc





Qui est en ligne

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

cron