Nouvelle catégorie ouverte pour les débutants Sioc

Nous répertorions ici, divers programmes pouvant vous aider dans vos premiers pas et vos étapes futures

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede taz83 » Mar 21 Sep 2010 18:51

+1affiche
Avatar de l’utilisateur
taz83
 
Messages: 484
Inscription: 20/04/09
Localisation: Sainte Maxime 83120

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede jéjé07 » Jeu 23 Sep 2010 19:53

Effectivement c'est une bonne idée nono, mais il serais bien que tous le monde participe et non que les débutants car je suis le seul a avoir mis des scripts et je ne pense pas etre le seul a en avoir.

Cela ne prends que quelques minutes donc messieurs prenez le temps d'aider des personnes qui ce lancent dans le sioc.
jéjé07
 

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede ganlhi » Jeu 23 Sep 2010 20:12

Je n'ai pas encore eu le temps de m'en occuper, mais dès que je peux, je compte mettre plusieurs choses, notamment les scripts de gestion des radios COM, NAV, ADF.
Mais il me faut un peu de temps car je dois extraire ça de mon code complet.
Guilhem

Image
Avatar de l’utilisateur
ganlhi
 
Messages: 728
Inscription: 19/04/09
Localisation: Toulouse

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede nonolight » Jeu 23 Sep 2010 22:36

Pas de problème Guilhem, je veille au grain ! sourirebis

Nono
Image Image
Avatar de l’utilisateur
nonolight
 
Messages: 4287
Inscription: 21/03/09

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede yeb76 » Ven 24 Sep 2010 20:50

Bonsoir .
Oui , excellente idée .Il faut avouer que lorsque j'ai commencé a survoler les sites dédiés aux cockpits maisons , j'ai été effaré par l'avalanche de termes comme Sioc , open cockpit , MCP , MFD etc etc . gratgrat
Bon, il faut pas non plus reapprendre l aphabet , mais je pense que ce serait bien de loger quelque part ( moins que je n'ai loupé quelque chose ) , un glossaire de tous les termes rencontrés fréquemment dans le forum ,non ?
Quand a la programmation, c est une autre paire de manches ( a balai ... ecroulerire ).
byeaffiche
Marc
yeb76
 

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede JeeHell » Ven 24 Sep 2010 22:22

Tiens je remets ici une routine SIOC qui permet d'utiliser les offsets FSUIPC en float-32 (il y en a quelques uns comme le FF il me semble).
Code: Tout sélectionner
    Var 0001, name Float32, Link SUBRUTINE
    {
      L0 = TESTBIT &Float32 ,31
      IF L0 = 1
      {
        &Signe = -1   
      }
      ELSE
      {
        &Signe = 1   
      }
      &exp = -127   
      L0 = TESTBIT &Float32 ,23
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,24
      L0 = 2 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,25
      L0 = 4 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,26
      L0 = 8 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,27
      L0 = 16 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,28
      L0 = 32 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,29
      L0 = 64 * L0
      &exp = L0 + &exp
      L0 = TESTBIT &Float32 ,30
      L0 = 128 * L0
      &exp = L0 + &exp
      &Mantisse = 0   
      L0 = TESTBIT &Float32 ,22
      L0 = L0 / 2
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,21
      L0 = L0 / 4
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,20
      L0 = L0 / 8
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,19
      L0 = L0 / 16
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,18
      L0 = L0 / 32
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,17
      L0 = L0 / 64
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,16
      L0 = L0 / 128
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,15
      L0 = L0 / 256
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,14
      L0 = L0 / 512
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,13
      L0 = L0 / 1024
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,12
      L0 = L0 / 2048
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,11
      L0 = L0 / 4096
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,10
      L0 = L0 / 8192
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,9
      L0 = L0 / 16384
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,8
      L0 = L0 / 32768
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,7
      L0 = L0 / 65536
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,6
      L0 = L0 / 131072
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,5
      L0 = L0 / 262144
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,4
      L0 = L0 / 524288
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,3
      L0 = L0 / 1048576
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,2
      L0 = L0 / 2097152
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,1
      L0 = L0 / 4194304
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = TESTBIT &Float32 ,0
      L0 = L0 / 8388608
      L0 = L0 * 10000000
      &Mantisse = L0 + &Mantisse
      L0 = &Mantisse / 10000000
      L0 = L0 + 1
      L1 = POWER 2 ,&exp
      L2 = &Signe * L0
      L2 = L2 * L1
      &Resultat = TRUNC L2
    }

    Var 0002, name Signe

    Var 0003, name exp

    Var 0004, name Mantisse

    Var 0006, name Resultat

    Var 0007, name eng1fuel, Link FSUIPC_INOUT, Offset $090C, Length 4
    {
      CALL &Float32, &eng1fuel
    }



Lorsque l'on appelle la routine avec la valeur l'offset (déclaré comme un entier signé), on obtient dans la variable &resultat un arrondi au centième.
JeeHell
 
Messages: 1557
Inscription: 18/05/09

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede jéjé07 » Jeu 30 Sep 2010 06:02

Bonjour,

Est ce que quelqu'un pourrais mettre en ligne un script simple comprenant l'ias, l'hdg , la vs et l'altitude pour que justement le débutant puisse commencer avec une base, jepense que cela serais pas mal, car en regardant le script de chez OC,il mette le script complet mcp et il est vrai que c'est pas trés clair quand on commence.

merci d'avance
jéjé07
 

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede ijack30 » Jeu 24 Mar 2011 19:27

Bonjour à vous

je débute en SIOC, et je me pose une question toute bête pour vous les pros, mais qui pour moi reste encore obscure
Lorsque dans un code quelconque, on met:
Length avec le chiffre, 1 2.. et j'en passe.

On va-t-on chercher ce chiffre ? Je pensai que c'était du binaire indiquant les possibilités.
Quand le résultat et ON (1) ou OFF (0), c'est Length 1
Si c'est Off (0) Left (1) Right (2) Both (3) (je sais pas j'invente) alors c'est Length 2 (2 en binaire donne jusqu'à 4 possibilités )
Etc...

ais-je bien compris, ou je suis complétement à côté de la plaque ?!

Merci
ijack30
 
Messages: 78
Inscription: 2/02/11
Localisation: Québec

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede JeeHell » Jeu 24 Mar 2011 20:22

Salut,

ce n'est pas tout à fait ça cligneoeil
La longueur en question ici c'est en fait une taille d'une variable en mémoire (jusque là OK). Ici je suppose que tu parles d'offset FSUIPC.
Un offset est en fait l'adresse en mémoire d'une variable. Pour simplifier, FSUIPC crée un fichier d'une taille de l'ordre de 28ko. Ce fichier est une succession d'octets mis bout à bout. L'offset donnera simplement le n° du premier octet qui nous intéresse. Donc $24CE est une valeur hexadécimale qui correspond au 9422ème octet du fichier.

Sauf que les variables de FSUIPC peuvent avoir plusieurs tailles en octets, en fonction des valeurs mini et maxi que peut prendre la variable. Les longueurs varient entre 1 octet et 8 octets.
Donc avoir simplement l'offset ne nous permet de lire correctement la valeur que l'on veut obtenir (car si on lit plus ou moins d'octets que nécessaire, on aura une valeur erronée). Il faut donc fournir la longueur en octets de la variable.

Tu l'as compris, selon ce qu'on met en mémoire, on aura besoin de plus ou moins de place. Théoriquement, pour du on-off (0-1) ou même des valeurs variant de 0 à 256, un seul octet suffirait (octet=8 bits=2 exposant 8 valeurs = 256). Sauf que les processeurs modernes sont dimensionnés pour des chiffres à 32 et 64 bits (pour les CPUs relativement récent), et du coup il est généralement aussi (voire plus) long en temps de lire une variable de 1 ou 2 octets qu'une variable à 4 octets. Donc l'attribution des tailles de variables de FSUIPC ne répond pas à cette logique, mais plus à la structure originelle de la mémoire de FSUIPC au temps de FS98.

Voilà, j'espère ne pas t'avoir trop troublé cligneoeil
JeeHell
 
Messages: 1557
Inscription: 18/05/09

Re: Nouvelle catégorie ouverte pour les débutants Sioc

Messagede ijack30 » Jeu 24 Mar 2011 20:53

JeeHell a écrit:Voilà, j'espère ne pas t'avoir trop troublé cligneoeil



peurefrayé etonneyeux murrouge

Je dois avouer que si !
Je pensais avoir vaguement compris, là, j'ai compris que j'avais rien compris gratgrat

C'est grave si je mets 4 au lieu de 1 ou 2 ?
ijack30
 
Messages: 78
Inscription: 2/02/11
Localisation: Québec

PrécédenteSuivante

Retourner vers Programmes testés et prêts à l'emploi





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité