Economiser un input

Questions de programmation / Offset FSUIPC et IOCP

Economiser un input

Messagede algue14 » Lun 27 Fév 2012 19:44

Bonjour

Je n'ai pas encore commencé à programmer avec SIOC alors indulgence ecroulerire

Voilà,je suis en train de concevoir mon EFIS et j'ai un problème pour finaliser mon circuit imprimé.
il y a 37 inputs donc 1 de trop pour 4 groupes de 9 et ça complique très sérieusement le câblage tapebaton
Alors je me suis dit qu'il est peut-être possible d’économiser cette entrée sur le ND mode, en partant du principe
que s'il n'est pas dans une des 3 positions il est forcément dans la quatrième.
Voici la partie du script OGS que je pense utiliser

//------------------------------- ND MODE ------------------------------------

Var 6208, Link IOCARD_SW, Input 18, name swCNDMAP
{
IF &swCNDMAP = 1
{
&CPTflags = CLEARBIT 8
&CPTflags = CLEARBIT 9
}
}
Var 6209, Link IOCARD_SW, Input 24, name swCNDVOR
{
IF &swCNDVOR = 1
{
&CPTflags = SETBIT 8
&CPTflags = CLEARBIT 9
}
}
Var 6210, Link IOCARD_SW, Input 23, name swCNDAPP
{
IF &swCNDAPP = 1
{
&CPTflags = CLEARBIT 8
&CPTflags = SETBIT 9
}
}
Var 6211, Link IOCARD_SW, Input 25, name swCNDPLN
{
IF &swCNDAPP = 1
{
&CPTflags = SETBIT 8
&CPTflags = SETBIT 9
}
}




est-il réaliste de supprimer VAR 6208 de cet exemple et de modifier le script des VAR 6209,6210 et 6211 de façon suivante
( en laissant " en l'air" le contact qui va bien du commutateur rotatif )


Var 6209, Link IOCARD_SW, Input 24, name swCNDVOR
{
IF &swCNDVOR = 1
{
&CPTflags = SETBIT 8
&CPTflags = CLEARBIT 9
}

ELSE
{
&CPTflags = CLEARBIT 8
&CPTflags = CLEARBIT 9

}
}

Vu de ma fenêtre ça devrait marcher rirebleu mais SIOC est encore bien mystérieux pour moi!

serait-il utile ou nécessaire de conserver VAR 6208 en "NOT LINKED"
et de forcer à 0, au départ, les bits 8 et 9 de &CPTflags

A+
Alain
A+

Alain
Avatar de l’utilisateur
algue14
 
Messages: 1626
Inscription: 20/04/09
Localisation: Caen ; Normandie

Re: Economiser un input

Messagede algue14 » Mer 29 Fév 2012 20:08

Personne ?? gratgrat gratgrat

Bon j'avance doucement sur la question.
Je pense que je vais utiliser l'encodage binaire en utilisant le montage suivant, du coup ça libère 2 inputs

Image


Est-ce que le script suivant est correct pour cette modif ?


//------------------------------- ND MODE ------------------------------------

Var 6208, Link IOCARD_SW, Input 18, name swCND1
{
IF &swCND1 = 1
{
&CPTflags = SETBIT 8
}
ELSE
{
&CPTflags = CLEARBIT 8
}
}
Var 6209, Link IOCARD_SW, Input 24, name swCND2
{
IF &swCND2 = 1
{
&CPTflags = SETBIT 9
}
ELSE
{
&CPTflags = CLEARBIT 9
}
}


ça fume dans la tête ecroulerire ecroulerire

A+
Alain
A+

Alain
Avatar de l’utilisateur
algue14
 
Messages: 1626
Inscription: 20/04/09
Localisation: Caen ; Normandie

Re: Economiser un input

Messagede tabar57 » Mer 29 Fév 2012 23:32

Salut Alain,

Puisque personne y te répond et ben je me risque...
Cette façon de faire me parait correcte et puisque tu avoue commencer la prog SIOC je te propose juste d'indenter tes parties de programme et de me mettre ton name de variable juste après le num, tu verras c'est plus lisible à terme, du style

Var 6208, name swCND1, Link IOCARD_SW, Input 18
{
IF &swCND2 = 1
{
&CPTflags = SETBIT 8
}
ELSE
{
&CPTflags = CLEARBIT 8
}
}
Var 6209, name swCND2, Link IOCARD_SW, Input 24
{
IF &swCND2 = 1
{
&CPTflags = SETBIT 9
}
ELSE
{
&CPTflags = CLEARBIT 9
}
}

Pardonnes la remarque qui vient d'un vieux c... d'informaticien maniaque

Cordialement

Bernard
Mon blog de construction : http://tabar57.blog4ever.com
Hémicockpit de Beechcraft B200 ( de FlightOne ) P3DV4.5 et 2 PC en réseau W7 64 bits et W10, cartes OC et FDbus, vibreur et yoke rdf de BFFsimulation, météo réelle asp4
Avatar de l’utilisateur
tabar57
 
Messages: 3651
Inscription: 29/12/10
Localisation: Dans ma cabine en Lorraine

Re: Economiser un input

Messagede remont » Jeu 1 Mar 2012 11:32

Bonjour,

Oui la méthode est bonne.
Deux manières d'économiser les inputs : c'est l'encodage binaire avec les diodes soudées. C'est ce que j'ai fait de mon côté.
Autre moyen de gagner deux inputs sur un rotatifs :
- Position 1 pas de code
- Position 2 code pour ON = position 2 et
code pour OFF avec position 3 non active = position 1 (un petit delay de qq micro secondes) peut être utile.
- On peut faire pareil sur les dernières positions de l'encodeur. Donc On économise les deux inputs extrêmes.

Renaud.
Avatar de l’utilisateur
remont
 
Messages: 405
Inscription: 3/02/10
Localisation: France 95

Re: Economiser un input

Messagede algue14 » Jeu 1 Mar 2012 20:14

Merci à vous 2 pour vos réponses
@ Bernard
tabar57 a écrit: je te propose juste d'indenter tes parties de programme et de me mettre ton name de variable juste après le num, tu verras c'est plus lisible à terme,


OK tu as raison et je garde ce conseil au chaud ;en fait c'est surtout sur le principe que j'étais inquiet;Ce que j'ai mis est un copier-coller du script de base fourni avec OGS et que j'ai essayé d'adapter a mon cas.

Maintenant que je suis rassuré grandsoleil je vais pouvoir finaliser mon circuit imprimé.

A+

Alain
A+

Alain
Avatar de l’utilisateur
algue14
 
Messages: 1626
Inscription: 20/04/09
Localisation: Caen ; Normandie


Retourner vers Programmation Sioc





Qui est en ligne

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