code throttle motorisé RSP prosim

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

code throttle motorisé RSP prosim

Messagede mameloose » Sam 22 Avr 2017 11:40

salut a tous !
robermuda ma demandé de l'aide 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 l'interieur

attribution idx 0

Code: Tout sélectionner
[== 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 ;)
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

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





Qui est en ligne

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