Choix DME Nav1 ou 2

Questions de programmation / Offset FSUIPC et IOCP

Choix DME Nav1 ou 2

Messagede ijack30 » Ven 20 Mai 2011 03:04

Bonjour

Je n'arrive pas a gérer mon choix d'affichage sur le DME. Affichage entre la NAV1 ou la NAV2
En effet, avec l'offset 0378, on est supposé pouvoir switcher.
DME1=NAV2 DME2=NAV2

Voici mon code

var 0109, name DME_SW, Link IOCARD_SW, Input 14 // DME Select
Var 0110, name DMEselect, Link FSUIPC_INOUT, Offset $0378, Length 2
{
&DMESelect = &DME_SW + 1
}

DME_SW change bien entre 0 et 1, mais DMESelect ne change pas. Il est a 1 et ne bouge pas.
Si j'envoi 2, il reste a 2.. rien a faire pour lui faire changer d'état.
C'est surement un truc bien simple,mais là, je vois pas.
Merci pour vos lumières
ijack30
 
Messages: 78
Inscription: 2/02/11
Localisation: Québec

Re: Choix DME Nav1 ou 2

Messagede ganlhi » Ven 20 Mai 2011 06:36

Bizarre gratgrat
Je viens de regarder mon code, et j'ai la même chose que toi, et ça fonctionne.

Désolé, je n'ai pas de réponse...
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary

Re: Choix DME Nav1 ou 2

Messagede pym-s » Ven 20 Mai 2011 09:01

Salut,

essaye plutôt ça :
Code: Tout sélectionner
var 0109, name DME_SW, Link IOCARD_SW, Input 14      // DME Select
{
    &DMESelect = &DME_SW + 1
}
Var 0110, name DMEselect, Link FSUIPC_INOUT, Offset $0378, Length 2
Dernière édition par pym-s le Ven 20 Mai 2011 10:39, édité 1 fois.
Vacancier professionnel, Fly and Dream ...
pym-s
 
Messages: 4
Inscription: 22/11/10
Localisation: Mâcon (LFLM), Megève (LFHM)

Re: Choix DME Nav1 ou 2

Messagede ganlhi » Ven 20 Mai 2011 10:13

Ah oui exact ecroulerire
Je suis trop c... je n'avais pas vu l'erreur.

ijack30, ton code est dans la variable de l'offset FS, pas dans celle de l'interrupteur. Or un code se déclenche quand sa variable change d'état. Comme tu n'avais pas de code sous ta variable interrupteur, il ne se passait rien quand tu l'utilisais.

En fait, la solution idéale est de répéter le même code dans les deux variables. Comme ça, si tu cliques sur l'interrupteur à l'écran, ton code s'active, et empêche l'offset de prendre une valeur incohérente par rapport à l'interrupteur physique.

Donc :
Code: Tout sélectionner
var 0109, name DME_SW, Link IOCARD_SW, Input 14    // DME Select
{
    &DMESelect = &DME_SW + 1
}

Var 0110, name DMEselect, Link FSUIPC_INOUT, Offset $0378, Length 2
{
    &DMESelect = &DME_SW + 1
}
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary

Re: Choix DME Nav1 ou 2

Messagede ijack30 » Ven 20 Mai 2011 13:52

Merci a vous...
Mais là, je viens d'apprendre quelque chose.. je savais pas que les variables devaient être déclarées suivant un ordre particulier...ca complique un peu les choses...

En tout cas, merci beaucoup. Ca me rassure je comprennais plus.
ijack30
 
Messages: 78
Inscription: 2/02/11
Localisation: Québec

Re: Choix DME Nav1 ou 2

Messagede ganlhi » Ven 20 Mai 2011 15:20

Ah non on n'a pas dit ça !
L'ordre des variables n'a aucune importance. Ce qui est important est de placer le code sous la variable dont le changement d'état est censé provoquer l'exécution du code.
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 734
Inscription: 19/04/09
Localisation: Castelnaudary

Re: Choix DME Nav1 ou 2

Messagede stevelep » Ven 20 Mai 2011 17:40

Oui le SIOC est orienté évènement

C'est un règle très importante pour comprendre le fonctionnement du SIOC.

C'est l'évènement (un modification de valeur) qui exécute le code dessous la variable.
Pas d'évènement pas d'action.

Si tu prend un exemple très simple:
1 switch 1 LED, le switch allume directement la LED
Le code &led = &switch doit être écrit dessous la variable switch, car c'est le
fait de bouger le switch qui va lancer le code et allumer la led

Si tu mets le code sous la variable led. il ne va rien se passer

Si tu as un code qui est déclanché par plusieurs actions (plusieurs switch etc ...)
Il faut créer une subrutine et renvoyer chaque switch a cette subroutine

Voila

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


Retourner vers Programmation Sioc





Qui est en ligne

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