#1 [↑][↓] 14-03-2015 13:12:53

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

[P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

bonjour a tous

c'est encore moi toujours dans la catégorie sioc pour debutant !

aujourdhui je vais vous montrer les fonctions setbit et clearbit

alors ca sert a quoi ? a plein de choses ..... certaines variables peuvent se commander avec plusieurs bits comme la variable des feux !

Dans cette meme variables on peut commander les feux de nav taxi beacon ect ....

jettons un ptit coup d'oeil au sdk !

siocse10.jpg

ok ici l'offset $0D0C de longueur 2 permet de controller tout ca en fonctions des bits donnés dans la description (bit 1 =Nav ;bit 2 = beacon ect....)

il suffit donc de programmer tout ca maintenant c'est très simple ...

1- declarer la variable des feux de lavion

et c'est repartit je reprend un code vierge et EDIT NEWVAR

siocse11.jpg
siocse12.jpg

ok rien de bien compliqué on a deja vu ca avant ....

ensuite je vais declarer 2 interrupteurs pour l'exemple sur les entrées 5 et 6 de la master pour commander les strobes et les nav

2- declarer les interrupteurs

toujours comme avant EDIT NEWVAR

siocse13.jpg
siocse14.jpg
siocse15.jpg

tadaaaa!! bon c'est pas encore fini on continu ....

maintenant que j'ai declaré mes impots .... nan c'est pas ca ....
maintenant que j'ai declaré ma variable des feux et mes deux inters je vais maintenant commander tout ca !

donc si je veux allumer les feux de nav je dois commander le bit 1 et pour les feux strobe le bit 16

3- faire appel aux fonctions setbit clearbit

ca veux dire quoi ? setbit ca veux dire je veux que tu change le bit numero truc ; et clearbit ca veux dire je veux plus de ton bit reviens comme t'etais avant ....

en image c'est toujours plus clair CLIC DROIT SUR INTERSTROBE et NEWCOMMAND

siocse16.jpg
siocse17.jpg

RECLIC DROIT SUR LA CONDITION IF ET NEW COMMAND

siocse18.jpg
siocse19.jpg

ok donc jusque la si je bouge mon inter en position fermé les strobes vont s'allumer

maintenant le contraire pour eteindre CLIC DROIT SUR L INTERSTROBE ET NEW COMMAND

siocse20.jpg

condition ELSE pour dire AUCONTRAIRE donc si mon inter est ouvert

CLIC DROIT SUR LA CONDITION ELSE ET NEWCOMMAND

siocse21.jpg
siocse22.jpg

ET VOILA

ducoup je bouge l'inter jappel le bit 16 de la commande des feux mes strobes s'allument et si c'est le contraire mon inter est ouvert je dit a la commande feux que je n'ai plus besoin du bit 16 mes strobes sont eteints

maintenant pareil pour les feux de nav

siocse23.jpg

ET CEST TOUT ...

les fonctions setbit et clearbit peuvent etre utiles pour plein d'autres chose comme simuler des touches de claviers ou certaines fonctions disponible dans fsuipc


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#2 [↑][↓] 15-03-2015 18:57:29

willswings
Membre
Lieu : LFMU(34)
Inscription : 25-07-2013
Renommée :   18 
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

Merci pour le temps que tu prends , c'est super .  eusa_clap
t'as un super rythme solv_gif , je vais finir par en rater !
laugh

Hors ligne

#3 [↑][↓] 15-03-2015 19:37:37

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

ca m'occupe entre deux vols solv_gif

Dernière modification par mameloose (15-03-2015 19:38:54)


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#4 [↑][↓] 15-03-2015 22:16:24

willswings
Membre
Lieu : LFMU(34)
Inscription : 25-07-2013
Renommée :   18 
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

laugh

Hors ligne

#5 [↑][↓] 21-03-2015 19:05:28

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

Bonjour je cherche à additionner 3 offsets avec sioc .

il s'agit de $OB98 $OB78 $0B80

les 3 donnent la qté ( lbs )de carburant droit centre gauche .

mais je voudrai le chiffre total en lBS
et j'arrive pas à additionner avec sioc

Quelqu'un peut m'aider ?

merci

Hors ligne

#6 [↑][↓] 21-03-2015 19:44:23

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

salut
si tu cherche a avoir loffset de quantité total de carb c'est la $1264
autrement essaye avec des subroutines et tu appel les 3 offset en les aditionnant avec les variable interne comme LO et L1

tu peux preciser l'utilisation ?


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#7 [↑][↓] 22-03-2015 12:50:40

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

en faites je veux allumer une led une fois qu'il reste 10% de fuel total.

mais je crois que je vais essayé avec $1264

Je te tiens informé

cdl

Hors ligne

#8 [↑][↓] 27-03-2015 13:42:24

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

cadeau : http://www.pilote-virtuel.com/viewtopic.php?id=68695


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#9 [↑][↓] 28-03-2015 17:36:04

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

Merci mameloose,

çà y est çà fonctionne .

mais j'ai une autre question :=)))

voilà j'allume des leds quans il y a un défaut :

exemple : OB6A ou OB6B ou 08D8 ....

jusque là pas de problème.

Maintenant , je voudrai allumer ma led Master Caution quand un de ces défaut est active .

J'ai voulue rajouter un assign pour cette led à chaque défaut .
Mais le problème c'est quand un des défaut est OK ma led s'éteint alors que les autres défaut sont encore actifs

je ne sais pas comment faire .

voilà une partie de mon script mais j'ai enlevé ce que j'avais fait pour la led  ( info VAR0750 )


Var 0729, name LED_DOORS, Link IOCARD_OUT, Output 38     // LED DOORS ALARME PORTE OUVERTE

Var 0022, name DOORS_FSX, Link FSUIPC_INOUT, Offset $3367, Length 4     // PORTE OUVERTE DS FSX
{
  IF &DOORS_FSX >= 1
  {
    &LED_DOORS = 1   
  }
  ELSE
  {
    IF &DOORS_FSX = 0
    {
      &LED_DOORS = 0   
    }
  }
}

Var 0707, name LED_FIREWARM, Link IOCARD_OUT, Output 12     // LED FIRE WARM MIP

Var 0023, name FIREWARN_MOTEU, Link FSUIPC_INOUT, Offset $3366, Length 4     // ALARME FEU MOTEUR 1 OU 2
{
  IF &FIREWARN_MOTEU = 13
  {
    &LED_FIREWARM = 1   
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &FIREWARN_MOTEU = 0
    {
      &LED_FIREWARM = 0   
      &LED_DEFAUT_MOT = 0   
    }
    IF &FIREWARN_MOTEU = 15
    {
      &LED_FIREWARM = 1   
      &LED_DEFAUT_MOT = 1   
    }
  }
}

Var 0024, name FIREWARN_APU, Link FSUIPC_INOUT, Offset $0B53, Length 1     // ALARME APU EN FEU
{
  IF &FIREWARN_APU = 1
  {
    &LED_FIREWARM = 1   
    &LED_DEFAUT_APU = 1   
  }
  ELSE
  {
    IF &FIREWARN_APU = 0
    {
      &LED_FIREWARM = 0   
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0709, name LED_DEFAU_ELEC, Link IOCARD_OUT, Output 22     // LED DEFAUT ELECTRIQUE

Var 0025, name DEFAUT_ELEC, Link FSUIPC_INOUT, Offset $0B6A, Length 4     // DEFAUT ELECTRIQUE FSX
{
  IF &DEFAUT_ELEC = 1
  {
    &LED_DEFAU_ELEC = 1   
  }
  ELSE
  {
    IF &DEFAUT_ELEC = 0
    {
      &LED_DEFAU_ELEC = 0   
    }
  }
}

Var 0710, name LED_DEFAUTFUEL, Link IOCARD_OUT, Output 24     // LED DEFAUT QTY BASSE FUEL

Var 0027, name QTY_FUEL_TOTAL, Link FSUIPC_INOUT, Offset $1264, Length 4     // QTY FUEL TOTAL
{
  IF &QTY_FUEL_TOTAL < 687
  {
    &LED_DEFAUTFUEL = 1   
  }
  ELSE
  {
    IF &QTY_FUEL_TOTAL >= 687
    {
      &LED_DEFAUTFUEL = 0   
    }
  }
}

Var 0712, name LED_DEFAUT_APU, Link IOCARD_OUT, Output 26     // LED DEFAUT APU

Var 0029, name APU_FSX, Link FSUIPC_INOUT, Offset $0B51, Length 1     // APU ON/OFF FSX
{
  IF &APU_FSX = 1
  {
    &LED_DEFAUT_APU = 0   
  }
  ELSE
  {
    IF &APU_FSX = 0
    {
      &LED_DEFAUT_APU = 1   
    }
  }
}

Var 0714, name LED_DEFAUT_MOT, Link IOCARD_OUT, Output 32     // LED DEFAUT MOTEUR 1 ET/OU 2

Var 0030, name DEFAUT_MOT_FSX, Link FSUIPC_INOUT, Offset $0B6B, Length 4     // DEFAUT MOTEUR FSX
{
  IF &DEFAUT_MOT_FSX = 0
  {
    &LED_DEFAUT_MOT = 0   
  }
  IF &DEFAUT_MOT_FSX >= 1
  {
    &LED_DEFAUT_MOT = 1   
  }
}

Var 0031, name ANTIICE_FSX, Link FSUIPC_INOUT, Offset $029C, Length 4     // ANTI ICE FSX
{
  IF &ANTIICE_FSX = 1
  {
    &LED_ANTIICE = 0   
  }
  ELSE
  {
    IF &ANTIICE_FSX = 0
    {
      &LED_ANTIICE = 1   
    }
  }
}

Var 0717, name LED_ANTIICE, Link IOCARD_OUT, Output 34     // LED ANTI ICE

Var 0032, name PRES_HYDROLY_G, Link FSUIPC_INOUT, Offset $08D8, Length 4     // PRESSION HYDROLYQUE GAUCHE
{
  CALL &HYDOLIQUE_PRES
}

Var 0033, name PRES_HYDROLY_D, Link FSUIPC_INOUT, Offset $0970, Length 4     // PRESION HYDROLIQUE DROIT
{
  CALL &HYDOLIQUE_PRES
}

Var 5002, name HYDOLIQUE_PRES, Link SUBRUTINE     // PRESSION HYDROLIQUE
{
  L0 = &PRES_HYDROLY_D   
  L1 = &PRES_HYDROLY_G   
  L2 = L0 + L1
  &HYDOLIQUE_PRES = L2   
  IF &HYDOLIQUE_PRES < 5000
  {
    &LED_PRESS_HYDR = 1   
  }
  ELSE
  {
    IF &HYDOLIQUE_PRES >= 5000
    {
      &LED_PRESS_HYDR = 0   
    }
  }
  IF &MOTEUR_D = 0
  {
    IF &MOTEUR_G = 0
    {
      &LED_PRESS_HYDR = 1   
    }
  }
}

Var 0750, name LED_MASTERCAUT, Link IOCARD_OUT, Output 13     // LED MASTER CAUTION DEFAUT

Var 0719, name LED_PRESS_HYDR, Link IOCARD_OUT, Output 41     // LED DEFAUT PRESSION HYROLIQUE

Var 0034, name MOTEUR_G, Link FSUIPC_INOUT, Offset $092C, Length 2     // MOTEUR GAUCHE ON OFF
{
  IF &MOTEUR_G = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_G = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0035, name MOTEUR_D, Link FSUIPC_INOUT, Offset $0894, Length 2     // MOTEUR DROIT ON OFF
{
  IF &MOTEUR_D = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_D = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}


Merci d'avance

Hors ligne

#10 [↑][↓] 28-03-2015 18:08:49

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

j'ai modifier ton code avec un exemple pour les doors et lanti ice tu peux continuer la subroutine comme je l'ai fais et noubli pas les call dans chaque variable fsuipc

// *****************************************************************************
// * Config_SIOC ver 3.5   -     By Manolo Vélez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : test.txt
// * Date : 28/03/2015



Var 0729, name LED_DOORS, Link IOCARD_OUT, Output 38     // LED DOORS ALARME PORTE OUVERTE

Var 0022, name DOORS_FSX, Link FSUIPC_INOUT, Offset $3367, Length 4     // PORTE OUVERTE DS FSX
{
  IF &DOORS_FSX >= 1
  {
    &LED_DOORS = 1   
  }
  ELSE
  {
    IF &DOORS_FSX = 0
    {
      &LED_DOORS = 0   
    }
  }
  CALL &MASTERCOMMAND
}

Var 0707, name LED_FIREWARM, Link IOCARD_OUT, Output 12     // LED FIRE WARM MIP

Var 0023, name FIREWARN_MOTEU, Link FSUIPC_INOUT, Offset $3366, Length 4     // ALARME FEU MOTEUR 1 OU 2
{
  IF &FIREWARN_MOTEU = 13
  {
    &LED_FIREWARM = 1   
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &FIREWARN_MOTEU = 0
    {
      &LED_FIREWARM = 0   
      &LED_DEFAUT_MOT = 0   
    }
    IF &FIREWARN_MOTEU = 15
    {
      &LED_FIREWARM = 1   
      &LED_DEFAUT_MOT = 1   
    }
  }
}

Var 0024, name FIREWARN_APU, Link FSUIPC_INOUT, Offset $0B53, Length 1     // ALARME APU EN FEU
{
  IF &FIREWARN_APU = 1
  {
    &LED_FIREWARM = 1   
    &LED_DEFAUT_APU = 1   
  }
  ELSE
  {
    IF &FIREWARN_APU = 0
    {
      &LED_FIREWARM = 0   
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0709, name LED_DEFAU_ELEC, Link IOCARD_OUT, Output 22     // LED DEFAUT ELECTRIQUE

Var 0025, name DEFAUT_ELEC, Link FSUIPC_INOUT, Offset $0B6A, Length 4     // DEFAUT ELECTRIQUE FSX
{
  IF &DEFAUT_ELEC = 1
  {
    &LED_DEFAU_ELEC = 1   
  }
  ELSE
  {
    IF &DEFAUT_ELEC = 0
    {
      &LED_DEFAU_ELEC = 0   
    }
  }
}

Var 0710, name LED_DEFAUTFUEL, Link IOCARD_OUT, Output 24     // LED DEFAUT QTY BASSE FUEL

Var 0027, name QTY_FUEL_TOTAL, Link FSUIPC_INOUT, Offset $1264, Length 4     // QTY FUEL TOTAL
{
  IF &QTY_FUEL_TOTAL < 687
  {
    &LED_DEFAUTFUEL = 1   
  }
  ELSE
  {
    IF &QTY_FUEL_TOTAL >= 687
    {
      &LED_DEFAUTFUEL = 0   
    }
  }
}

Var 0712, name LED_DEFAUT_APU, Link IOCARD_OUT, Output 26     // LED DEFAUT APU

Var 0029, name APU_FSX, Link FSUIPC_INOUT, Offset $0B51, Length 1     // APU ON/OFF FSX
{
  IF &APU_FSX = 1
  {
    &LED_DEFAUT_APU = 0   
  }
  ELSE
  {
    IF &APU_FSX = 0
    {
      &LED_DEFAUT_APU = 1   
    }
  }
}

Var 0714, name LED_DEFAUT_MOT, Link IOCARD_OUT, Output 32     // LED DEFAUT MOTEUR 1 ET/OU 2

Var 0030, name DEFAUT_MOT_FSX, Link FSUIPC_INOUT, Offset $0B6B, Length 4     // DEFAUT MOTEUR FSX
{
  IF &DEFAUT_MOT_FSX = 0
  {
    &LED_DEFAUT_MOT = 0   
  }
  IF &DEFAUT_MOT_FSX >= 1
  {
    &LED_DEFAUT_MOT = 1   
  }
}

Var 0031, name ANTIICE_FSX, Link FSUIPC_INOUT, Offset $029C, Length 4     // ANTI ICE FSX
{
  IF &ANTIICE_FSX = 1
  {
    &LED_ANTIICE = 0   
  }
  ELSE
  {
    IF &ANTIICE_FSX = 0
    {
      &LED_ANTIICE = 1   
    }
  }
  CALL &MASTERCOMMAND
}

Var 0717, name LED_ANTIICE, Link IOCARD_OUT, Output 34     // LED ANTI ICE

Var 0032, name PRES_HYDROLY_G, Link FSUIPC_INOUT, Offset $08D8, Length 4     // PRESSION HYDROLYQUE GAUCHE
{
  CALL &HYDOLIQUE_PRES
}

Var 0033, name PRES_HYDROLY_D, Link FSUIPC_INOUT, Offset $0970, Length 4     // PRESION HYDROLIQUE DROIT
{
  CALL &HYDOLIQUE_PRES
}

Var 5002, name HYDOLIQUE_PRES, Link SUBRUTINE     // PRESSION HYDROLIQUE
{
  L0 = &PRES_HYDROLY_D   
  L1 = &PRES_HYDROLY_G   
  L2 = L0 + L1
  &HYDOLIQUE_PRES = L2   
  IF &HYDOLIQUE_PRES < 5000
  {
    &LED_PRESS_HYDR = 1   
  }
  ELSE
  {
    IF &HYDOLIQUE_PRES >= 5000
    {
      &LED_PRESS_HYDR = 0   
    }
  }
  IF &MOTEUR_D = 0
  {
    IF &MOTEUR_G = 0
    {
      &LED_PRESS_HYDR = 1   
    }
  }
}

Var 0750, name LED_MASTERCAUT, Link IOCARD_OUT, Output 13     // LED MASTER CAUTION DEFAUT

Var 0719, name LED_PRESS_HYDR, Link IOCARD_OUT, Output 41     // LED DEFAUT PRESSION HYROLIQUE

Var 0034, name MOTEUR_G, Link FSUIPC_INOUT, Offset $092C, Length 2     // MOTEUR GAUCHE ON OFF
{
  IF &MOTEUR_G = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_G = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0035, name MOTEUR_D, Link FSUIPC_INOUT, Offset $0894, Length 2     // MOTEUR DROIT ON OFF
{
  IF &MOTEUR_D = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_D = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 5003, name MASTERCOMMAND, Link SUBRUTINE
{
  IF &ANTIICE_FSX = 1
  {
    &LED_MASTERCAUT = 1   
  }
  ELSE
  {
    IF &ANTIICE_FSX = 0
    {
      &LED_MASTERCAUT = 0   
    }
  }
  IF &DOORS_FSX >= 1
  {
    &LED_MASTERCAUT = 1   
  }
  ELSE
  {
    &LED_MASTERCAUT = 0   
  }
}


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#11 [↑][↓] 28-03-2015 18:10:05

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

dit moi si ca fonctionne avec les portes et lanti ice et si c'est bon continu mon exemple avec tes autres pannes


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#12 [↑][↓] 28-03-2015 20:45:04

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

merci çà m'aide beaucoup .

alors , çà fonctionne quand je démarre de 0 . (tous éteint )
La led master caution reste allumé jusque >>  tous est ok .

Mais si je déclenche une alarme après " fuel par exemple ou doors " et bien la led master caution ne s'allume pas ?
Uniquement si les 2 moteurs sont off.

Bizarre non .

Hors ligne

#13 [↑][↓] 28-03-2015 21:01:18

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

oui alors attention
pour les portes par exemple dans ton code tu met : si les porte=1 alors led=1
la variable des portes utilise des bits et non pas des valeurs entiere comme 1
du coup quand tes moteurs sont allumé tout cela change
tu peux voir les changement dans module fsuipc puis tu met loffset que tu veux verifier et coche fswindows pour voir letat et le changement de loffset
images?q=tbn:ANd9GcSvMoZcxmWQA6kvrHt4vu31iC0R42sRtjVHXHJNOfH0fU1bLDj8sA

Dernière modification par mameloose (28-03-2015 21:02:36)


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#14 [↑][↓] 28-03-2015 21:04:36

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

oui je confirme partout ta plein d'erreur il ne faut pas que tu utilise des IF mais des fonctions TESTBIT sinon sioc va faire nimporte quoi

quand tu utilise une variable fsuipc lit bien la description dans le sdk


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#15 [↑][↓] 29-03-2015 09:34:10

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

ouh là ouh là ,

Je dois tout refaire ??

parce que mon script est devenue grand maintenant .

Mes erreurs sont uniquement liées au variable avec des bits ? , j’espère le reste c'est bon ?

si tu veux je t'envois un mail avec un fichier .txt

J'ai relus ton tuto testbit , mais je ne vois pas comment l'utiliser avec des variables parceque ton tuto c'est avec un inter .

Hors ligne

#16 [↑][↓] 29-03-2015 09:37:01

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

j'ai une autre question ,

je voudrai prendre le tableau de sdk et le mettre sous excel .

Mais j'arrive pas . c'est possible ?

Hors ligne

#17 [↑][↓] 29-03-2015 09:42:23

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

Pourtant , il y a une phrase qui dit :

AVEC DES SI ( IF ) on peut refaire le monde .

laugh laugh laugh laugh

Hors ligne

#18 [↑][↓] 29-03-2015 10:19:37

mameloose
Membre
Lieu : evreux
Inscription : 24-10-2014
Renommée :   10 

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

lol ecoute je reprend ton script du debut je le modifie et tu compare c'est pas compliqué tu verras

si tu veux qu'une led sallume sur une variables avec des bits tu utilise TESTBIT
si tu veux controller une variable avec des bits tu utilise SETBIT et CLEARBIT

si la variable ne fonctionne qu'avec des bit il ne faut pas utiliser de IF ou ELSE et encore moins de valeur fixe avec ASSIGN

// *****************************************************************************
// * Config_SIOC ver 3.5   -     By Manolo Vélez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 29/03/2015



Var 0729, name LED_DOORS, Link IOCARD_OUT, Output 38     // LED DOORS ALARME PORTE OUVERTE

Var 0022, name DOORS_FSX, Link FSUIPC_INOUT, Offset $3367, Length 4     // PORTE OUVERTE DS FSX
{
  &LED_DOORS = TESTBIT &DOORS_FSX ,0
  &LED_MASTERCAUT = TESTBIT &DOORS_FSX ,0
}

Var 0707, name LED_FIREWARM, Link IOCARD_OUT, Output 12     // LED FIRE WARM MIP

Var 0023, name FIREWARN_MOTEU, Link FSUIPC_INOUT, Offset $3366, Length 4     // ALARME FEU MOTEUR 1 OU 2
{
  &LED_FIREWARM = TESTBIT &FIREWARN_MOTEU ,0
  &LED_FIREWARM = TESTBIT &FIREWARN_MOTEU ,1
  &LED_MASTERCAUT = TESTBIT &FIREWARN_MOTEU ,0
  &LED_MASTERCAUT = TESTBIT &FIREWARN_MOTEU ,1
}

Var 0024, name FIREWARN_APU, Link FSUIPC_INOUT, Offset $0B53, Length 1     // ALARME APU EN FEU
{
  IF &FIREWARN_APU = 1
  {
    &LED_FIREWARM = 1   
    &LED_DEFAUT_APU = 1   
  }
  ELSE
  {
    IF &FIREWARN_APU = 0
    {
      &LED_FIREWARM = 0   
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0709, name LED_DEFAU_ELEC, Link IOCARD_OUT, Output 22     // LED DEFAUT ELECTRIQUE

Var 0025, name DEFAUT_ELEC, Link FSUIPC_INOUT, Offset $0B6A, Length 4     // DEFAUT ELECTRIQUE FSX
{
  IF &DEFAUT_ELEC = 1
  {
    &LED_DEFAU_ELEC = 1   
  }
  ELSE
  {
    IF &DEFAUT_ELEC = 0
    {
      &LED_DEFAU_ELEC = 0   
    }
  }
}

Var 0710, name LED_DEFAUTFUEL, Link IOCARD_OUT, Output 24     // LED DEFAUT QTY BASSE FUEL

Var 0027, name QTY_FUEL_TOTAL, Link FSUIPC_INOUT, Offset $1264, Length 4     // QTY FUEL TOTAL
{
  IF &QTY_FUEL_TOTAL < 687
  {
    &LED_DEFAUTFUEL = 1   
  }
  ELSE
  {
    IF &QTY_FUEL_TOTAL >= 687
    {
      &LED_DEFAUTFUEL = 0   
    }
  }
}

Var 0712, name LED_DEFAUT_APU, Link IOCARD_OUT, Output 26     // LED DEFAUT APU

Var 0029, name APU_FSX, Link FSUIPC_INOUT, Offset $0B51, Length 1     // APU ON/OFF FSX
{
  IF &APU_FSX = 1
  {
    &LED_DEFAUT_APU = 0   
  }
  ELSE
  {
    IF &APU_FSX = 0
    {
      &LED_DEFAUT_APU = 1   
    }
  }
}

Var 0714, name LED_DEFAUT_MOT, Link IOCARD_OUT, Output 32     // LED DEFAUT MOTEUR 1 ET/OU 2

Var 0030, name DEFAUT_MOT_FSX, Link FSUIPC_INOUT, Offset $0B6B, Length 4     // DEFAUT MOTEUR FSX
{
  &LED_DEFAUT_MOT = TESTBIT &DEFAUT_MOT_FSX ,1
  &LED_DEFAUT_MOT = TESTBIT &DEFAUT_MOT_FSX ,2
  &LED_MASTERCAUT = TESTBIT &DEFAUT_MOT_FSX ,1
  &LED_MASTERCAUT = TESTBIT &DEFAUT_MOT_FSX ,2
}

Var 0031, name ANTIICE_FSX, Link FSUIPC_INOUT, Offset $029C, Length 4     // ANTI ICE FSX
{
  IF &ANTIICE_FSX = 1
  {
    &LED_ANTIICE = 0   
  }
  ELSE
  {
    IF &ANTIICE_FSX = 0
    {
      &LED_ANTIICE = 1   
    }
  }
}

Var 0717, name LED_ANTIICE, Link IOCARD_OUT, Output 34     // LED ANTI ICE

Var 0032, name PRES_HYDROLY_G, Link FSUIPC_INOUT, Offset $08D8, Length 4     // PRESSION HYDROLYQUE GAUCHE
{
  CALL &HYDOLIQUE_PRES
}

Var 0033, name PRES_HYDROLY_D, Link FSUIPC_INOUT, Offset $0970, Length 4     // PRESION HYDROLIQUE DROIT
{
  CALL &HYDOLIQUE_PRES
}

Var 5002, name HYDOLIQUE_PRES, Link SUBRUTINE     // PRESSION HYDROLIQUE
{
  L0 = &PRES_HYDROLY_D   
  L1 = &PRES_HYDROLY_G   
  L2 = L0 + L1
  &HYDOLIQUE_PRES = L2   
  IF &HYDOLIQUE_PRES < 5000
  {
    &LED_PRESS_HYDR = 1   
  }
  ELSE
  {
    IF &HYDOLIQUE_PRES >= 5000
    {
      &LED_PRESS_HYDR = 0   
    }
  }
  IF &MOTEUR_D = 0
  {
    IF &MOTEUR_G = 0
    {
      &LED_PRESS_HYDR = 1   
    }
  }
}

Var 0750, name LED_MASTERCAUT, Link IOCARD_OUT, Output 13     // LED MASTER CAUTION DEFAUT

Var 0719, name LED_PRESS_HYDR, Link IOCARD_OUT, Output 41     // LED DEFAUT PRESSION HYROLIQUE

Var 0034, name MOTEUR_G, Link FSUIPC_INOUT, Offset $092C, Length 2     // MOTEUR GAUCHE ON OFF
{
  IF &MOTEUR_G = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_G = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}

Var 0035, name MOTEUR_D, Link FSUIPC_INOUT, Offset $0894, Length 2     // MOTEUR DROIT ON OFF
{
  IF &MOTEUR_D = 0
  {
    &LED_DEFAUT_MOT = 1   
  }
  ELSE
  {
    IF &MOTEUR_D = 1
    {
      &LED_DEFAUT_MOT = 0   
    }
  }
}


voila normalement ton code est bon tu va voir c'est beaucoup plus simple avec un testbit

pour exemple dans le sdk la variable $0B6B les default moteur sont bit 1 eng 1 et bit2 eng 2
ducoup tu met un test bit pour la led default et quand le defaut est active (bit 1 ou 2) la led sallumera

je tai rajouté la meme chose pour ton mastercaution


http://www.youtube.com/watch?v=2chwYMN6ZME

Hors ligne

#19 [↑][↓] 29-03-2015 11:32:22

matmat59
Membre
Lieu : Lille
Inscription : 29-06-2013
Renommée :   
Site Web

Re : [P3D][FSX][FS9]tuto sioc les fonctions setbit et clearbit

Merci , je test en réel et je reviens vers toi .

A+

Hors ligne

Pied de page des forums