Eng Auto Ignition left & right

 

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_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 0200, name KEYS, Link KEYS     // kEYBOARD EMULATION

Var 0330, name L_AUTO_IGN, Link SUBRUTINE     // Alarme moteur gauche 0409/0736
{
  IF &L_AUTO_IGN_SW = 1
  {
    IF &L_ENG_TORQUE < 2950     // Torque < 400
    {
      &L_IGNITION_LED = 1   
    }
    ELSE     // Torque > 400
    {
      &L_IGNITION_LED = 0   
    }
  }
  ELSE     // Inter OFF
  {
    IF &L_ENG_START_SW = 0     // évite extinction lors démarrage moteur
    {
      &L_IGNITION_LED = 0   
    }
  }
}

Var 0334, name R_AUTO_IGN, Link SUBRUTINE     // Alarme moteur Droit 0408/0740
{
  IF &R_AUTO_IGN_SW = 1
  {
    IF &R_ENG_TORQUE < 2950     // Torque < 400
    {
      &R_IGNITION_LED = 1   
    }
    ELSE     // Torque > 400
    {
      &R_IGNITION_LED = 0   
    }
  }
  ELSE     // Inter OFF
  {
    IF &R_ENG_START_SW = 0     // évite extinction lors démarrage moteur
    {
      &R_IGNITION_LED = 0   
    }
  }
}

Var 0399, name Init_voyants, Link SUBRUTINE     // Initialisation des sorties
{
  IF &BATTERY = 0
  {
    &L_IGNITION_LED = 0   
    &R_IGNITION_LED = 0   
  }
  ELSE
  {
    CALL &L_AUTO_IGN     // Sub 0330
    CALL &R_AUTO_IGN     // Sub 0334
  }
}

Var 0409, name L_AUTO_IGN_SW, Link IOCARD_SW, Input 11     // Inter Auto Ignition Gauche 0016/330
{
  IF &L_AUTO_IGN_SW = 1
  {
    &KEYS = 65         // Génère un a pour On
    &KEYS = 0   
  }
  ELSE
  {
    &KEYS = 65         // Génère un a pour Off
    &KEYS = 0   
  }
  IF &BATTERY_SW = 1
  {
    CALL &L_AUTO_IGN     // Sub 0330
  }
}

Var 0408, name R_AUTO_IGN_SW, Link IOCARD_SW, Input 10     // Inter Auto Ignition Droit 0017/0334
{
  IF &R_AUTO_IGN_SW = 1
  {
    &KEYS = 67         // Génère un c pour On
    &KEYS = 0   
  }
  ELSE
  {
    &KEYS = 67         // Génère un c pour Off
    &KEYS = 0   
  }
  IF &BATTERY_SW = 1
  {
    CALL &R_AUTO_IGN     // Sub 0334
  }
}

Var 0736, name L_IGNITION_LED, Link IOCARD_OUT, Output 43     // Alarme verte IGNITION Gauche

Var 0740, name R_IGNITION_LED, Link IOCARD_OUT, Output 50     // Alarme verte IGNITION Droit





J'ai préféré l'utilisation de key2mouse avec les inters pour une gestion plus réaliste en cas de panne moteur.