Page 1 sur 4

Pb d'entrées au redémarrage de SIOC ... solution possible !

MessagePosté: Dim 17 Jan 2010 11:38
de pierre01
Voici les 2 dossiers (au choix) à ouvrir pour réaliser la modification de la Master :

Fichier .pdf : http://nonolight.free.fr/pierre01/Modif ... master.rar

Fichier Word : http://nonolight.free.fr/pierre01/Pb_reload_SIOC.doc


Bonjour à tous,

J'avais dit il y a quelque temps que j'avais une idée pour resoudre le problème rencontré lors d'un reload de SIOC !!! gratgrat
Mon idée première s'étant avérée nulle (et donc non avenue), j'avais laissé tombé ...
Puis une autre idée à fait son chemin (avec bien du mal la pauvre), je viens de la tester et ... il semble bien que j'ai trouvé une solution chouettedoights

De plus, il suffit d'utiliser un seul bit de sortie d'une seule carte master (ou un BP sur le TdB) pour faire un reset total sur toutes les cartes.
En pratique j'utiliserai un bit par carte master (plus façile au niveau cablage).
Il faudra néammoins couper une piste et faire une petit montage à souder sur chaque carte master avec quelques composants (2 ou 3 résistances et un transistor) !
Pour que cela fonctionne il sera aussi nécéssaire de lancer une routine au reload de SIOC. Très simple :
- Mettre le bit choisit à 1 puis à 0 pendant une fraction de secondes !

Avant de faire ce montage, j'aimerais quand même savoir :
- Es-ce que les gens d'IOCARD sont au courant de ce Pb (je ne me rappelle plus ce qui à été dit !
- Si oui, ont-il l'intention de le résoudre ?

Car si ce Pb peut-être résolu par un nouveau PIC par Ex., inutile de faire ce montage bien sur cligneoeil

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Dim 17 Jan 2010 11:50
de steph737
Salut Pierre,

c'est bien la ténacité !

A ma connaissance le topic en question initié par Bob sur opencockpit est resté en l'état .... donc ça doit pas trop les inquiéter.
http://opencockpits.com/modules.php?op= ... 0&forum=13

Bien possible qu'une solution soft soit possible ( reprogrammer le PIC de l'USB expansion ) mais si tu as une solution assez simple, c'est intéressant et le délai me parait plus sur...

Le topic où on on en a longuement parlé : viewtopic.php?f=64&t=271&p=2700&hilit=initialisation#p2700

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Dim 17 Jan 2010 19:40
de pierre01
Merci Steph,
Mon idée prend forme et même se simplifie au point de n'avoir plus besoin que d'un fil par carte master sourirebis

Pour faire mon test, j'aurais besoin de savoir comment mettre une sortie à 1 puis à 0 à chaque reload de SIOC ?
Cette fonction serait lancée au début, une seule fois bien sur et de façon automatique.

Je suis nul en programmation SIOC, alors si je pouvait avoir les lignes de code à mettre dans SIOC, ce serait sympa merci affiche

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Dim 17 Jan 2010 21:26
de ganlhi
J'aurais tendance à dire dans la variable 0 (init), en mettant à la suite les deux instructions au début du code de la variable cligneoeil

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Dim 17 Jan 2010 23:57
de pierre01
Oui, j'ai essayé mais ça ne marche pas ...

Mon montage fonctionne très bien quand je fais cette action manuellement (je met le +5v directement sur l'entrée concernée).
J'ai testé que j'ai bien cablé la bonne sortie master et qu'elle passe bien à "1" (avec controlador).

Mon code :

Var 0000, name init, Value 0 // initialisation
Var 0012, name out_ini_mc, Link IOCARD_OUT, Output 113 // out re initialise MC
{
&fs_bat = &sw_batt
CALL &init_flaps // positionne les volets selon panneau
CALL &blink // lance le timer pour cligontement voyant
CALL &affich_Leds // affiche les leds
CALL &avionicsys
CALL &initialise_mc
}

Var 0013, name initialise_mc, Link SUBRUTINE //
{
&out_ini_mc = 0
&out_ini_mc = 1
&out_ini_mc = 0
}


....
....

Seules les lignes en gras sont concernées, les autres existentaient déjà.
Je n'ai pas d'erreur à la compilation !

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Lun 18 Jan 2010 00:09
de nonolight
Je suis nul en programmation SIOC, alors si je pouvait avoir les lignes de code à mettre dans SIOC, ce serait sympa

C'est pas mal pour un nul non ?!! grandsoleil
Sacré Pierre cligneoeil

A+

Nono

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Lun 18 Jan 2010 00:14
de pierre01
Ben non Bruno ... ça ne marche pas murrouge

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Lun 18 Jan 2010 00:22
de stevelep
C'est normal que ca marche pas, tu dois mettre le toggle de la variable dans la
variable 0000 pour qu'elle se lance au démarrage:

Var 0000, name init, Value 0 // initialisation
{
&out_ini_mc = TOGGLE 1
}

c'est tout.

Cette ligne de code change le bit 1 de la variable out_ini_mc en 1 puis 0

Voila

BOB

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Lun 18 Jan 2010 10:39
de guda
Il faut vraiment comprendre la philosophie (un peu spéciale) de SIOC :
on entre dans une variable que si son état à changé.
Dans ton cas, comme le dit Bob, il faut forcer une valeur à ta fonction out_ini_mc pour forcer Sioc a rentrer dedans.

On utilise alors la variable 000 qui a la particularité d'être lue au reload.

Re: Pb au reload de SIOC ... une solution possible !

MessagePosté: Lun 18 Jan 2010 11:52
de pierre01
Merci pour ces explications ...
Voilà comment j'ai modifié le code :

Var 0012, name out_ini_mc, Link IOCARD_OUT, Output 113 // out re initialise MC
Var 0000, name init, Value 0 // initialisation
{
&fs_bat = &sw_batt
CALL &init_flaps // positionne les volets selon panneau
CALL &blink // lance le timer pour cligontement voyant
CALL &affich_Leds // affiche les leds
CALL &avionicsys
&out_ini_mc = TOGGLE 1
}

Les lignes que j'ai ajoutées sont en gras, le reste (fait par Pierre) fonctionne !

Et ça fonctionne ... lolaffiche

Cette fois, mes radios se rallument à chaque reload de SIOC, je pense que ce doit-être valable pour tous les Pb de cet ordre
sur l'ensemble de la carte Master avec ma modif, qui se résume en fait à :
- Couper une piste.
- Connecter un fil sur une sortie libre au choix.
- Rajouter ces 2 lignes de code.
- J'ai quand même mis une résistance "pulldown" de 10k pour être sur de l'état bas en fonctionnement normal, mais je pense que ça marche sans !!! chouettedoights

Je vais faire un petit tuto pour expliquer tout ça en détails.