Page 1 sur 6

Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 12:59
de Kelt760
Bonjour à tous,

Dans la programmation de notre stack radio, je tombe sur un os de SIOC... J'ai deux radios, qui possèdent chacune un inter ON-OFF. Les afficheurs d'une radio ne s'allument que si l'inter de la radio correspondante est ON. Jusque là, tout va bien, ça marche.

En revanche, si je laisse les inters Radio 1 et 2 sur ON et éteins seulement l'avionique, au prochain lancement ou "reload" de SIOC, seule la radio 1 se rallume quand j'active l'avionique. La radio 2 reste éteinte, jusqu'à ce que je manipule une fois son inter. Dès lors, elle réagit correctement... jusqu'au prochain lancement de SIOC. murrouge murrouge murrouge

Si j'éteins les inters radios, tout fonctionne normalement.

Je précise que les 2 radios sont programmées exactement de la même façon, la 2 étant un copier-coller de la 1, avec simplement changement des numéros d'entrée, d'afficheurs et d'offsets.

Si je lance la console, je vois qu'à son démarrage, SIOC lit correctement la position (0 ou 1) de l'inter radio 1, mais pas celle de l'inter radio 2, qu'il voit toujours OFF (à 0)... gratgrat

Je ne comprends pas pourquoi il récupère la position d'un inter et pas de l'autre. J'ai essayé en déclarant l'inter sur un autre switch, sur l'autre carte Master (on a 2) : même comportement.

Y a-t-il un moyen de forcer SIOC à lire la valeur de l'inter au démarrage (dans la variable 0, je suppose) ?

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 13:15
de ganlhi
J'ai une question qui va sans doute te paraitre idiote, toi qui a commencé bien avant moi cligneoeil

Tes cartes Master sont-elles alimentées ? Parce que j'ai découvert hier que des comportements bizarres (inter qui activait son entrée et celle de son voisin, mais pas l'inverse) que je prenais pour des court-circuits disparaissaient si j'alimentais la carte...

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 14:23
de steph737
Oui le mieux si tu veux avoir une initialisation correcte par rapport à l'état du cockpit est de scanner tout sous la variable 0.

( donc un script qui envoie l'état des inters concernés -voire tous- vers les offsets correspondant ). Ca ne sera effectué qu'une fois au lancement de sioc, sauf si tu rajoute un petit poussoir RAZ quelque part, lié à la var 0 ( je sais pas si ça peut avoir une utilité...)

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 15:27
de Kelt760
Oui, Ganhli, ma carte est alimentée...

Steph, comment scanner un inter qui agit sur une fonction qui n'existe pas dans FS maisseulement dans SIOC ?

Je ne vois pas comment lire la position de l'inter dans la variable 0, puisque cette variable ne peut pas manœuvrer physiquement l'inter...

Merci de tes lumières !

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 16:30
de steph737
Hum tu as raison me suis peut être avancé un peu vite là...

Et j'ai pas moyen de faire l'essai pour l'instant.

Var 0000, value 0 // initialisation
{
v1023=v0269
}

Var 0269, name COM2_sw, Link IOCARD_SW, Input 063, Type I

Var 1023, name COM2_on_off, Link FSUIPC_out, Offset $????, Length 2

Ca ne fonctionne pas ? C'est pourtant ce que tu préconise sur ton site au chapitre initialisation.

Sinon c'est mettre tout à zéro et démarrer en cold & dark...

Il me semblait que ça avait déjà été discuté sur l'ancien forum mais non....

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Lun 11 Mai 2009 17:57
de stevelep
plusieurs idées, mais j'ai pas testé

mettre dans la variable d'init V0000, la variable seule ou égale à elle même ou à un multiple

Var 0000, value 0 // initialisation
{
v1023
}

ou

Var 0000, value 0 // initialisation
{
v1023=v1023
}

ou

Var 0000, value 0 // initialisation
{
v1023=v1023 * 2
}


ou si ca va pas trouver un switch du même groupe IOCARD et lui envoyer une valeur
au démarrage. J'ai déjà vu que donner une valeur à une entrée force parfois
la lecture de toute le groupe ...

Sans garantie... tiens nous au courant

BOB

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Mar 12 Mai 2009 08:50
de Kelt760
Merci à tous les deux ! Je teste ça dès que j'ai un moment (mais sans doute pas avant demain...).

Je vous tiens au courant.

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Mar 12 Mai 2009 09:45
de steph737
stevelep a écrit:ou si ca va pas trouver un switch du même groupe IOCARD et lui envoyer une valeur
au démarrage. J'ai déjà vu que donner une valeur à une entrée force parfois
la lecture de toute le groupe ...


Y'a peut être de l'espoir !

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Mar 12 Mai 2009 14:47
de Kelt760
Test rapide : forcer la variable elle-même ne sert à rien... Appuyer sur un switch du même groupe force bien la lecture du groupe, et rallume donc la radio, mais forcer cette même valeur par programme ne fait rien murrouge

Pour l'instant, je suis bloqué, d'autant plus que la radio 1 s'est mise à faire pareil ???

Pourtant, l'initialisation d'une variable, c'est un problème basique, non ? Personne ne s'est heurté à ça ?

Re: Initialisation des inters au lancement de SIOC

MessagePosté: Mar 12 Mai 2009 15:36
de steph737
J'avoue que j'ai pas trop fait attention jusqu'à présent... pas assez avancé ! ( j'avais fait tourné un MCP mais c'est pratiquement que des poussoirs... et je tournais en version 3.0, 3.1 et peut être 3.2 au max !)

Le controlador lui détecte bien l'état initial des inters dès qu'on le lance, sioc ne le fait pas ?

Tes définitions de variables link_SW sont en tête de programme ? ( je sais pas si ça joue... )

As-tu essayé un "reset" sur la carte expansion ? ( une fois sioc lancé bien sur )

Faut qu'on trouve.... ça sert à tout le monde ça.

Réponse de "Kiek" ( alias Nico Kaan ) http://opencockpits.com/modules.php?op= ... 65&forum=8 ...pas très encourageant.

Y'a des bons en espagnol parmi nous ( je balance pas ceci-dit... nondoightblanc ) qui pourraient peut-être soulever le problème chez opencockpit, rien trouvé d'intéressant sur leur forum.