Page 1 sur 2

programmation SIOC

MessagePosté: Lun 29 Nov 2010 15:55
de chr69290
Bonjour à tous !
je mets à disposition ma programmation SIOC pour un baron 58, je l'ai pas encore fini mais l'essentiel y est déjà !

Code: Tout sélectionner
// *****************************************************************************************
// * Config_SIOC ver 3.2   -  By Salmon Christophe  -    chr69290@hotmail.com
// *****************************************************************************************
// * Date : 01/05/2010
// *  Aircraft  : Baron 58 modifié   ( Flight Simulator 2004  -  FS9 )

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 // ***** File : Swtich / Contact NAV / GPS *****

Var 2413, name fs_nav_gps, Link FSUIPC_INOUT, Offset $132C, Length 4   // NAV / GPS  1=NAV  0=GPS
{
&fs_nav_gps = &sw_nav_gps
 }

Var 2412, name sw_nav_gps,  Link  IOCARD_SW, Input 06         //  SW NAV / GPS
{
  &fs_nav_gps = &sw_nav_gps
 }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 // ***** File : Swtich / Master Baterrie *****

Var 2400, name SW_batt, Link  IOCARD_SW, Input 15         // Master Battery
 {
&fs_batt = &SW_batt
}

Var 2410, name fs_batt, Link FSUIPC_INOUT, Offset $281C, Length 1  // Batterie  0=OFF  1=ON
{
&fs_batt = &SW_batt
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : Encoder CTS 288 / HDG Bug *****

Var 1310, Link IOCARD_SW, Input 54        // pusch Heading Bug

Var 1320, Link IOCARD_ENCODER, Input 61, Aceleration 1, Type 2
{
  IF V1310 = 1
  {
    IF V1320 > 0     // turn right
    {
      V1350 = V1350 - 1820
      IF V1350 > 65536
      {
        V1350 = V1350 - 65536
      }
    }
    IF V1320 < 0     // turn left
    {
      V1350 = V1350 + 1820
      IF V1350 < 1
      {
        V1350 = V1350 + 65536
      }
    }
  }
  ELSE
  {
    IF V1320 > 0     // turn right
    {
      V1350 = V1350 - 182
      IF V1350 > 65536
      {
        V1350 = 1   
      }
    }
    IF V1320 < 0     // turn left
    {
      V1350 = V1350 + 182
      IF V1350 < 1
      {
        V1350 = 65536   
      }
    }
  }
}

Var 1350, Link FSUIPC_OUT, Offset $07CC, Length 2          // Heading Bug

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : Switch / Parking Brake *****

Var 2510, name fs_brake, Link FSUIPC_INOUT, Offset $0BC8, Length 2     // Brake   0=OFF 1=ON
{
&fs_brake = &sw_brake
 }

Var 2500, name sw_brake, Link  IOCARD_SW, Input 24          // parking brake
{
&fs_brake = &sw_brake
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : Switch /  commande de train d'atterrissage et ses voyants 3verts + In trans  *****

Var 3000     // initialisation du train
{
  V3001 = 16383   
}

Var 3001, Link FSUIPC_INOUT, Offset $0BE8, Length 4     // Control train d'atterrissage, 0-16383

Var 3002, Link IOCARD_OUT, Output 17                               // LED rouge train en transit

Var 3004, Link IOCARD_OUT, Output 20                              // train avant sorti

Var 3003, Link IOCARD_OUT, Output 19                             // train droit sorti

Var 3005, Link IOCARD_OUT, Output 18                             // train gauche sorti

Var 3006, Link IOCARD_SW, Input 35                                 // inter manette train
{
  IF V3006 = 1
  {
    V3001 = 16383   
  }
  ELSE
  {
    V3001 = 0   
  }
}

Var 3010, Link FSUIPC_IN, Offset $0BEC, Length 4           // train avant
{
  IF V3010 = 16383
  {
    V3003 = 1   
    V3002 = 0   
  }
  ELSE
  {
    IF V3010 >= 1
    {
      V3003 = 0   
      V3002 = 1   
    }
    ELSE
    {
      IF V3010 = 0
      {
        V3003 = 0   
        V3002 = 0   
      }
    }
  }
}

Var 3020, Link FSUIPC_IN, Offset $0BF0, Length 4            // train droit
{
  IF V3020 = 16383
  {
    V3004 = DELAY 1 ,50
    V3002 = 0   
  }
  ELSE
  {
    IF V3020 >= 1
    {
      V3004 = DELAY 0 ,30
      V3002 = 1   
    }
    ELSE
    {
      IF V3020 = 0
      {
        V3004 = DELAY 0 ,30
        V3002 = 0   
      }
    }
  }
}

Var 3030, Link FSUIPC_IN, Offset $0BF4, Length 4        // train gauche
{
  IF V3030 = 16383
  {
    V3005 = DELAY 1 ,50
    V3002 = 0   
  }
  ELSE
  {
    IF V3030 >= 1
    {
      V3005 = DELAY 0 ,30
      V3002 = 1   
    }
    ELSE
    {
      IF V3030 = 0
      {
        V3005 = DELAY 0 ,30
        V3002 = 0   
      }
    }
  }
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ****** File : Switch /  audio   ( identification des moyens radio ) *****

Var 0535, Link IOCARD_OUT, Output 21     // NAV1 Audio

Var 0536, Link IOCARD_OUT, Output 20     // NAV2 Audio

Var 0537, Link IOCARD_OUT, Output 19     // MKR Audio

Var 0538, Link IOCARD_OUT, Output 18     // ADF Audio

Var 0579, Link FSUIPC_IN, Offset $3122, Length 1     // Radio Audio Bytes
{
  V0535 = TESTBIT V0579 ,4     // NAV1
  V0536 = TESTBIT V0579 ,3     // NAV2
  V0537 = TESTBIT V0579 ,2     // MRKR
  V0538 = TESTBIT V0579 ,0     // ADF
}

Var 0562, Link FSUIPC_OUT, Offset $3122, Length 1     // Radio Audio Bytes

Var 0565, Link IOCARD_SW, Input 19,      // NAV1 Audio
{
  V0562 = CHANGEBIT 4 ,V0565
}

Var 0063, Link IOCARD_SW, Input 20,      // NAV2 Audio
{
  V0562 = CHANGEBIT 3 ,V0063
}

Var 0564, Link IOCARD_SW, Input 26,     // MKR Audio
{
  V0562 = CHANGEBIT 2 ,V0564
}

Var 0065, Link IOCARD_SW, Input 22,     // ADF Audio
{
  V0562 = CHANGEBIT 0 ,V0065
}

// penser à coupler l'indent DME reste à faire

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ****** File : Encoder  CTS 288 / Bug Alti   ( réglage du QNH / 1013 sur le contact ) *****

//Var 1001, Link IOCARD_SW, Input 59           // pusch
// réglage du 1013 reste à faire

Var 1002, Link IOCARD_ENCODER, Input 55, Aceleration 1, Type 2         // ENCODER
{
  IF V1002 > 0     // turn right
  {
    V1005 = V1005 + 6
  }
  IF V1002 < 0     // turn left
  {
    V1005 = V1005 - 6
  }
}

Var 1005, Link FSUIPC_INOUT, Offset $0330, Length 2     // Pression atmosphèrique * 16


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ****** File:Switch / Panel, STBR, BCN, Nav, Taxi, Landing Light *****


Var 2200, Link IOCARD_SW, Input 09     // landing light
{
  V2210 = CHANGEBIT 2, V2200
}

Var 2201, Link IOCARD_SW, Input 17     // nav light
{
  V2210 = CHANGEBIT 0, V2201
}

Var 2202, Link IOCARD_SW, Input 16     // taxi light
{
  V2210 = CHANGEBIT 3, V2202
}

Var 2203, Link IOCARD_SW, Input 12     //  BCN
{
  V2210 = CHANGEBIT 1, V2203
}

Var 2204, Link IOCARD_SW, Input 13     //  STBR
{
  V2210 = CHANGEBIT 4, V2204
}

Var 2205, Link IOCARD_SW, Input 11     //  panel
{
  V2210 = CHANGEBIT 5, V2205
}

Var 2210, Link FSUIPC_INOUT, Offset $0D0C, Length 2     //  Control des Lights



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : Encoder CTS 288 /  OBS  NAV 2  *****

Var 5201, Link IOCARD_SW, Input 49                                    // pusch

Var 5202, Link IOCARD_ENCODER, Input 46, Aceleration 1, Type 2
{
  IF V5201 = 1
  {
    IF V5202 > 0     // turn right
    {
      V5205 = V5205 + 10
      IF V5205 > 360
      {
        V5205 = 1   
      }
    }
    IF V5202 < 0     // turn left
    {
      V5205 = V5205 - 10
      IF V5205 < 1
      {
        V5205 = 360   
      }
    }
  }
  ELSE
  {
    IF V5202 > 0     // turn right
    {
      V5205 = V5205 + 1
      IF V5205 > 360
      {
        V5205 = 1   
      }
    }
    IF V5202 < 0     // turn left
    {
      V5205 = V5205 - 1
      IF V5205 < 1
      {
        V5205 = 360   
      }
    }
  }
}

Var 5205, Link FSUIPC_INOUT, Offset $0C5E, Length 2     //  OBS  NAV2, GRADU 0-359

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : Encoder CTS 288 /  CRS  NAV 1  *****

Var 1301, Link IOCARD_SW, Input 60             // pusch

Var 1302, Link IOCARD_ENCODER, Input 57, Aceleration 1, Type 2
{
  IF V1301 = 1
  {
    IF V1302 > 0     // turn right
    {
      V1300 = V1300 + 10
      IF V1300 > 360
      {
        V1300 = 1
      }
    }
    IF V1302 < 0     // turn left
    {
      V1300 = V1300 - 10
      IF V1300 < 1
      {
        V1300 = 360
      }
    }
  }
  ELSE
  {
    IF V1302 > 0     // turn right
    {
      V1300 = V1300 + 1
      IF V1300 > 360
      {
        V1300 = 1   
      }
    }
    IF V1302 < 0     // turn left
    {
      V1300 = V1300 - 1
      IF V1300 < 1
      {
        V1300 = 360
      }
    }
  }
}

Var 1300, Link FSUIPC_INOUT, Offset $0C4E, Length 2     //  CRS  NAV1, GRADU 0-359

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ****** File:Switch / icing pitot *****

Var 2311, name fs_pitot, Link FSUIPC_INOUT, Offset $029C, Length 1     //  TUBO PITOT
{
&fs_pitot = &sw_pitot
 }

Var 2301, name sw_pitot, Link IOCARD_SW, Input 04     // pitot heat
{
  &fs_pitot = &sw_pitot
 }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : commande des Volets et ses voyants *****

Var 0400, name fs_flaps, Link FSUIPC_INOUT, Offset $0BDC, Length 4               // position des volets 0 - 16383
{
  CALL &init_flaps
  CALL &calc_led_flaps
  }
Var 0401, name init_flaps, Link SUBRUTINE     // init volets
{
  IF &sw_flaps_up = 1
  {
    &fs_flaps = 0   
  }
  ELSE
  {
    IF &sw_flaps_down = 1
    {
      &fs_flaps = 16383   
    }
    ELSE
    {
      &fs_flaps = 8191   
    }
  }
}

Var 0402, name led_trans_flap, Link IOCARD_OUT, Output 13               // Led rouge transit volets
Var 0403, name led_flaps_APH, Link IOCARD_OUT, Output 12             // Led voelts APP 10°
Var 0404, name led_flaps_down, Link IOCARD_OUT, Output 11             // Led volets Full 20°

Var 0406, name sw_flaps_up, Link IOCARD_SW, Input 28                     // Inter volets UP
{
  CALL &init_flaps
}

Var 0407, name sw_flaps_down, Link IOCARD_SW, Input 31               // Inter volets Bas
{
  CALL &init_flaps
}

Var 0410, name fs_pos_flaps, Link FSUIPC_IN, Offset $0BE0, Length 4                    // position volets 0 - 16383
{
  CALL &calc_led_flaps
}

Var 0430, name calc_led_flaps, Link SUBRUTINE                 // gère les leds des volets
{
  IF &fs_pos_flaps = 0                         // position volet up
  {
    V0402 = 0         //   led rouge
     V0403 = 0       //    led app
     V0404 = 0       //    led full
  }
  ELSE
  {
    IF &fs_pos_flaps = 16383             //  position  volet full
    {
      V0402 = 0      // led rouge
       V0403 = 0    // led app
      V0404 = 1     // led full
    }
    ELSE
    {
      IF &fs_pos_flaps = 8191              //  position  volet App
      {
         V0402 = 0    // led rouge
         V0403 = 1    // led app
         V0404 = 0    // led full
}
 ELSE
    {
          V0402 = 1    // led rouge
         V0403 = 0      // led app
         V0404 = 0     // led full
     }
    }
   }
  }

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// ***** File : voyant markers ******

Var 1400, Link FSUIPC_INOUT, Offset $0BB0, Length 2     // Commande Outer Marker
{
  IF V1400 = 1
  {
    V1405 = 1                   //  OM
 }
 ELSE
{
V1405 = 0   
 }
}

 Var 1405, Link IOCARD_OUT, Output 14     // LED Outer Marker

 
Var 1410, Link FSUIPC_IN, Offset $0BAE, Length 2     // Commande MIDDLE Marker
{
 IF V1410 = 1
 {
 V1415 = 1    //  MM
 }
  ELSE
 {
 V1415 = 0   
}
}

 Var 1415, Link IOCARD_OUT, Output 15     // LED Middle Marker

 

Var 1420, Link FSUIPC_IN, Offset $0BAC, Length 2     // Commande INNER Marker
{
 IF V1420 = 1
{
 V1425 = 1    //  IN
 }
 ELSE
 {
 V1425 = 0   
 }
}

 Var 1425, Link IOCARD_OUT, Output 16     // LED Inner Marker




Bon travail !
Christophe

Re: programmation SIOC

MessagePosté: Sam 4 Déc 2010 17:29
de FiX
merci affiche
C'est bon ça... yeuxhaut

Re: programmation SIOC

MessagePosté: Sam 4 Déc 2010 19:23
de worldhugo
C'est super, merci Christophe. grandsoleil
Je rappelle à tous que sur mon site, il y a le code SIOC module par module rigolus Bon c'est sur qu'on doit pouvoir faire mieu en améliorant, mais en tout cas ça marche chouettedoights

A+

Hugo

Re: programmation SIOC

MessagePosté: Sam 4 Déc 2010 20:32
de jéjé07
c'est koi ton code exactement hugo, je vois les radio, moteur ....

Re: programmation SIOC

MessagePosté: Sam 4 Déc 2010 20:56
de worldhugo
En dessous de chaque photo des module, il y a le code SIOC correspondant et il y a aussi le code SIOC du simu(en construction biensur). Par contre mon hébergeur rencontre actuellement quelques problèmes ... le site n'ai accessible qu'une fois sur 10 .. murrouge

edit : tout est rentré dans l'ordre sur le site grandsoleil

Re: programmation SIOC

MessagePosté: Lun 27 Déc 2010 19:34
de chr69290
Hello Every body

SI vous ne connez pas ce site voici un lien sympas pour débuter en programmation SIOC

look http://www.lekseecon.nl/howto.html#readFSUIPC

enjoy
have a good day every body
bye Christophe

Re: programmation SIOC

MessagePosté: Ven 11 Nov 2011 10:50
de bugs001
Bonjour,

J'ai un peu de mal .......... peurefrayé peurefrayé a vrai dire BEAUCOUP de MAL !!!!!!!!!!!!!!!! murrouge murrouge

je ne trouve pas le logiciel : http://hpics.li/8f02746

j'ai beau chercher dans le dossier sioc vers.4 et ailleurs rien !!!! blemeblanc blemeblanc

Une idée ??

merci affiche merci affiche

Re: programmation SIOC

MessagePosté: Ven 11 Nov 2011 10:55
de worldhugo
Salut salut,
tiens, regarde ici : http://www.simucockpit.fr/telechargements.htm cligneoeil

A+

Hugo

Re: programmation SIOC

MessagePosté: Ven 11 Nov 2011 11:06
de bugs001
salut Worldhugo,

Ca c'est fort !!! lolaffiche lolaffiche lolaffiche

je me replonge dans ce travail ...... de dingue !!!! furieuxfumée

j'arrive toujours pas a faire fonctionner un malheureux servomoteur avec FSX !!!! peurefrayé peurefrayé peurefrayé

J'ai pas l'impression de faire une erreur pourtant ..... etonneyeux etonneyeux
http://hpics.li/21d9263

Re: programmation SIOC

MessagePosté: Ven 11 Nov 2011 11:13
de worldhugo
Si tu as besoin d'aide, hésite pas, mail moi : mister_hugo@live.fr rigolus