Page 2 sur 4

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Ven 20 Fév 2015 01:46
de IPSAFlight777
Oui, nous savons programmer en sioc.
le seul problème c'est que nous ne voyons pas comment programmer les switchs et bp avec les offsets fsuipc via sioc.

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Ven 20 Fév 2015 11:12
de tabar57
Bonjour,

Il y a l'offset 3110 qui permet de faire pas mal de choses

En clair on déclare dans le programme sioc une variable $3110 .
ensuite la variable du switch et sous cette variable on affecte le numéro de la commande fsuipc ( c'est dans les 65000 ) à la variable 3110, on la remet à 0 après 100 ms (environ ).

Voili voilou

Bernard

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 16:47
de IPSAFlight777
Bonjour à tous,

Nous revenons vers vous car nous avons un petit problème avec la programmation de l'EFIS.

En effet, certaines commandes fonctionnent parfaitement (Interrupteurs rotatifs gauche et interrupteur rotatif droit, bp WXR) mais d'autres pas du tout.

Nous sommes sur Project Magenta. Si on prend l'exemple du push WXR, dans le Glass Cockpit, la commande s'affiche mais les autres push, aucune réactions... Il en est de même pour le VOR et l'ADF droite et gauche, aucune réactions...

Le changement des affichages des écrans maps et plan ainsi que le zoom et le dézoom fonctionnent parfaitement.

Nous ne voyons pas pourquoi certains réagissent et d'autres pas. Voici le code:

Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 4.5   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : EFIS_PM_CAPTAIN_28032015_IPSAFLIGHT.txt
// * Date : 01/04/2015



Var 1000, Value 0     // Inicializa / Inicialization
{
  V1703 = 1000   
  V1704 = 1023   
}

Var 1201, Link FSUIPC_OUT, Offset $04F4, Length 2     // PM_EFIS_MODO

Var 1202, Link FSUIPC_OUT, Offset $04F8, Length 2     // PM_EFIS_RANG

Var 1203, Link FSUIPC_OUT, Offset $04FA, Length 2     // PM_EFIS_DH

Var 1204, Link FSUIPC_OUT, Offset $0330, Length 2     // FS_QNH_MB

Var 1205, Link FSUIPC_OUT, Offset $5414, Length 4     // MCP/FCU BUTTONS

Var 1300, name ROT1_APP, Link IOCARD_SW, Input 87     // ROT1_APP
{
  IF &ROT1_APP = 1
  {
    V1201 = 5   
  }
}

Var 1301, name ROT1_VOR, Link IOCARD_SW, Input 86     // ROT1_VOR
{
  IF &ROT1_VOR = 1
  {
    V1201 = 3   
  }
}

Var 1302, name ROT1_MAP, Link IOCARD_SW, Input 104     // ROT1_MAP
{
  IF &ROT1_MAP = 1
  {
    V1201 = 1   
  }
}

Var 1303, name ROT1_PLN, Link IOCARD_SW, Input 105     // ROT1_PLN
{
  IF &ROT1_PLN = 1
  {
    V1201 = 4   
  }
}

Var 1305, name ROT2_10, Link IOCARD_SW, Input 82     // ROT2_10
{
  IF &ROT2_10 = 1
  {
    V1202 = 1   
  }
}

Var 1306, name ROT2_20, Link IOCARD_SW, Input 83     // ROT2_20
{
  IF &ROT2_20 = 1
  {
    V1202 = 2   
  }
}

Var 1307, name ROT2_40, Link IOCARD_SW, Input 85     // ROT2_40
{
  IF &ROT2_40 = 1
  {
    V1202 = 3   
  }
}

Var 1308, name ROT2_80, Link IOCARD_SW, Input 84     // ROT2_80
{
  IF &ROT2_80 = 1
  {
    V1202 = 4   
  }
}

Var 1309, name ROT2_160, Link IOCARD_SW, Input 89     // ROT2_160
{
  IF &ROT2_160 = 1
  {
    V1202 = 5   
  }
}

Var 1310, name ROT2_320, Link IOCARD_SW, Input 88     // ROT2_320
{
  IF &ROT2_320 = 1
  {
    V1202 = 6   
  }
}

Var 1311, name ROT2_640, Link IOCARD_SW, Input 81     // ROT2_640
{
  IF &ROT2_640 = 1
  {
    V1202 = 7   
  }
}

Var 1312, name POS, Link IOCARD_SW, Input 78, Type P     // POS
{
  IF &POS = 1
  {
    V1201 = 96   
  }
}

Var 1313, name DATA, Link IOCARD_SW, Input 72, Type P     // DATA
{
  IF &DATA = 1
  {
    V1201 = 95   
  }
}

Var 1314, name WXR, Link IOCARD_SW, Input 76, Type P     // WXR
{
  IF &WXR = 1
  {
    V1201 = 70   
  }
  ELSE
  {
    V1201 = 71   
  }
}

Var 1315, name STA, Link IOCARD_SW, Input 75, Type P     // STA
{
  IF &STA = 1
  {
    V1201 = 90   
  }
}

Var 1316, name WPT, Link IOCARD_SW, Input 80, Type P     // WPT
{
  IF &WPT = 1
  {
    V1201 = 93   
  }
}

Var 1317, name ARPT, Link IOCARD_SW, Input 79, Type P     // ARPT
{
  IF &ARPT = 1
  {
    V1201 = 94   
  }
}

Var 1318, name MTRS, Link IOCARD_SW, Input 73, Type P     // MTRS
{
  IF &MTRS = 1
  {
    V1201 = 26   
  }
}

Var 1319, name VOR1, Link IOCARD_SW, Input 97     // VOR1
{
  IF &VOR1 = 1
  {
    V1201 = 75   
  }
  ELSE
  {
    IF &ADF1 = 0
    {
      V1201 = 73   
    }
  }
}

Var 1320, name ADF1, Link IOCARD_SW, Input 93     // ADF1
{
  IF &ADF1 = 1
  {
    V1201 = 74   
  }
  ELSE
  {
    IF &VOR1 = 0
    {
      V1201 = 73   
    }
  }
}

Var 1321, name VOR2, Link IOCARD_SW, Input 35     // VOR2
{
  IF &VOR2 = 1
  {
    V1201 = 78   
  }
  ELSE
  {
    IF &ADF2 = 0
    {
      V1201 = 76   
    }
  }
}

Var 1322, name ADF2, Link IOCARD_SW, Input 31     // ADF2
{
  IF &ADF2 = 1
  {
    V1201 = 77   
  }
  ELSE
  {
    IF &VOR2 = 0
    {
      V1201 = 76   
    }
  }
}

Var 1323, name FPV, Link IOCARD_SW, Input 74, Type P     // FPV
{
  IF &FPV = 1
  {
    V1201 = 14   
  }
}

Var 1324, name STD, Link IOCARD_SW, Input 0, Type P     // STD
{
  IF &STD = 1
  {
    V1704 = 1013   
    L0 = 1013 * 16
    L0 = L0 + 1
    V1204 = L0   
  }
}

Var 1400, Link IOCARD_ENCODER, Input 24, Aceleration 6     // MINS - DH -
{
  L0 = V1400 * -100
  V1703 = V1703 + L0
}

Var 1401, Link IOCARD_ENCODER, Input 4, Aceleration 6     // BARO
{
  L0 = V1401 * -1
  V1704 = V1704 + L0
}

Var 1703, Link SUBRUTINE     // PM_EFIS_DH
{
  IF V1703 > 20000
  {
    V1703 = 20000   
  }
  IF V1703 < 0
  {
    V1703 = 0   
  }
  L0 = DIV V1703 ,100
  V1203 = L0   
}

Var 1704, Link SUBRUTINE     // FS_QNH_MB
{
  L0 = V1704 * 16
  V1204 = L0   
}



Merci d'avance pour vos réponses merci affiche

Amicalement,

Edwin, IPSA Flight

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 17:27
de mameloose
oula tout est melangé dans ce code il manque des ELSE au bouton POS DATA STA ect...

et pour les vor le ELSE renvoi a LADF ??

pour les vor la condition ELSE est de 76 tout simplement pour remettre sur off
et pour le reset des bouton STA WPT ECT... essayez de mettre 0 dans la condition ELSE

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 17:35
de IPSAFlight777
Bonjour mameloose,

Merci tour ta réponse.

Juste un point à éclaircir, quand tu dis qu'il faut mettre 0 dans le else pour faire le reset des boutons, ça veut dire qu'il faut mettre 0 à la variable 1201 ou mettez le bouton à 0?

Merci,

Edwin, IPSA Flight

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 17:37
de mameloose
IF le bouton egale 1

alors la variable egale 45 (par exemple)

ELSE (le bouton relaché)

la variable egale 0

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 17:53
de IPSAFlight777
Merci,

Du coup je pense que c'est bon.
Par contre j'ai un problème au niveau du Bouton MTRS, je l'ai renvoyé vers le 26 mais je ne suis pas sur que ce soit la bonne commande...

Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 4.5   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : EFIS_PM_CAPTAIN_28032015_IPSAFLIGHT.txt
// * Date : 01/04/2015



Var 1000, Value 0     // Inicializa / Inicialization
{
  V1703 = 1000   
  V1704 = 1023   
}

Var 1201, Link FSUIPC_OUT, Offset $04F4, Length 2     // PM_EFIS_MODO

Var 1202, Link FSUIPC_OUT, Offset $04F8, Length 2     // PM_EFIS_RANG

Var 1203, Link FSUIPC_OUT, Offset $04FA, Length 2     // PM_EFIS_DH

Var 1204, Link FSUIPC_OUT, Offset $0330, Length 2     // FS_QNH_MB

Var 1205, Link FSUIPC_OUT, Offset $5414, Length 4     // MCP/FCU BUTTONS

Var 1300, name ROT1_APP, Link IOCARD_SW, Input 87     // ROT1_APP
{
  IF &ROT1_APP = 1
  {
    V1201 = 5   
  }
}

Var 1301, name ROT1_VOR, Link IOCARD_SW, Input 86     // ROT1_VOR
{
  IF &ROT1_VOR = 1
  {
    V1201 = 3   
  }
}

Var 1302, name ROT1_MAP, Link IOCARD_SW, Input 104     // ROT1_MAP
{
  IF &ROT1_MAP = 1
  {
    V1201 = 1   
  }
}

Var 1303, name ROT1_PLN, Link IOCARD_SW, Input 105     // ROT1_PLN
{
  IF &ROT1_PLN = 1
  {
    V1201 = 4   
  }
}

Var 1305, name ROT2_10, Link IOCARD_SW, Input 82     // ROT2_10
{
  IF &ROT2_10 = 1
  {
    V1202 = 1   
  }
}

Var 1306, name ROT2_20, Link IOCARD_SW, Input 83     // ROT2_20
{
  IF &ROT2_20 = 1
  {
    V1202 = 2   
  }
}

Var 1307, name ROT2_40, Link IOCARD_SW, Input 85     // ROT2_40
{
  IF &ROT2_40 = 1
  {
    V1202 = 3   
  }
}

Var 1308, name ROT2_80, Link IOCARD_SW, Input 84     // ROT2_80
{
  IF &ROT2_80 = 1
  {
    V1202 = 4   
  }
}

Var 1309, name ROT2_160, Link IOCARD_SW, Input 89     // ROT2_160
{
  IF &ROT2_160 = 1
  {
    V1202 = 5   
  }
}

Var 1310, name ROT2_320, Link IOCARD_SW, Input 88     // ROT2_320
{
  IF &ROT2_320 = 1
  {
    V1202 = 6   
  }
}

Var 1311, name ROT2_640, Link IOCARD_SW, Input 81     // ROT2_640
{
  IF &ROT2_640 = 1
  {
    V1202 = 7   
  }
}

Var 1312, name POS, Link IOCARD_SW, Input 78, Type P     // POS
{
  IF &POS = 1
  {
    V1201 = 96   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1313, name DATA, Link IOCARD_SW, Input 72, Type P     // DATA
{
  IF &DATA = 1
  {
    V1201 = 95   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1314, name WXR, Link IOCARD_SW, Input 76, Type P     // WXR
{
  IF &WXR = 1
  {
    V1201 = 70   
  }
  ELSE
  {
    V1201 = 71   
  }
}

Var 1315, name STA, Link IOCARD_SW, Input 75, Type P     // STA
{
  IF &STA = 1
  {
    V1201 = 90   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1316, name WPT, Link IOCARD_SW, Input 80, Type P     // WPT
{
  IF &WPT = 1
  {
    V1201 = 93   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1317, name ARPT, Link IOCARD_SW, Input 79, Type P     // ARPT
{
  IF &ARPT = 1
  {
    V1201 = 94   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1318, name MTRS, Link IOCARD_SW, Input 73, Type P     // MTRS
{
  IF &MTRS = 1
  {
    V1201 = 26   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1319, name VOR1, Link IOCARD_SW, Input 97     // VOR1
{
  IF &VOR1 = 1
  {
    V1201 = 75   
  }
  ELSE
  {
    V1201 = 73   
  }
}

Var 1320, name ADF1, Link IOCARD_SW, Input 93     // ADF1
{
  IF &ADF1 = 1
  {
    V1201 = 74   
  }
  ELSE
  {
    V1201 = 73   
  }
}

Var 1321, name VOR2, Link IOCARD_SW, Input 35     // VOR2
{
  IF &VOR2 = 1
  {
    V1201 = 78   
  }
  ELSE
  {
    IF &ADF2 = 0
    {
      V1201 = 76   
    }
  }
}

Var 1322, name ADF2, Link IOCARD_SW, Input 31     // ADF2
{
  IF &ADF2 = 1
  {
    V1201 = 77   
  }
  ELSE
  {
    IF &VOR2 = 0
    {
      V1201 = 76   
    }
  }
}

Var 1323, name FPV, Link IOCARD_SW, Input 74, Type P     // FPV
{
  IF &FPV = 1
  {
    V1201 = 14   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1324, name STD, Link IOCARD_SW, Input 0, Type P     // STD
{
  IF &STD = 1
  {
    V1704 = 1013   
    L0 = 1013 * 16
    L0 = L0 + 1
    V1204 = L0   
  }
}

Var 1400, Link IOCARD_ENCODER, Input 24, Aceleration 6     // MINS - DH -
{
  L0 = V1400 * -100
  V1703 = V1703 + L0
}

Var 1401, Link IOCARD_ENCODER, Input 4, Aceleration 6     // BARO
{
  L0 = V1401 * -1
  V1704 = V1704 + L0
}

Var 1703, Link SUBRUTINE     // PM_EFIS_DH
{
  IF V1703 > 20000
  {
    V1703 = 20000   
  }
  IF V1703 < 0
  {
    V1703 = 0   
  }
  L0 = DIV V1703 ,100
  V1203 = L0   
}

Var 1704, Link SUBRUTINE     // FS_QNH_MB
{
  L0 = V1704 * 16
  V1204 = L0   
 
}

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 18:00
de mameloose
non c'est pas bon pour le vor 2 et adf 2 il faut refaire la condition ELSE il y a encore des doublons avec voradf melangé

sinon ca devrait fonctionner a voir ....

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 21:40
de IPSAFlight777
Effectivement...

Ce qui devrait nous donner ceci:

Code: Tout sélectionner
Var 1000, Value 0     // Inicializa / Inicialization
{
  V1703 = 1000   
  V1704 = 1023   
}

Var 1201, Link FSUIPC_OUT, Offset $04F4, Length 2     // PM_EFIS_MODO

Var 1202, Link FSUIPC_OUT, Offset $04F8, Length 2     // PM_EFIS_RANG

Var 1203, Link FSUIPC_OUT, Offset $04FA, Length 2     // PM_EFIS_DH

Var 1204, Link FSUIPC_OUT, Offset $0330, Length 2     // FS_QNH_MB

Var 1205, Link FSUIPC_OUT, Offset $5414, Length 4     // MCP/FCU BUTTONS

Var 1300, name ROT1_APP, Link IOCARD_SW, Input 87     // ROT1_APP
{
  IF &ROT1_APP = 1
  {
    V1201 = 5   
  }
}

Var 1301, name ROT1_VOR, Link IOCARD_SW, Input 86     // ROT1_VOR
{
  IF &ROT1_VOR = 1
  {
    V1201 = 3   
  }
}

Var 1302, name ROT1_MAP, Link IOCARD_SW, Input 104     // ROT1_MAP
{
  IF &ROT1_MAP = 1
  {
    V1201 = 1   
  }
}

Var 1303, name ROT1_PLN, Link IOCARD_SW, Input 105     // ROT1_PLN
{
  IF &ROT1_PLN = 1
  {
    V1201 = 4   
  }
}

Var 1305, name ROT2_10, Link IOCARD_SW, Input 82     // ROT2_10
{
  IF &ROT2_10 = 1
  {
    V1202 = 1   
  }
}

Var 1306, name ROT2_20, Link IOCARD_SW, Input 83     // ROT2_20
{
  IF &ROT2_20 = 1
  {
    V1202 = 2   
  }
}

Var 1307, name ROT2_40, Link IOCARD_SW, Input 85     // ROT2_40
{
  IF &ROT2_40 = 1
  {
    V1202 = 3   
  }
}

Var 1308, name ROT2_80, Link IOCARD_SW, Input 84     // ROT2_80
{
  IF &ROT2_80 = 1
  {
    V1202 = 4   
  }
}

Var 1309, name ROT2_160, Link IOCARD_SW, Input 89     // ROT2_160
{
  IF &ROT2_160 = 1
  {
    V1202 = 5   
  }
}

Var 1310, name ROT2_320, Link IOCARD_SW, Input 88     // ROT2_320
{
  IF &ROT2_320 = 1
  {
    V1202 = 6   
  }
}

Var 1311, name ROT2_640, Link IOCARD_SW, Input 81     // ROT2_640
{
  IF &ROT2_640 = 1
  {
    V1202 = 7   
  }
}

Var 1312, name POS, Link IOCARD_SW, Input 78, Type P     // POS
{
  IF &POS = 1
  {
    V1201 = 96   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1313, name DATA, Link IOCARD_SW, Input 72, Type P     // DATA
{
  IF &DATA = 1
  {
    V1201 = 95   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1314, name WXR, Link IOCARD_SW, Input 76, Type P     // WXR
{
  IF &WXR = 1
  {
    V1201 = 70   
  }
  ELSE
  {
    V1201 = 71   
  }
}

Var 1315, name STA, Link IOCARD_SW, Input 75, Type P     // STA
{
  IF &STA = 1
  {
    V1201 = 90   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1316, name WPT, Link IOCARD_SW, Input 80, Type P     // WPT
{
  IF &WPT = 1
  {
    V1201 = 93   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1317, name ARPT, Link IOCARD_SW, Input 79, Type P     // ARPT
{
  IF &ARPT = 1
  {
    V1201 = 94   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1318, name MTRS, Link IOCARD_SW, Input 73, Type P     // MTRS
{
  IF &MTRS = 1
  {
    V1201 = 26   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1319, name VOR1, Link IOCARD_SW, Input 97     // VOR1
{
  IF &VOR1 = 1
  {
    V1201 = 75   
  }
  ELSE
  {
    V1201 = 73   
  }
}

Var 1320, name ADF1, Link IOCARD_SW, Input 93     // ADF1
{
  IF &ADF1 = 1
  {
    V1201 = 74   
  }
  ELSE
  {
    V1201 = 73   
  }
}

Var 1321, name VOR2, Link IOCARD_SW, Input 35     // VOR2
{
  IF &VOR2 = 1
  {
    V1201 = 78   
  }
  ELSE
  {
    V1201 = 76   
  }
}

Var 1322, name ADF2, Link IOCARD_SW, Input 31     // ADF2
{
  IF &ADF2 = 1
  {
    V1201 = 77   
  }
  ELSE
  {
    V1201 = 76   
  }
}

Var 1323, name FPV, Link IOCARD_SW, Input 74, Type P     // FPV
{
  IF &FPV = 1
  {
    V1201 = 14   
  }
  ELSE
  {
    V1201 = 0   
  }
}

Var 1324, name STD, Link IOCARD_SW, Input 0, Type P     // STD
{
  IF &STD = 1
  {
    V1704 = 1013   
    L0 = 1013 * 16
    L0 = L0 + 1
    V1204 = L0   
  }
}

Var 1400, Link IOCARD_ENCODER, Input 24, Aceleration 6     // MINS - DH -
{
  L0 = V1400 * -100
  V1703 = V1703 + L0
}

Var 1401, Link IOCARD_ENCODER, Input 4, Aceleration 6     // BARO
{
  L0 = V1401 * -1
  V1704 = V1704 + L0
}

Var 1703, Link SUBRUTINE     // PM_EFIS_DH
{
  IF V1703 > 20000
  {
    V1703 = 20000   
  }
  IF V1703 < 0
  {
    V1703 = 0   
  }
  L0 = DIV V1703 ,100
  V1203 = L0   
}

Var 1704, Link SUBRUTINE     // FS_QNH_MB
{
  L0 = V1704 * 16
  V1204 = L0   
}

Var 1325, name TERR, Link IOCARD_SW, Input 114, Type P     // TERR
{
  IF &TERR = 1
  {
    V1201 = 80   
  }
  ELSE
  {
    V1201 = 80   
  }
}


Je le testerai demain matin sur le simulateur... par contre j'ai un doute sur MTRS qui renvoie au 26, je n'ai trouvé que cette commande, qu'est ce que vous en pensez?

merci affiche Merci,

Amicalement,

Edwin, IPSA Flight

Re: EFIS Boeing 777/Project Magenta

MessagePosté: Mer 1 Avr 2015 21:51
de mameloose
encore une petite erreur sur TERR 80 activé mais 81 desactivé la ya 80 dans les deux cas yeuxhaut

metric toogle oui teoriquement ca devrai etre bon si c'est pour le passage des pieds en metres .

après je promet rien ca fais longtemps que j'ai abandonné projectmajenta : trop de bug et pas si realiste que ca ...

je dit pas que c'est de la m*** bien au contraire mais il faut s'adapter cligneoeil

tient nous au courant savoir si le coup du zero sur ELSE ca fonctionne ; normalement je pense que oui