Script SIOC Throttle Revolution Simproduct

mameloose

PILOTE DE BROUSSE
Messages
3 741
Réactions
2
Points
530
salut a tous !
robermuda ma demandé de laide pour refaire un code sioc pour le throttle rsp motorisé avec prosim !

je met donc a disposition le code qui d'origine est très mal foutu et pas très realiste !

voila le code en question pour la carte dcmotor qui se trouve a linterieur

attribution idx 0

Code:
[== Indéfini ==]
// *****************************************************************************
// * Config_SIOC ver 4.5   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date : 21/04/2017



Var 0000, name init
{
  &motth1 = 127    
  &motth1 = 0    
}

Var 0001, name motth1, Link USB_DCMOTOR, Output 2

Var 0002, name motth2, Link USB_DCMOTOR, Output 3

Var 0003, name motspeedbrake, Link USB_DCMOTOR, Output 1

Var 0004, name mottrim, Link USB_DCMOTOR, Output 6

Var 0005, name potth1, Link USB_ANALOGIC, Input 5, PosL 0, PosC 127, PosR 242
{
  IF &APENGAGE = 0
  {
    &etatth1 = &potth1 * 64
  }
  IF &APENGAGE = 1
  {
    &etatth1 = &etatth1    
    CALL &subth1
  }
}

Var 0006, name potth2, Link USB_ANALOGIC, Input 1, PosL 0, PosC 127, PosR 244
{
  IF &APENGAGE = 0
  {
    &etatth2 = &potth2 * 64
  }
  IF &APENGAGE = 1
  {
    &etatth2 = &etatth2    
    CALL &subth2
  }
}

Var 0007, name potspeed, Link USB_ANALOGIC, Input 4, PosL 0, PosC 66, PosR 133
{
  &etatspeedbrake = &potspeed * 64
}

Var 0008, name potflaps, Link USB_ANALOGIC, Input 2, PosL 0, PosC 127, PosR 255
{
  L0 = &potflaps    
  IF L0 < 35
  {
    &etatflaps = 0    
  }
  IF L0 > 50
  {
    IF L0 < 65
    {
      &etatflaps = 2047    
    }
  }
  IF L0 > 80
  {
    IF L0 < 93
    {
      &etatflaps = 4095    
    }
  }
  IF L0 > 110
  {
    IF L0 < 125
    {
      &etatflaps = 6143    
    }
  }
  IF L0 > 130
  {
    IF L0 < 150
    {
      &etatflaps = 8191    
    }
  }
  IF L0 > 155
  {
    IF L0 < 170
    {
      &etatflaps = 10239    
    }
  }
  IF L0 > 180
  {
    IF L0 < 195
    {
      &etatflaps = 12287    
    }
  }
  IF L0 > 200
  {
    IF L0 < 220
    {
      &etatflaps = 14335    
    }
  }
  IF L0 > 220
  {
    &etatflaps = 16383    
  }
}

Var 0009, name pottrim, Link USB_ANALOGIC, Input 3, PosL 0, PosC 83, PosR 167
{
  CALL &subtrim
}

Var 0010, name etatth1, Link FSUIPC_INOUT, Offset $088C, Length 2
{
  CALL &subspoiler
}

Var 0011, name etatth2, Link FSUIPC_INOUT, Offset $0924, Length 2

Var 0012, name etatflaps, Link FSUIPC_INOUT, Offset $0BDC, Length 4

Var 0013, name etatspeedbrake, Link FSUIPC_INOUT, Offset $0BD0, Length 4
{
  CALL &subspoiler
}

Var 0200, name etatAT, static, Link IOCP, Offset 200
{
  IF &etatAT = 0
  {
    &motth1 = 0    
    &motth2 = 0    
    &APENGAGE = 0    
  }
}

Var 0201, name etatfmatoga, static, Link IOCP, Offset 201
{
  IF &etatfmatoga = 1
  {
    &APENGAGE = 1    
  }
}

Var 0203, name etatfmaspd, static, Link IOCP, Offset 203
{
  IF &etatfmaspd = 1
  {
    &APENGAGE = 1    
  }
}

Var 0202, name etatfmavnav, static, Link IOCP, Offset 202
{
  IF &etatfmavnav = 1
  {
    &APENGAGE = 1    
  }
}

Var 0204, name etatfman1, static, Link IOCP, Offset 204
{
  IF &etatfman1 = 1
  {
    &APENGAGE = 1    
  }
}

Var 0018, name etattrim, Link FSUIPC_INOUT, Offset $0BC2, Length 2, Type 1
{
  CALL &subtrim
}

Var 0019, name APENGAGE
{
  L0 = &APENGAGE    
  IF L0 = 1
  {
    IF &etatAT = 1
    {
      CALL &subth1
      CALL &subth2
    }
  }
  IF L0 = 0
  {
    &motth1 = 0    
    &motth2 = 0    
  }
}

Var 0020, name subth1, Link SUBRUTINE
{
  L0 = &potth1 * 64
  L1 = &etatth1 - L0
  IF L1 > 70
  {
    &motth1 = 60    
  }
  IF L1 < -70
  {
    &motth1 = 160    
  }
  IF L1 > -70
  {
    IF L1 < 70
    {
      &motth1 = 0    
    }
  }
  IF L0 > 15400
  {
    &motth1 = 0    
  }
  IF L0 = 0
  {
    &motth1 = 0    
  }
}

Var 0021, name subth2, Link SUBRUTINE
{
  L0 = &potth2 * 64
  L1 = &etatth2 - L0
  IF L1 > 70
  {
    &motth2 = 60    
  }
  IF L1 < -70
  {
    &motth2 = 160    
  }
  IF L1 > -70
  {
    IF L1 < 70
    {
      &motth2 = 0    
    }
  }
  IF L0 > 15600
  {
    &motth2 = 0    
  }
  IF L0 = 0
  {
    &motth2 = 0    
  }
}

Var 0205, name spdext, static, Link IOCP, Offset 205
{
  IF &spdext = 1
  {
    &motspeedbrake = 127    
    &motspeedbrake = DELAY 0 ,100
  }
}

Var 0025, name subtrim, Link SUBRUTINE
{
  L0 = &pottrim * 31
  L1 = &etattrim - L0
  IF L1 > 60
  {
    &mottrim = 127    
  }
  IF L1 < -60
  {
    &mottrim = 255    
  }
  IF L1 > -60
  {
    IF L1 < 60
    {
      &mottrim = 0    
    }
  }
}

Var 0026, name disco, static, Link IOCP, Offset 207
{
  IF &disco = 1
  {
    &APENGAGE = 0    
  }
}

Var 0027, name avionsol, Link FSUIPC_INOUT, Offset $0366, Length 2
{
  CALL &subspoiler
}

Var 0028, name subspoiler, Link SUBRUTINE
{
  IF &avionsol = 1
  {
    IF &etatspeedbrake > 16000
    {
      IF &etatth1 > 200
      {
        &spoiler = 1    
      }
    }
    IF &etatspeedbrake < 10
    {
      &spoiler = 0    
    }
  }
}

Var 0029, name spoiler
{
  IF &spoiler = 1
  {
    &motspeedbrake = 255    
  }
  IF &spoiler = 0
  {
    &motspeedbrake = 0    
  }
}


si mon code evolue je ferai la modif ici



il faut egalement ajouter dans la configuration de prosim quelques valeurs IOCP


ONGLET indicator/mcp throttle
MCP A/T IOCP valeur 200

ONGLET GATES

fma pitch mode TOGA iocp valeur 201
fma pitch mode vnav spd iocp valeur 202
fma thrust mode mcp spd iocp valeur 203
fma thrust mode N1 iocp valeur 204
speedbrakes autodeploy iocp valeur 205


voila ;)
 
C'est tout à  fait exact
et j'en profite pour ten remercier Greg :)
Je reviens dans 3 semaines et si tu veux bien
on peaufinera ce code! :p
 
Pour la personne qui achètera le TQ :

Voici le script SIOC totalement fonctionnel pour Project magenta, facilement adaptable pour Prosim ou SIMA (juste les infos du MCP à  modifer).
Reste juste à  assigner les cartes dans le sioc.ini, et à  calibrer le TQ avec les valeurs mini/max des potentiomètres, les valeurs du potentiomètre sur chaque position de flaps, idem pour le spoiler (ça prend 5 minutes au total).
Code:
[== SIOC ==]
// *****************************************************************************
// * Config_SIOC ver 4.01   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : throttle RVSIM 8 moteurs V1.17.txt
// * Date : 13/02/2014



Var 0000, Value 0     // Initialisation version 1.15
{
  &AcOnAir = 0    
  &SplExt = 0    
  &BoucleTemps = 1    
  &WatchDog = 0    
  &ParkBrk = 32767    
}

Var 0001, name BoucleTemps
{
  L0 = TESTBIT &MCPstatus ,11     // AT engage
  IF L0 = 1
  {
    L0 = TESTBIT &MCPstatus ,8     // FLCH engage
    IF L0 = 1
    {
      L1 = 1    
    }
    ELSE
    {
      L0 = TESTBIT &MCPstatus ,9     // SPEED engage
      IF L0 = 1
      {
        L1 = 1    
      }
      ELSE
      {
        L0 = TESTBIT &MCPstatus ,14     // VNAV engage
        IF L0 = 1
        {
          L1 = 1    
        }
        ELSE
        {
          L0 = TESTBIT &MCPstatus ,10     // N1 engage
          IF L0 = 1
          {
            L1 = 1    
          }
          ELSE
          {
            L0 = TESTBIT &MCPstatus ,15     // MACH engage
            IF L0 = 1
            {
              L1 = 1    
            }
            ELSE
            {
              L0 = TESTBIT &TOGA ,2     // TOGA engage
              IF L0 = 1
              {
                L1 = 1    
              }
              ELSE
              {
                L1 = 0    
              }
            }
          }
        }
      }
    }
  }
  ELSE
  {
    L1 = 0    
  }
  IF L1 = 1
  {
    L0 = TESTBIT &ModeHold ,8     // HOLD1 engage
    IF L0 = 1
    {
      L0 = TESTBIT &ModeHold ,10     // HOLD2 engage
      IF L0 = 1
      {
        L1 = 0    
      }
    }
  }
  &ATengage = L1    
  L1 = 1    
  L0 = TESTBIT &MCPstatus ,0     // AP engage
  IF L0 = 0
  {
    L0 = TESTBIT &MCPstatus ,1     // AP engage
    IF L0 = 0
    {
      L0 = TESTBIT &MCPstatus ,13     // AP engage
      IF L0 = 0
      {
        L1 = 0         // AP Disengaged  
      }
    }
  }
  IF L1 = 1     // AP engage = 0
  {
    L0 = TESTBIT &MCPstatus ,2     // VS engage
    IF L0 = 1
    {
      L1 = 1    
    }
    ELSE
    {
      L0 = TESTBIT &MCPstatus ,14     // VNAV engage
      IF L0 = 1
      {
        L1 = 1    
      }
      ELSE
      {
        L0 = TESTBIT &MCPstatus ,3     // ALT HOLD engage
        IF L0 = 1
        {
          L1 = 1    
        }
        ELSE
        {
          L0 = TESTBIT &MCPstatus ,4     // APP engage
          IF L0 = 1
          {
            L1 = 1    
          }
          ELSE
          {
            L0 = TESTBIT &MCPstatus ,8     // FLCH engage
            IF L0 = 1
            {
              L1 = 1    
            }
            ELSE
            {
              L1 = 0    
            }
          }
        }
      }
    }
  }
  &AutoRoulTrim = L1    
  L0 = &ValeurObjInd - &ValTrimInd
  L1 = 0    
  IF L0 < 0
  {
    L1 = 128    
  }
  L0 = ABS L0
  L2 = &VitesseIndTrim + L1
  IF L0 <= &MargeIndTrim
  {
    L2 = 0    
    L1 = 0    
  }
  &TrimIndMotor = L2 
  
  L0 = &TrimValFs - &ValRoulTrim
  L0 = ABS L0   
  L1 = 1    
  IF &AutoRoulTrim = 1
  {
    IF L0 <= &MargeRoulTrim
    {
      L1 = 0        
    }
  }
  IF L1 = 1
  {
    L0 = TESTBIT &TrimComMotor ,4     // trim decremente
    IF L0 = 1
    {
      IF &TrimComMtAv = 2
      {
        &TrimMotor = 0    
        L1 = &VitesseTrim + 128
        &TrimMotor = DELAY L1 ,20
      }
      ELSE
      {
        &TrimMotor = &VitesseTrim + 128
      }
      &TrimComMtAv = 1 
    }	  
    L0 = TESTBIT &TrimComMotor ,6     // trim incremente
    IF L0 = 1
    {
      IF &TrimComMtAv = 1
      {
        &TrimMotor = 0    
        L1 = &VitesseTrim    
        &TrimMotor = DELAY L1 ,20
      }
      ELSE
      {
        &TrimMotor = &VitesseTrim    
      }
      &TrimComMtAv = 2    
    }
  }
  L0 = TESTBIT &TrimComMotor ,5     // trim stable
    IF L0 = 1
    {
      &TrimMotor = DELAY 0 ,20
      &TrimComMtAv = 0 
      &ValRoulTrim = &TrimValFs  
    }
  IF &ATengage = 1
  {
    L0 = &ValeurObjEn1 - &ValEn1
    L1 = 0    
    IF L0 < 0
    {
      L1 = 128    
    }
    L0 = ABS L0
    L2 = &VitRapideEn1 + L1
    IF L0 <= &AproxEn1
    {
      L2 = &VitLenteEn1 + L1
    }
    IF L0 <= &MargeEngine
    {
      L2 = 0    
    }
    &MotorEn1 = L2    
    L0 = &ValeurObjEn2 - &ValEn2
    L1 = 0    
    IF L0 < 0
    {
      L1 = 128    
    }
    L0 = ABS L0
    L2 = &VitRapideEn2 + L1
    IF L0 <= &AproxEn2
    {
      L2 = &VitLenteEn2 + L1
    }
    IF L0 <= &MargeEngine
    {
      L2 = 0    
    }
    &MotorEn2 = L2    
  }
  IF &ATengage = 0
  {
    &MotorEn1 = 0    
    &MotorEn2 = 0    
    IF &AcOnGrd = 1
    {
      IF &PotEn1 <= 3
      {
        IF &PotRv1 > 4
        {
          &ManEn1 = &ValRevEn1    
        }
        ELSE
        {
          &ManEn1 = &ValEn1    
        }
      }
      ELSE
      {
        &ManEn1 = &ValEn1    
      }
      IF &PotEn2 <= 3
      {
        IF &PotRv2 > 4
        {
          &ManEn2 = &ValRevEn2    
        }
        ELSE
        {
          &ManEn2 = &ValEn2    
        }
      }
      ELSE
      {
        &ManEn2 = &ValEn2    
      }
    }
    ELSE
    {
      &ManEn1 = &ValEn1    
      &ManEn2 = &ValEn2    
    }
  }
  L0 = &PotEn2 - &PotEn1
  L0 = ABS L0
  IF L0 >= 50     // Disengage ATengage si diff en1 et en2 > 
  {
    IF &ATengage = 1
    {
      &AtDisengage = TOGGLE 20
    }
  }
  L0 = &BoucleTemps + 1
  IF &BoucleTemps > 900     // Reinitilisation du compteur
  {
    L0 = 0    
  }
  &BoucleTemps = DELAY L0 ,2
}

Var 0002, name SecondeFS, Link FSUIPC_IN, Offset $023A, Length 1     // Secondes dans FS
{
  IF &BoucleTemps = &WatchDog
  {
    &BoucleTemps = 2    
  }
  ELSE
  {
    &WatchDog = &BoucleTemps    
  }
}

Var 0003, name WatchDog

Var 0006, name MCPstatus, Link FSUIPC_IN, Offset $04F0, Length 2

Var 0007, name ATengage
{
  IF &ATengage = 0
  {
    &LeverDiscon = CLEARBIT 3     // Connecte les deux Potentiometre à  FS  
    &LeverDiscon = CLEARBIT 6     // Connecte les deux Potentiometre à  FS  
    &LeverDiscon = CLEARBIT 7     // Connecte les deux Potentiometre à  FS 
  }
  ELSE
  {
    &LeverDiscon = SETBIT 3     // Deconnecte les deux Potentiometre de FS 
    &LeverDiscon = SETBIT 6     // Deconnecte les deux Potentiometre de FS 
    &LeverDiscon = SETBIT 7     // Deconnecte les deux Potentiometre de FS 
  }
}

Var 0008, name TOGA, Link FSUIPC_IN, Offset $051C, Length 2

Var 0009, name AtDisengage, Link FSUIPC_OUT, Offset $5410, Length 4

Var 0010, name LeverDiscon, Link FSUIPC_OUT, Offset $310A, Length 1     // Disconnect both LeverPotentiometers from

Var 0011, name ModeHold, Link FSUIPC_IN, Offset $0504, Length 2     // Disconnect A/T when throttle hold

Var 0012, name MCPCommand, Link FSUIPC_OUT, Offset $5410, Length 2     // Disconnect A/T

Var 0100, name ManEn1, Link FSUIPC_OUT, Offset $089A, Length 2     // Valeur engine 1

Var 0103, name ValeurObjEn1, Link FSUIPC_IN, Offset $088C, Length 2     // Valeur engine 1

Var 0105, name AproxEn1, Value 1000     // points for aproximation break

Var 0106, name VitLenteEn1, Value 35     // Vitesse lente engine 1

Var 0107, name VitRapideEn1, Value 80     // Vitesse rapide engine 1

Var 0108, name MotorEn1, Link USB_DCMOTOR, Device 1, Output 1

Var 0109, name PotEn1, Link USB_ANALOGIC, Device 1, Input 1, PosL 0, PosC 120, PosR 240     // Potentiometre de engine 1
{
  &ValEn1 = &PotEn1 * 64
}

Var 0110, name ValEn1

Var 0120, name ManEn2, Link FSUIPC_OUT, Offset $0932, Length 2     // Valeur engine 2

Var 0123, name ValeurObjEn2, Link FSUIPC_IN, Offset $0924, Length 2     // Valeur engine 2

Var 0125, name AproxEn2, Value 1000     // points for aproximation break

Var 0126, name VitLenteEn2, Value 35     // Vitesse lente engine 2

Var 0127, name VitRapideEn2, Value 80     // Vitesse rapide engine 2

Var 0128, name MotorEn2, Link USB_DCMOTOR, Device 1, Output 3

Var 0129, name PotEn2, Link USB_ANALOGIC, Device 1, Input 2, PosL 0, PosC 117, PosR 235     // Potentiometre de engine 2
{
  &ValEn2 = &PotEn2 * 64
}

Var 0130, name ValEn2

Var 0131, name MargeEngine, Value 200     // % error

Var 0152, name PotRv1, Link USB_ANALOGIC, Device 2, Input 1, PosL 0, PosC 127, PosR 255     // Potentiometre de reverse engine 1
{
  L0 = &PotRv1 * 16
  &ValRevEn1 = 0 - L0
}

Var 0153, name ValRevEn1

Var 0162, name PotRv2, Link USB_ANALOGIC, Device 2, Input 2, PosL 0, PosC 127, PosR 255     // Potentiometre de reverse engine 2
{
  L0 = &PotRv2 * 16
  &ValRevEn2 = 0 - L0
}

Var 0163, name ValRevEn2

Var 0200, name flapPOT, Link USB_ANALOGIC, Device 1, Input 5, PosL 0, PosC 127, PosR 255     // Potentiometre des Flaps
{
  IF &flapPOT < 15
  {
    IF &flapPOT >= 0
    {
      &FlapPos = 0    
    }
  }
  IF &flapPOT <= 50
  {
    IF &flapPOT > 15
    {
      &FlapPos = 2047         // flaps 1
    }
  }
  IF &flapPOT <= 75
  {
    IF &flapPOT > 50
    {
      &FlapPos = 4095         // flaps 2
    }
  }
  IF &flapPOT <= 110
  {
    IF &flapPOT > 75
    {
      &FlapPos = 6143         // flaps 5
    }
  }
  IF &flapPOT <= 140
  {
    IF &flapPOT > 110
    {
      &FlapPos = 8191         // flaps 10
    }
  }
  IF &flapPOT <= 160
  {
    IF &flapPOT > 140
    {
      &FlapPos = 10239         // flaps 15
    }
  }
  IF &flapPOT <= 175
  {
    IF &flapPOT > 160
    {
      &FlapPos = 12287         // flaps 25
    }
  }
  IF &flapPOT <= 200
  {
    IF &flapPOT > 175
    {
      &FlapPos = 14335         // flaps 30
    }
  }
  IF &flapPOT > 200
  {
    &FlapPos = 16383         // flaps 40
  }
}

Var 0201, name FlapPos, Link FSUIPC_OUT, Offset $0BDC, Length 4     // Valeur Flaps FSUIPC 

Var 0250, name SplArmLatMotor, Link USB_DCMOTOR, Device 2, Output 2     // Moteur soulevement levier speedbrake

Var 0251, name SpoilerMotor, Link USB_DCMOTOR, Device 2, Output 4     // Moteur levier speedbrake

Var 0252, name SplFullMotor, Link USB_DCMOTOR, Device 1, Output 5     // Moteur Full speedbrake

Var 0253, name ValArmPotSpl, Value 17     // Valeur potar en pos Armed

Var 0254, name SpoilerARMFS, Link FSUIPC_OUT, Offset $0BCC, Length 4     // Valeur spoiler FSUIPC

Var 0255, name SpeedBrkPOT, Link USB_ANALOGIC, Device 2, Input 4, PosL 0, PosC 61, PosR 122     // Potentiometre des aerofreins
{
  IF &SpeedBrkPOT >= &ValArmPotSpl
  {
    L0 = &ValArmPotSpl + 7
    IF &SpeedBrkPOT > L0
    {
      L1 = 255 - L0
      L2 = &SpeedBrkPOT - L0
      L1 = 10763 / L1
      L1 = L2 * L1
      &SpoilerFS = L1 + 5620
    }
    ELSE
    {
      &SpoilerFS = 4800    
      &SpoilerARMFS = 1    
    }
  }
  ELSE
  {
    &SpoilerFS = 0    
    &SpoilerARMFS = 0    
  }
}

Var 0256, name SpoilerFS, Link FSUIPC_OUT, Offset $0BD0, Length 4     // Valeur spoiler FSUIPC

Var 0257, name AcOnGrd, Link FSUIPC_IN, Offset $0366, Length 2     // Valeur Avion au Sol FSUIPC MCPCommand
{
  IF &AcOnGrd = 1
  {
    IF &AcOnAir = 1
    {
      IF &ATengage <> 0     // deconnnection A/T à  latterrisage
      {
        &MCPCommand = SETBIT 20     // deconnnection A/T    
      }
    }
  }
}

Var 0258, name AcOnAir     // Avion en vol

Var 0259, name FSIAS, Link FSUIPC_IN, Offset $02BC, Length 4
{
  L0 = &FSIAS / 128
  IF &AcOnGrd = 1
  {
    IF &AcOnAir = 1
    {
      IF &PotEn1 < 7
      {
        IF &PotEn2 < 7
        {
          IF &SpoilerARMFS = 1
          {
            CALL &SplDetent
          }
          &AcOnAir = 0    
        }
      }
    }
  }
  IF &AcOnGrd = 1
  {
    IF &AcOnAir = 0
    {
      IF &PotEn1 < 7
      {
        IF &PotEn2 < 7
        {
          IF L0 > 70
          {
            IF &SpoilerFS < 6000
            {
              CALL &SplDetent
              &MCPCommand = SETBIT 20     // déconnnection A/T 
              &ValEn1 = 10    
              &ValEn2 = 10    
            }
          }
          &AcOnAir = 0    
        }
      }
    }
  }
  IF &SplExt = 1
  {
    IF L0 <= 65     // Retour des Spoilers si spoiler >= armed 
    {
      IF &SpoilerFS >= 4800
      {
        IF &PotEn1 > 10
        {
          CALL &SplRetract
        }
        ELSE
        {
          IF &PotEn2 > 10
          {
            CALL &SplRetract
          }
        }
      }
      ELSE
      {
        &SplExt = 0    
      }
    }
    IF L0 > 65     // Retour des Spoilers si remise des gaz
    {
      IF &SpoilerFS >= 4800
      {
        IF &PotEn1 > 125
        {
          CALL &SplRetract
        }
        ELSE
        {
          IF &PotEn2 > 125
          {
            CALL &SplRetract
          }
        }
      }
    }
  }
}

Var 0260, name SplExt     // Retour Auto des Spoilers si 1

Var 0261, name SplFull, Value 1     // Spoiler autorise FULL si 1

Var 0262, name Altitude, Link FSUIPC_IN, Offset $31E4, Length 4     // RadioAltimetre
{
  L0 = &Altitude / 65536
  IF L0 > 200
  {
    IF &AcOnGrd = 0
    {
      &AcOnAir = 1    
      IF &SplFull = 1
      {
        &SplFullMotor = 72    
        &SplFullMotor = DELAY 0 ,200
        &SplFull = 0    
      }
    }
  }
}

Var 0264, name SplRetract, Link SUBRUTINE
{
  &SplArmLatMotor = 220    
  &SpoilerMotor = DELAY 190 ,20
  &SplArmLatMotor = DELAY 0 ,100
  &SpoilerMotor = DELAY 0 ,200
  &SplExt = 0    
}

Var 0265, name SplDetent, Link SUBRUTINE
{
  &SplFullMotor = 200    
  &SplFullMotor = DELAY 0 ,100
  &SplFull = 1    
  &SplArmLatMotor = 120    
  &SpoilerMotor = DELAY 120 ,100
  &SpoilerMotor = DELAY 0 ,200
  &SplArmLatMotor = DELAY 200 ,200
  &SplArmLatMotor = DELAY 0 ,200
  &SplExt = 1    
}

Var 0302, name TrimIndMotor, Link USB_DCMOTOR, Device 2, Output 6     // moteur de l'indicateur de trim

Var 0303, name ValeurObjInd

Var 0304, name MargeIndTrim, Value 100     // % error

Var 0305, name Aprox, Value 20     // points for aproximation break

Var 0306, name VitesseIndTrim, Value 15     // Vitesse indicateur trim

Var 0307, name VitesseTrim, Value 120     // Vitesse roulette de trim

Var 0308, name TrimMotor, Link USB_DCMOTOR, Device 2, Output 5

Var 0309, name TrimIndPot, Link USB_ANALOGIC, Device 2, Input 3, PosL 55, PosC 111, PosR 170     // Potentiometre de l'indicateur de trim
{
  &ValTrimInd = &TrimIndPot * 64
}

Var 0310, name ValTrimInd

Var 0311, name TrimComMotor, Link FSUIPC_IN, Offset $5528, Length 2     // MCP trim PM

Var 0312, name TrimComMtAv

Var 0313, name TrimValFs, Link FSUIPC_INOUT, Offset $0BC0, Length 2     // Valeur Trim FSUIPC
{
  IF &TrimValFs <= 16383
  {
    IF &TrimValFs > 0
    {
    &ValeurObjInd  = &TrimValFs
    }    
  }
  ELSE
  {
    &ValeurObjInd = 0    
  }
}

Var 0314, name MargeRoulTrim, Value 400     // Marge fonctionnement roulette en automat

Var 0315, name AutoRoulTrim, Value 0     // Autorisation fonctionnement roulette en 

Var 0316, name ValRoulTrim, Value 0     // Autorisation fonctionnement roulette en 

Var 0350, name ParkBrk, Link FSUIPC_IN, Offset $0BC8, Length 2     // Parking brake
{
  IF &ParkBrk = 0
  {
    &ParkBrkMotor = 250    
    &ParkBrkMotor = DELAY 0 ,50
  }
}

Var 0351, name ParkBrkMotor, Link USB_DCMOTOR, Device 2, Output 1     // moteur du parking brake

Var 0352, name backlight, Link USB_DCMOTOR, Device 1, Output 2

Var 0353, name ComBackLig, Link FSUIPC_IN, Offset $5645, Length 1     // MCP trim PM
{
  IF &ComBackLig = 0
  {
    &backlight = 127    
  }
  ELSE
  {
    IF &ComBackLig = 2
    {
      &backlight = 127    
    }
    ELSE
    {
      &backlight = 0    
    }
  }
}
 
Et pour le yoke motorisé, voici deux scripts bien plus fonctionnels que celui du RVSIM.

Il sont facilement adaptable a votre simu, il suffit juste de modifier les infos issues du MCP.

La version classique (le yoke ne bouge pas quelque soit la valeur de trim):
Code:
[== SIOC ==]
// *****************************************************************************
// * Config_SIOC ver 3.7B1   -     By Manolo Vélez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : yokefabrice.txt
// * Date : 02/11/2010



Var 0001, name AileronControl, Link FSUIPC_INOUT, Offset $0BB6, Length 2
{
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode <> 1
    {
      IF &AileronControl > 20000
      {
        L0 = 65535 - &AileronControl
        L0 = 0 - L0
      }
      ELSE
      {
        L0 = &AileronControl    
      }
      IF L0 > 200
      {
        IF L0 < 16383
        {
          &VAlPotObt = L0 * 4
          CALL &YokeControl
        }
      }
      ELSE
      {
        L1 = -200    
        IF L0 < L1
        {
          &VAlPotObt = L0 * 4
          CALL &YokeControl
        }
        ELSE
        {
          &VAlPotObt = 0    
          CALL &YokeControl
        }
      }
    }
    IF &CWwsRollMode = 1
    {
      CALL &YokeManCont
    }
  }
}

Var 0002, name AileronMotor, Link USB_DCMOTOR, Device 3, Output 1

Var 0003, name AileronPot, Link USB_ANALOGIC, Device 3, Input 1, PosL 10, PosC 127, PosR 255
{
  IF &CMDA = 0
  {
    IF &CMDB = 0
    {
      CALL &YokeManCont
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode <> 1
    {
      IF &AileronPot < 74
      {
        CALL &CWSR
      }
      IF &AileronPot > 180
      {
        CALL &CWSR
      }
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode = 1
    {
      CALL &CWSR
    }
  }
}

Var 0004, name Alpottobe

Var 0005, name AlpotplRef, Value 127

Var 0006, name Alpotfark

Var 0007, name Alpotobeplus

Var 0008, name Alpottobeminus

Var 0009, name MCPStatus, Link FSUIPC_INOUT, Offset $62BC, Length 4
{
  &CMDA = TESTBIT &MCPStatus ,8
  &CMDB = TESTBIT &MCPStatus ,9
  &CWSA = TESTBIT &MCPStatus ,25
  &CWSB = TESTBIT &MCPStatus ,26

if &CMDA or &CMDB
{
&AxesStatus = setbit 0
}
ELSE
{
&AxesStatus = clearbit 0
}
if &CWSB or &CWSA
{
&AxesStatus = setbit 1
}
ELSE
{
&AxesStatus = clearbit 1
}
}

Var 0010, name CMDA

Var 0011, name CMDB

Var 0012, name CWSA

Var 0013, name CWSB

Var 0014, name Leverdiscon, Link FSUIPC_INOUT, Offset $310A, Length 1

Var 0015, name CWwsRollMode, Link FSUIPC_INOUT, Offset $6228, Length 1

Var 0016, name CWSR, Link SUBRUTINE
{
  &Leverdiscon = 0    
  &CWwsRollMode = 1    
  &Alpottobe = 127    
  &Alpotobeplus = &Alpottobe + 4
  &Alpottobeminus = &Alpottobe - 3
  CALL &YokeManCont
  CALL &Yokecontra
}

Var 0017, name YokeControl, Link SUBRUTINE
{
  IF &AileronPot > 159
  {
    CALL &CWSR
  }
  IF &AileronPot < 85
  {
    CALL &CWSR
  }
  IF &VAlPotObt > 0
  {
    L0 = &VAlPotObt / 482
    L0 = 127 + L0
    &VAlPotAObt = L0    
    IF &AileronPot < L0
    {
      &AileronMotor = 198    
    }
    ELSE
    {
      &AileronMotor = 0    
    }
  }
  ELSE
  {
    IF &VAlPotObt < 0
    {
      L0 = &VAlPotObt / 364
      L0 = 0 - L0
      L0 = 127 - L0
      &VAlPotAObt = L0    
      IF &AileronPot > L0
      {
        &AileronMotor = 70    
      }
      ELSE
      {
        &AileronMotor = 0    
      }
    }
    ELSE
    {
      IF &AileronPot <> 127
      {
        IF &AileronPot > 128
        {
          &AileronMotor = 180    
        }
        ELSE
        {
          IF &AileronPot < 126
          {
            &AileronMotor = 52    
          }
        }
        ELSE
        {
          &AileronMotor = 0    
        }
      }
    }
  }
}

Var 0018, name YokeManCont, Link SUBRUTINE
{
  &Leverdiscon = 0    
  L0 = 0    
  IF &AileronPot <> 127
  {
    IF &AileronPot > 128
    {
      L0 = 127 - &AileronPot
      L0 = L0 * 482
      IF L0 > 16383
      {
        L0 = 16383    
      }
    }
    IF &AileronPot < 126
    {
      L0 = &AileronPot - 127
      L0 = L0 * 364
      IF L0 > 16383
      {
        L0 = 16383    
      }
      L0 = 0 - L0
    }
  }
  &AileronControl = L0    
}

Var 0019, name Yokecontra, Link SUBRUTINE
{
  &Leverdiscon = 7    
  IF &AileronControl > 1000
  {
    &AileronMotor = 90    
  }
  ELSE
  {
    L0 = 0 - 1000
    IF &AileronControl < L0
    {
      &AileronMotor = 218    
    }
    ELSE
    {
      &AileronMotor = 0    
    }
  }
}

Var 0020, name EllevCont, Link FSUIPC_INOUT, Offset $0BB2, Length 2
{
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl <> 1
    {
      IF &EllevCont > 20000
      {
        L0 = 65535 - &EllevCont
        L0 = 0 - L0
      }
      ELSE
      {
        L0 = &EllevCont    
      }
      IF L0 > 200
      {
        IF L0 < 16383
        {
          &VElPotObt = L0 
          CALL &PitchControl
        }
      }
      ELSE
      {
        L1 = -200    
        IF L0 < L1
        {
          &VElPotObt = L0
          CALL &PitchControl
        }
        ELSE
        {
          &VElPotObt = 0    
          CALL &PitchControl
        }
      }
    }
    IF &CWSPControl = 1
    {
      CALL &PitchManCont
    }
  }
}

Var 0021, name CWSPControl, Link FSUIPC_INOUT, Offset $622A, Length 1

Var 0022, name ElevatorPot, Link USB_ANALOGIC, Device 3, Input 2, PosL 10, PosC 127, PosR 255
{
  IF &CMDA = 0
  {
    IF &CMDB = 0
    {
      CALL &PitchManCont
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl <> 1
    {
      IF &ElevatorPot < 35
      {
        CALL &CWSP
      }
      IF &ElevatorPot > 177
      {
        CALL &CWSP
      }
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl = 1
    {
      CALL &CWSP
    }
  }
}

Var 0023, name PitchManCont, Link SUBRUTINE
{
  &Leverdiscon = 0    
  L0 = 0    
  IF &ElevatorPot <> 127
  {
    IF &ElevatorPot > 128
    {
      L0 = 127 - &ElevatorPot
      L0 = L0 * 381
      IF L0 > 16383
      {
        L0 = 16383    
      }
    }
    IF &ElevatorPot < 126
    {
      L0 = &ElevatorPot - 127
      L0 = L0 * 173
      IF L0 > 16383
      {
        L0 = 16383    
      }
      L0 = 0 - L0
    }
  }
  &EllevCont = L0    
}

Var 0024, name CWSP, Link SUBRUTINE
{
  &Leverdiscon = 0    
  &CWSPControl = 1    
  &Elpottobe = 127    
  &Elpotobeplus = &Elpottobe + 4
  &Elpottobeminus = &Elpottobe - 4
  CALL &PitchManCont
  CALL &Pitchcontra
}

Var 0025, name Elpottobe

Var 0026, name ElpotplRef, Value 127

Var 0027, name Elpotfark

Var 0028, name Elpotobeplus

Var 0029, name Elpottobeminus

Var 0030, name Pitchcontra, Link SUBRUTINE
{
  &Leverdiscon = 7    
  IF &EllevCont > 1000
  {
   L1 = 127 - &ElevatorPot
 
   L1 = 167 + L1 
   if L1 > 255
   {
   L1 = 255
   }
   &ElevMotor = L1   
  }
  ELSE
  {
    L0 = 0 - 1000
    IF &EllevCont < L0
    {
     L1 = &ElevatorPot - 127
 
     L1 = 35 + L1
     if L1 > 127
     {
      L1 = 127
     }
     &ElevMotor = L1
    }   
    ELSE
    {
      &ElevMotor = 0    
    }
  }
}

Var 0031, name ElevMotor, Link USB_DCMOTOR, Device 3, Output 3

Var 0032, name PitchControl, Link SUBRUTINE
{
  IF &ElevatorPot > 177
  {
    CALL &CWSP
  }
  IF &ElevatorPot < 35
  {
    CALL &CWSP
  }
  IF &VElPotObt > 0
  {
    L0 = &VElPotObt / 482
    L0 = 127 + L0
    &VElPotObt = L0    
    IF &ElevatorPot < L0
    {
      &ElevMotor = 198    
    }
    ELSE
    {
      &ElevMotor = 0    
    }
  }
  ELSE
  {
    IF &VElPotObt < 0
    {
      L0 = &VElPotObt / 364
      L0 = 0 - L0
      L0 = 127 - L0
      &VElPotObt = L0    
      IF &ElevatorPot > L0
      {
        &ElevMotor = 70    
      }
      ELSE
      {
        &ElevMotor = 0    
      }
    }
    ELSE
    {
      IF &ElevatorPot <> 127
      {
        IF &ElevatorPot > 128
        {
          &ElevMotor = 180    
        }
        ELSE
        {
          IF &ElevatorPot < 126
          {
            &ElevMotor = 52    
          }
        }
        ELSE
        {
          &ElevMotor = 0    
        }
      }
    }
  }
}

Var 0033, name Stall, Link FSUIPC_INOUT, Offset $036C, Length 1
{
  IF &Stall = 1
  {
    &StickShaker = 120    
  }
  IF &Stall = 0
  {
    &StickShaker = 0    
  }
}

Var 0034, name StickShaker, Link USB_DCMOTOR, Device 3, Output 5

Var 0035, name VAlPotObt

Var 0036, name VAlPotAObt

Var 0037, name VElPotObt

Var 0038, name AxesStatus, Link FSUIPC_INOUT, Offset $310A, Length 1

la version avec le yoke qui modifie sa position de neutre en fonction du trim :

Code:
[== SIOC ==]
// *****************************************************************************
// * Config_SIOC ver 3.7B1   -     By Manolo Vélez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : yokefabrice.txt
// * Date : 02/11/2010



Var 0001, name AileronControl, Link FSUIPC_INOUT, Offset $0BB6, Length 2
{
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode <> 1
    {
      IF &AileronControl > 20000
      {
        L0 = 65535 - &AileronControl
        L0 = 0 - L0
      }
      ELSE
      {
        L0 = &AileronControl    
      }
      IF L0 > 200
      {
        IF L0 < 16383
        {
          &VAlPotObt = L0 * 4
          CALL &YokeControl
        }
      }
      ELSE
      {
        L1 = -200    
        IF L0 < L1
        {
          &VAlPotObt = L0 * 4
          CALL &YokeControl
        }
        ELSE
        {
          &VAlPotObt = 0    
          CALL &YokeControl
        }
      }
    }
    IF &CWwsRollMode = 1
    {
      CALL &YokeManCont
    }
  }
}

Var 0002, name AileronMotor, Link USB_DCMOTOR, Device 3, Output 1

Var 0003, name AileronPot, Link USB_ANALOGIC, Device 3, Input 1, PosL 10, PosC 127, PosR 255
{
  IF &CMDA = 0
  {
    IF &CMDB = 0
    {
      CALL &YokeManCont
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode <> 1
    {
      IF &AileronPot < 74
      {
        CALL &CWSR
      }
      IF &AileronPot > 180
      {
        CALL &CWSR
      }
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWwsRollMode = 1
    {
      CALL &CWSR
    }
  }
}

Var 0004, name Alpottobe

Var 0005, name AlpotplRef, Value 127

Var 0006, name Alpotfark

Var 0007, name Alpotobeplus

Var 0008, name Alpottobeminus

Var 0009, name MCPStatus, Link FSUIPC_INOUT, Offset $62BC, Length 4
{
  &CMDA = TESTBIT &MCPStatus ,8
  &CMDB = TESTBIT &MCPStatus ,9
  &CWSA = TESTBIT &MCPStatus ,25
  &CWSB = TESTBIT &MCPStatus ,26

if &CMDA or &CMDB
{
&AxesStatus = setbit 0
}
ELSE
{
&AxesStatus = clearbit 0
}
if &CWSB or &CWSA
{
&AxesStatus = setbit 1
}
ELSE
{
&AxesStatus = clearbit 1
}
}

Var 0010, name CMDA

Var 0011, name CMDB

Var 0012, name CWSA

Var 0013, name CWSB

Var 0014, name Leverdiscon, Link FSUIPC_INOUT, Offset $310A, Length 1

Var 0015, name CWwsRollMode, Link FSUIPC_INOUT, Offset $6228, Length 1

Var 0016, name CWSR, Link SUBRUTINE
{
  &Leverdiscon = 0    
  &CWwsRollMode = 1    
  &Alpottobe = 127    
  &Alpotobeplus = &Alpottobe + 4
  &Alpottobeminus = &Alpottobe - 3
  CALL &YokeManCont
  CALL &Yokecontra
}

Var 0017, name YokeControl, Link SUBRUTINE
{
  IF &AileronPot > 159
  {
    CALL &CWSR
  }
  IF &AileronPot < 85
  {
    CALL &CWSR
  }
  IF &VAlPotObt > 0
  {
    L0 = &VAlPotObt / 482
    L0 = 127 + L0
    &VAlPotAObt = L0    
    IF &AileronPot < L0
    {
      &AileronMotor = 198    
    }
    ELSE
    {
      &AileronMotor = 0    
    }
  }
  ELSE
  {
    IF &VAlPotObt < 0
    {
      L0 = &VAlPotObt / 364
      L0 = 0 - L0
      L0 = 127 - L0
      &VAlPotAObt = L0    
      IF &AileronPot > L0
      {
        &AileronMotor = 70    
      }
      ELSE
      {
        &AileronMotor = 0    
      }
    }
    ELSE
    {
      IF &AileronPot <> 127
      {
        IF &AileronPot > 128
        {
          &AileronMotor = 180    
        }
        ELSE
        {
          IF &AileronPot < 126
          {
            &AileronMotor = 52    
          }
        }
        ELSE
        {
          &AileronMotor = 0    
        }
      }
    }
  }
}

Var 0018, name YokeManCont, Link SUBRUTINE
{
  &Leverdiscon = 0    
  L0 = 0    
  IF &AileronPot <> 127
  {
    IF &AileronPot > 128
    {
      L0 = 127 - &AileronPot
      L0 = L0 * 482
      IF L0 > 16383
      {
        L0 = 16383    
      }
    }
    IF &AileronPot < 126
    {
      L0 = &AileronPot - 127
      L0 = L0 * 364
      IF L0 > 16383
      {
        L0 = 16383    
      }
      L0 = 0 - L0
    }
  }
  &AileronControl = L0    
}

Var 0019, name Yokecontra, Link SUBRUTINE
{
  &Leverdiscon = 7    
  IF &AileronControl > 1000
  {
    &AileronMotor = 90    
  }
  ELSE
  {
    L0 = 0 - 1000
    IF &AileronControl < L0
    {
      &AileronMotor = 218    
    }
    ELSE
    {
      &AileronMotor = 0    
    }
  }
}

Var 0020, name EllevCont, Link FSUIPC_INOUT, Offset $0BB2, Length 2
{
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl <> 1
    {
      IF &EllevCont > 20000
      {
        L0 = 65535 - &EllevCont
        L0 = 0 - L0
      }
      ELSE
      {
        L0 = &EllevCont    
      }
      IF L0 > 200
      {
        IF L0 < 16383
        {
          &VElPotObt = L0 
          CALL &PitchControl
        }
      }
      ELSE
      {
        L1 = -200    
        IF L0 < L1
        {
          &VElPotObt = L0
          CALL &PitchControl
        }
        ELSE
        {
          &VElPotObt = 0    
          CALL &PitchControl
        }
      }
    }
    IF &CWSPControl = 1
    {
      CALL &PitchManCont
    }
  }
}

Var 0021, name CWSPControl, Link FSUIPC_INOUT, Offset $622A, Length 1

Var 0022, name ElevatorPot
{
  IF &CMDA = 0
  {
    IF &CMDB = 0
    {
      CALL &PitchManCont
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl <> 1
    {
      IF &ElevatorPot < 35
      {
        CALL &CWSP
      }
      IF &ElevatorPot > 177
      {
        CALL &CWSP
      }
    }
  }
  IF &CMDA OR &CMDB
  {
    IF &CWSPControl = 1
    {
      CALL &CWSP
    }
  }
}

Var 0023, name PitchManCont, Link SUBRUTINE
{
  &Leverdiscon = 0    
  L0 = 0    
  IF &ElevatorPot <> 127
  {
    IF &ElevatorPot > 128
    {
      L0 = 127 - &ElevatorPot
      L0 = L0 * 381
      IF L0 > 16383
      {
        L0 = 16383    
      }
    }
    IF &ElevatorPot < 126
    {
      L0 = &ElevatorPot - 127
      L0 = L0 * 173
      IF L0 > 16383
      {
        L0 = 16383    
      }
      L0 = 0 - L0
    }
  }
  &EllevCont = L0    
}

Var 0024, name CWSP, Link SUBRUTINE
{
  &Leverdiscon = 0    
  &CWSPControl = 1    
  &Elpottobe = 127    
  &Elpotobeplus = &Elpottobe + 4
  &Elpottobeminus = &Elpottobe - 4
  CALL &PitchManCont
  CALL &Pitchcontra
}

Var 0025, name Elpottobe

Var 0026, name ElpotplRef, Value 127

Var 0027, name Elpotfark

Var 0028, name Elpotobeplus

Var 0029, name Elpottobeminus

Var 0030, name Pitchcontra, Link SUBRUTINE
{
  &Leverdiscon = 7    
  IF &EllevCont > 1000
  {
   L1 = 127 - &ElevatorPot
 
   L1 = 167 + L1 
   if L1 > 255
   {
   L1 = 255
   }
   &ElevMotor = L1   
  }
  ELSE
  {
    L0 = 0 - 1000
    IF &EllevCont < L0
    {
     L1 = &ElevatorPot - 127
 
     L1 = 35 + L1
     if L1 > 127
     {
      L1 = 127
     }
     &ElevMotor = L1
    }   
    ELSE
    {
      &ElevMotor = 0    
    }
  }
}

Var 0031, name ElevMotor, Link USB_DCMOTOR, Device 3, Output 3

Var 0032, name PitchControl, Link SUBRUTINE
{
  IF &ElevatorPot > 177
  {
    CALL &CWSP
  }
  IF &ElevatorPot < 35
  {
    CALL &CWSP
  }
  IF &VElPotObt > 0
  {
    L0 = &VElPotObt / 482
    L0 = 127 + L0
    &VElPotObt = L0    
    IF &ElevatorPot < L0
    {
      &ElevMotor = 198    
    }
    ELSE
    {
      &ElevMotor = 0    
    }
  }
  ELSE
  {
    IF &VElPotObt < 0
    {
      L0 = &VElPotObt / 364
      L0 = 0 - L0
      L0 = 127 - L0
      &VElPotObt = L0    
      IF &ElevatorPot > L0
      {
        &ElevMotor = 70    
      }
      ELSE
      {
        &ElevMotor = 0    
      }
    }
    ELSE
    {
      IF &ElevatorPot <> 127
      {
        IF &ElevatorPot > 128
        {
          &ElevMotor = 180    
        }
        ELSE
        {
          IF &ElevatorPot < 126
          {
            &ElevMotor = 52    
          }
        }
        ELSE
        {
          &ElevMotor = 0    
        }
      }
    }
  }
}

Var 0033, name Stall, Link FSUIPC_INOUT, Offset $036C, Length 1
{
  IF &Stall = 1
  {
    &StickShaker = 120    
  }
  IF &Stall = 0
  {
    &StickShaker = 0    
  }
}

Var 0034, name StickShaker, Link USB_DCMOTOR, Device 3, Output 5

Var 0035, name VAlPotObt

Var 0036, name VAlPotAObt

Var 0037, name VElPotObt

Var 0038, name AxesStatus, Link FSUIPC_INOUT, Offset $310A, Length 1

Var 0039, name ElevatorPotar, Link USB_ANALOGIC, Device 3, Input 2, PosL 10, PosC 127, PosR 255
{
&ElevatorPot = &ElevatorPotar + &trim
}

Var 0040, name trim, value 0
{
call &ElevatorPotar
}
 
Retour
Haut