Page 1 sur 2

Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 08:35
de sertor33
Bonjour à tous,
A la demande de Fabien, je poste ma présentation et questions dans cette rubrique.
-----------------
De retour en région bordelaise après mes années professionnelles à Paris, je vais enfin pouvoir me consacrer à mon Rêve, la construction d'un simu !
Pilote du dimanche, un peu informaticien, la transpiration est en marche ...
Pas à pas. D'abord un banc d'essai pour tester tous les types de périphériques entrées et sorties avant install sur contreplaqué.
Le tout avec les cartes OpenCockpit, si j'ai bien compris les voix de la majorité non silencieuse.

MAIS déjà ça se corse.
J'ai reçu le matos, écris 2 programmes sioc :
- un interrupteur sur carte input qui allume une led sur carte output. Même pas utilisé FSX, y'a pas plus simple.
- une led qui s'allume quand je rentre le train

ET bien vous me croirez pas, tout fonctionne avec siocmonitor et IOCPConsole, j'allume mes led, l'inter est détecté, les valeurs changent, MAIS rien ne se passe 'en dehors', on dirait que sioc.ssi sommeille, en tous les cas, lui et FSX, ils se causent pas.

J'ai raté quelque chose ???
Merci pour votre aide.
Promis, j'abuserai pas, je suis un diesel, faut que je sois chaud, après ça va.

Cordiamicalement
Serge

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 08:53
de fab
Re bonjour serge,

En effet il doit te manquer quelque chose cligneoeil
.... Il te manque le lien vers FSX applaublanc

Tu nous parles d'interrupteur et de LED, mais pour inter-agir avec quoi dans FSX ?

Que doit faire l’interrupteur ?
Que doit refléter la LED ?

Ensuite on pourra t'aider grandsoleil
Fabien

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 09:38
de tabar57
Bonjour Serge, enfin rebonjour

Quand tu vas dans le menu de fsx, à droite est ce que tu as quelque chose du style FSUIPC dans le menu Modules ?

Cordialement

Bernard

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 12:14
de sertor33
Ce forum est magique, j'ai déjà un bout de sioc qui marche ...

Var 0004, name gear_com, Link FSUIPC_INOUT, Offset $0be8, Length 4 // commande train
Var 0002, name gear_sw, Link IOCARD_SW, Input 27 // inter train
{
IF &gear_sw = 1
&gear_com = 0 // sorti
else
&gear_com = 16383
}

Var 0009, name Led_out, Link IOCARD_OUT, Output 16
{
IF &gear_com = 16383
&Led_out = 1
else
&Led_out = 0
}

Le train sort bien dans FSX mais la led s'allume pas.

J'ai essayé encore plus basique, sans FSX :
Var 0002, name gear_sw, Link IOCARD_SW, Input 27
Var 0009, name Led_out, Link IOCARD_OUT, Output 16
{
IF &gear_sw = 1
&Led_out = 1
else
&Led_out = 0
}

la led s'allume pas non plus.

Qu'est-ce que j'ai raté ?
C'est fou ce que je vais avoir l'air ridicule quand j'aurai la solution !

Merci à vous.
Serge

NB : désolé pour l'erreur de post, je pensais qu'il fallait d'abord passer par le topic présentation des membres

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 12:17
de sertor33
Précision supplémentaire
J'allume la led avec siocmonitor, c'est donc pas un problème de câblage.

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 12:40
de fab
OK, alors règle numéro une : SIOC fonctionne par événements.
Le code sous une variable ne sera exécuté que si cette variable change
Pour l'inter, c'est bon puisque c'est toi qui bouge l'inter, donc le code sous la variable inter gear_sw fonctionne !

Pour la portion de code
Code: Tout sélectionner
Var 0009, name Led_out, Link IOCARD_OUT, Output 16
{
IF &gear_com = 16383
&Led_out = 1
else
&Led_out = 0
}


ne sera exécute que si tu changes la variable Led_out, et comme led_out ne change pas, le code ne s’exécute pas nondoightblanc

Je te laisse chercher ce qu'il faut faire !

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 12:51
de nuno14
Bonjour Serge,

essaie ceci
Code: Tout sélectionner
Var 0001, name gear_com, Link FSUIPC_INOUT, Offset $0BE8, Length 4     // commande de train

Var 0002, name gear_sw, Link IOCARD_SW, Input 27
{
  IF gear_sw = 1
  {
    &gear_com = 16383   
    &led_out = 1   
  }
  ELSE
  {
    &gear_com = 0
    &led_out = 0
  }
}

Var 0003, name led_out, Link IOCARD_OUT, Output 16


Bonne journée

Nuno.

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 14:00
de tabar57
Bonjour,

Une petite précision ... si le train est sorti la variable $0BE8 est à 16383 et la led verte doit être allumée sinon la var $0bE8 est à 0 ou le train est en transit mais on verra çà plus tard ( led rouge )

Cordialement

Bernard

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 14:32
de nuno14
Merci tabar57.

Code ci-dessus rectifier.

Nuno

Re: Au secours d'un retraité

MessagePosté: Mar 18 Oct 2016 15:18
de sertor33
Oups ! j'ai du rater un envoi de réponse. Je recommence.
@ fab, merci pour ton temps
J'ai modifié le code selon tes infos (déplacé la définition de la Var 0009 à la fin du code) et ça marche, s'allume.
Mais s'éteint tout de suite (on verra ça plus tard)
j'avais jamais vu un soft qui fonctionne différemment selon la position des définitions dans le source.
Donc pour moi sioc c'est pas clair ...
Avez-vous des liens de doc pour les nuls pour pas que je pollue trop le forum

Cdlt