Nom des entrées-sorties et variables

Questions de programmation / Offset FSUIPC et IOCP

Nom des entrées-sorties et variables

Messagede Michael Blackbird » Dim 22 Jan 2012 22:05

Bonjour,

Maintenant que le câblage est pratiquement terminé et les entrées-sorties testés avec controlador.exe, j'attaque la programmation. Je fais donc mes premiers pas avec SIOC... J'ai lu pas mal de choses mais je n'ai encore rien trouvé sur les noms des variables.

Peut-on donner un nom de variable à une entrée ou une sortie pour faciliter la lecture du script ? Pour l'instant ce que j'ai trouvé était uniquement des liaisons dans le script avec "l'instruction" input ou output qui sont en plus associé à des variables nommées numériquement : var 0001....

Merci d'avance
Dernière édition par Michael Blackbird le Jeu 26 Jan 2012 02:18, édité 1 fois.
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)

Re: Nom des entrées-sorties et variables

Messagede nuno14 » Dim 22 Jan 2012 23:24

Oui, tu peut le faire dans la case " Name " chouettedoights. Attention le nombre de caractère est limité
Et dans la case " description " tu peux mettre un commantaire

A+ Nuno
Image
Avatar de l’utilisateur
nuno14
 
Messages: 175
Inscription: 14/09/10
Localisation: Près de Lisieux, Normandie

Re: Nom des entrées-sorties et variables

Messagede chtipilot » Dim 22 Jan 2012 23:26

Oui il est possible de nommé les variables comme ceci par exemple :
Code: Tout sélectionner
Var 0100, name ADF_Active     // 888
Var 0165, name FSO_COM_Select, Link FSUIPC_OUT, Offset $3122, Length 1     // FS Select: 2^7=COM1 2^6=COM2
Chtipilot Image

Image
Avatar de l’utilisateur
chtipilot
 
Messages: 371
Inscription: 2/04/11
Localisation: Lille (Nord)

Re: Nom des entrées-sorties et variables

Messagede stevelep » Dim 22 Jan 2012 23:31

oui bien-sûr, il faut le faire, l'utilisation du n° est obsolète, bien qu'il fasse encore
numéroter les variables, on emploie toujours le nom, c'est beaucoup plus facile pour
s'y retrouver.

On utilise la commande name dans la déclaration de variable:

exemple:

Var 0001, name sw_navlight, Link IOCARD_SW, Input 12, Type P
Var 0002, name led_taxi, Link IOCARD_OUT, Output 123
Var 0003, name dis_altitude, Link IOCARD_DISPLAY, Digit 3, Numbers 4
Var 0004, name enc_xpd1000, Link IOCARD_ENCODER, Input 24, Aceleration 2, Type 2
Var 0005, name analog, Link IOCARD_ANALOGIC, Input 3, PosL 1, PosC 50, PosR 100
Var 7620, name fs_loiltemp, Link FSUIPC_IN, Offset $08b8, Length 2


C'est bien de préciser le type de variable avec un sw_strobe , led_strobe, fs_strobe sinon
plusieurs variables auront le même nom.
On est limité au nombre de caractères (max 16 je crois ?)

Dans le code précède la variable avec &

Var 1103, name sw_batt, Link IOCARD_SW, Input 24
{
&fs_batt = &sw_batt
CALL &avionicsys
}


Voila

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

Re: Nom des entrées-sorties et variables

Messagede Michael Blackbird » Lun 23 Jan 2012 10:50

Compris. Merci à tous !!

Du coup une autre question. Dans l'exemple de Bob, comment est déclarée la variable fs_batt. Est-ce du même style mais coté FSUIPC, comme l'est sw_batt du coté IOCARDS ?

En tous cas c'est ce que je crois comprendre avec la ligne Var 7620, name fs_loiltemp, Link FSUIPC_IN, Offset $08b8, Length 2 .


A+
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)

Re: Nom des entrées-sorties et variables

Messagede stevelep » Lun 23 Jan 2012 13:52

Oui voila le code du switch batterie qui envoie son état à FS vis FSUIPC
Le fait d'actionner le switch entraine l'execution du code qui est sous la variable du switch
qui donne la valeur du switch à la variable FSUIPC correspondante qui enclenche la batterie dans FS.


Var 1103, name sw_batt, Link IOCARD_SW, Input 24
{
&fs_batt = &sw_batt
}
Var 7310, name fs_batt, Link FSUIPC_OUT, Offset $3102, Length 1
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: Nom des entrées-sorties et variables

Messagede Michael Blackbird » Lun 23 Jan 2012 14:31

J'avais une idée du fonctionnement mais le lire sur un exemple concret m'aide beaucoup. Merci pour votre aide à tous !!!

merci affiche
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)

Re: Nom des entrées-sorties et variables

Messagede pierre01 » Lun 23 Jan 2012 18:19

Bonjour,

BOB, est-il possible de mettre une variable (déclarée par ailleurs) à la place d'un n° d'entrée ou sortie ?
Par Ex, à la place de :
Var 1103, name sw_batt, Link IOCARD_SW, Input 24

écrire :
Var 1103, name sw_batt, Link IOCARD_SW, &IN_bat
Var IN_bat, link IOCARD_SW, input 178

Je n'ai pas réussit à le faire (erreur de compilation) !
A+
Pierre.
Avatar de l’utilisateur
pierre01
 
Messages: 1774
Inscription: 19/04/09
Localisation: Vers Vesoul (Haute Saône)

Re: Nom des entrées-sorties et variables

Messagede Michael Blackbird » Lun 23 Jan 2012 19:58

Deux autres questions me viennent encore... Je pense que la première réponse sera non, mais des fois qu'il y en est un qui ait trouvé une astuce.

Est-il possible de passer par des noms pour les numéros d'entrée ou sortie ? Une sorte de directive de compilation DEFINE pour des constantes. Utile pour regrouper ces liens dans un fichier ou dans un coin du code pour pouvoir y effectuer les modifications de câblage sans avoir à tout rechercher.

Avez-vous une astuce (ou peut-être une règle) pour numéroter les variables var 00xx de manière a mieux vous y retrouver, intercaler des fonctions.... J'ai bien vu dans les exemples : 000xx variables IOCARDS 7xxxx pour FS.....
Michel
________________________________________________
http://themagicofflight.over-blog.com/
http://www.airsimulation.fr/
Avatar de l’utilisateur
Michael Blackbird
 
Messages: 129
Inscription: 8/08/11
Localisation: Pertuis (84)

Re: Nom des entrées-sorties et variables

Messagede stevelep » Lun 23 Jan 2012 23:22

Var 1103, name sw_batt, Link IOCARD_SW, &IN_bat
Var IN_bat, link IOCARD_SW, input 178


@pierre: non on peux pas, mais quel est l'intérêt ?
Si tu veux une variable copie de la première tu fais comme ça:

Var 1103, name sw_batt, Link IOCARD_SW, input 178
{
&IN_bat = &sw_bat
}
Var 1104, name IN_bat

@Michael: Non c'est un langage simple, il n'y a pas toutes les possibilités du C++
Sinon on recâble pas souvent des entrées ... Si tu travaille en texte (ce que je conseille vivement)
tu peux facilement la recherche avec l'outil "rechercher"

Tu doit classer tes variables, de 0000 à 9999, tu as de la place.
Il y a différentes possibilités:
- par type (1000 entrées, 2000 sortie 3000 FSUIPC ... etc)
- par système (1000 radios, 2000 gauges, 3000 autopilot ...etc)

à toi de voir

Voila ma table des matières:


// variable range
//
// 0000-0999
//
// 1000-1999 switch inputs
//
//
// 1000 TBD
//
// 1000 Pressure/Annunciator
// 1050 Fire-Annunciator-Gears
// 1100 Switch-Flaps
// 1150 A/P A/T
//
//
// 1200 Radiostack
//
// 1200 Radios
// 1300 GPS
// 1350 XPNDR
//
//
// 1400 Pedestal
//
// 1400 trims
// 1500 fuel
// 1550 tanks
//
//
// 1600 Overhead
//
// 1600 LU
// 1650 LD
// 1700 RU
// 1750 RD
//
// 2000 RADIOS
//
// 2000 Icom
// 2100 COM 1
// 2200 COM 2
// 2300 NAV 1
// 2400 NAV 2
// 2500 LCD
// 2600 GPS
// 2700 XPD
// 2800 ADF
// 2860 EFIS
// 2900 display & leds
//
// 3000 AUTOPILOT
//
// 3500 SOUNDS

// 4000 GAUGES
//
// 4000 Servos
//
// 5000 OTHER SYSTEM
//
// 5100 Throttle
// 5200 Brakes
//
// 5500 Starter
// 5600 Pressure
//
// 6000-6999 SUBROUTINE
//
// 6100 light systems
//
// 7000-7999 FSUIPC IN/OUT
//
//
//
// 8000-8499 LED/lamps outputs
//
// 8000 Annunciator
// 8100 TDB
// 8200 Radiostack
// 8300 Pedestal
// 8400 Overhead
//
// 8500 USB-Relay
//
//
// 8900 DISPLAYS
//
// 9100 TRIGGERS
// 9200 BLINK
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Suivante

Retourner vers Programmation Sioc





Qui est en ligne

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