Autofeather

Attention, ce code (en NOIR) ne peut pas être utilisé en copier-collé à cause des explications (en JAUNE).
Pour que cela ne vous pose pas de souci rendez vous ICI pour retrouver le programme complet sans explication.

 


// *****************************************************************************
// * Config_SIOC ver 3.7B1   -     By Manolo Vélez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt
// * Date :19/07/2010


Var 0000, name iNITIALISATION
{
  CALL &Init_inters     // Sub 0300
  CALL &Init_voyants     // Sub 0399
}


Var 0016, name L_ENG_TORQUE, Link FSUIPC_INOUT, Offset $08F4, Length 4     // Couple Moteur Gauche
{
  CALL &L_AUTO_IGN     // Sub 0330
  CALL &L_AUTOFEATHER     // Sub 0321
}

Var 0017, name R_ENG_TORQUE, Link FSUIPC_INOUT, Offset $098C, Length 4     // Couple Moteur Droit
{
  CALL &R_AUTO_IGN     // Sub 0334
  CALL &R_AUTOFEATHER     // Sub 0324
}

Var 0022, name L_PROP, Link FSUIPC_INOUT, Offset $088E, Length 2     // Valeur hélice gauche
{
  CALL &RVS_NOT_READY     // Sub 314
}

Var 0023, name R_PROP, Link FSUIPC_INOUT, Offset $0926, Length 2     // Valeur hélice droite
{
  CALL &RVS_NOT_READY     // Sub 314
}

Var 0200, name KEYS, Link KEYS     // kEYBOARD EMULATION

Var 0321, name L_AUTOFEATHER, Link SUBRUTINE     // Alarme Autofeather Gauche
{
  IF &AUTOFEATHER_SW = 1     // Autofeather Armé
  {
    IF &L_ENG_TORQUE > 12000     // > 90% de N1
    {
      &L_FEATHER_LED = 1         // Alarme Autofeather allumé
    }
    ELSE
    {
      IF &L_ENG_TORQUE < 12000
      {
        &L_FEATHER_LED = 0   
      }
      IF &L_ENG_TORQUE < 2950
      {
        &L_PROP = -4096         // Mise en drapeau
      }
    }
  }
  ELSE     // Inter Off
  {
    &L_FEATHER_LED = 0   
  }
}

Var 0324, name R_AUTOFEATHER, Link SUBRUTINE     // Alarme Autofeather Droite
{
  IF &AUTOFEATHER_SW = 1     // Autofeather Armé
  {
    IF &R_ENG_TORQUE > 12000     // > 90% de N1
    {
      &R_FEATHER_LED = 1         // Alarme Autofeather allumé
    }
    ELSE
    {
      IF &R_ENG_TORQUE < 12000     // Torque <90%
      {
        &R_FEATHER_LED = 0   
      }
      IF &R_ENG_TORQUE < 2950
      {
        &R_PROP = -4096   
      }
    }
  }
  ELSE     // Inter Off
  {
    &R_FEATHER_LED = 0   
  }
}

Var 0399, name Init_voyants, Link SUBRUTINE     // Initialisation des sorties
{
  IF &BATTERY = 0
  {
    &L_FEATHER_LED = 0   
    &R_FEATHER_LED = 0   
  }
  ELSE     // Si inter déjà sur"ON" à l'initialisation
  {
    CALL &L_AUTOFEATHER     // Sub 0321
    CALL &R_AUTOFEATHER     // Sub 0324
  }
}

Var 0415, name AUTOFEATHER_SW, Link IOCARD_SW, Input 3     // Inter Autofeather
{
  IF &AUTOFEATHER_SW = 1
  {
    &KEYS = 73         // Génère un i
    &KEYS = 0   
  }
  ELSE
  {
    &KEYS = 73   
    &KEYS = 0   
  }
  CALL &L_AUTOFEATHER     // Sub 321
  CALL &R_AUTOFEATHER     // Sub 324
}

Var 0727, name L_FEATHER_LED, Link IOCARD_OUT, Output 37     // Alarme verte L AUTO FEATHER

Var 0730, name R_FEATHER_LED, Link IOCARD_OUT, Output 55     // Alarme verte R AUTO FEATHER



        //// revoir les questions, code modifié le 17/07/2010 ////

Si l'inter AUTOFEATHER est sur ON et que le troque est supérieur à 90% la Led s'allume.Sinon,
la led s'eteind.
Mise en drapeau : Si le torque est inférieur à 90% et led eteinte (pourquoi cette répétition,
pas compris ??? ) et torque plus petit que 3276 alors mise en drapeau.

Faire essais :

0 - Tel que.




1 - sans la condition si led eteinte mise en drapeau.




2 - sans mise en drapeau par sioc uniquement key2mouse.




3 - Avec l'Off$ett $2E88 L2