MCP

Questions de programmation / Offset FSUIPC et IOCP

MCP

Messagede jéjé07 » Jeu 23 Déc 2010 14:51

Bonjour a tous,

Je souhaiterais savoir si qq a in script mcp de 737, mais sans passer par le mcp de chez open cockpit, si oui est ce qq aurait la gentillesse de me donner ce code.
Je sais qu'il y a un script dans iocard mais c'est du 737 d'origine sans LNAV Vnav, car je voudrais me fabriquer el mcp moi même.

Avis aux ames charitable

merci d'avance
jéjé07
 

Re: MCP

Messagede Phil64 » Jeu 23 Déc 2010 16:22

Salut Gégé,

Regarde dans la suite Prosim737, MCP. Je pense qu'il doit être compatible pour beaucoup de module. Jette un oeil, sur les commentaires des béta testeurs de Marty Bochane (Prosim737).

http://www.microsofttranslator.com/bv.a ... b773315c9d
AMICALEMENT, ET BONS VOLS !
Avatar de l’utilisateur
Phil64
 
Messages: 167
Inscription: 12/10/10

Re: MCP

Messagede jéjé07 » Jeu 23 Déc 2010 17:11

Merci Phil, je vais regarder ça ,
jéjé07
 

Re: MCP

Messagede jéjé07 » Dim 26 Déc 2010 13:05

Bon ben faut croire que tous le monde possède un MCP de chez open cockpit, ou personne ne veux donner son code donc je vais essayer de me le faire tous seul.
jéjé07
 

Re: MCP

Messagede stevelep » Dim 26 Déc 2010 14:10

Salut Gégé,

En fait, c'est normal, car ceux qui on un MCP autre que OC, comme Sismo, Cockpitsonic, CPFlight, FDS ...
on tous un logiciel d'interface propre hors SIOC, donc pas de script utilisable.
Et la plupart de ceux qui ont contruit leur propre MCP en SIOC on piqué le script du MCP d'OC ...

Sinon le script du MCP d'OC contient les 3/4 des fonctions de base du MCP qui fonctionnent.
Pour le reste VNAV en autre tu peux rajouter tes propre ligne de code à ce script

Je ne vois pas d'autre solution...

Voila mon propre code mais je doute qu'il puisse t'aider beaucoup
de plus sorti du code complet, je sais pas s'il marche

Bonnes fêtes

BOB

Code: Tout sélectionner
// 3000    * Autopilot *
//

//    AP Switch

Var 3100, name sw_apon, Link IOCARD_SW, Input 50      // Autopilot Taster
 {
   IF &sw_apon = 0
   {
   IF &fs_apon <> 1
   {
   &fs_apon = 1
   }
   ELSE
   {
   &fs_apon = 0
   }
   }
   CALL &apsys
 }
Var 3102, name sw_apfd, Link IOCARD_SW, Input 53      // Flight Director Taster
 {
   IF &sw_apfd = 1
   {
   IF &fs_apfd <> 1
   {
   &fs_apfd = 1
   &sound = 117
   }
   ELSE
   {
   &fs_apfd = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3104, name sw_apyaw, Link IOCARD_SW, Input 52   // Yaw Damper Switch   
 {
   IF &sw_apyaw = 1
    {
      &sound = 129
    }
   IF &sw_apyaw = 0
    {
      &sound = 130
    }
   &fs_apyaw = &sw_apyaw
   CALL &apsys   
 }
Var 3105, name sw_aphdg, Link IOCARD_SW, Input 51   // mode HDG
 {
   IF &sw_aphdg = 1
   {
   IF &fs_aphdg <> 1
   {
   &fs_aphdg = 1
   &sound = 117
   }
   ELSE
   {
   &fs_aphdg = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3106, name sw_apnav, Link IOCARD_SW, Input 45   // mode NAV
 {
   IF &sw_apnav = 1
   {
   IF &fs_apnav <> 1
   {
   &fs_apnav = 1
   &sound = 117
   }
   ELSE
   {
   &fs_apnav = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3107, name sw_aprev, Link IOCARD_SW, Input 68   // mode REV/BC
 {
   IF &sw_aprev = 1
   {
   IF &fs_aprev <> 1
   {
   &fs_aprev = 1
   &sound = 117
   }
   ELSE
   {
   &fs_aprev = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3108, name sw_apalt, Link IOCARD_SW, Input 69   // mode ALT
 {
   IF &sw_apalt = 1
   {
   IF &fs_apalt <> 1
   {
   &fs_apalt = 1
   &sound = 117
   }
   ELSE
   {
   &fs_apalt = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3109, name sw_apapp, Link IOCARD_SW, Input 59   // mode APP
 {
   IF &sw_apapp = 1
   {
   IF &fs_apapp <> 1
   {
   &fs_apapp = 1
   &sound = 117
   }
   ELSE
   {
   &fs_apapp = 0
   &sound = 116
   }
   }
   CALL &apsys   
 }
Var 3110, name sw_apvs, Link IOCARD_SW, Input 60   // not implemented yet
Var 3111, name sw_navgps, Link IOCARD_SW, Input 238    // A/P remote NAV<>GPS
 {
   CALL &apsys   
 }
Var 3112, name sw_nav12, Link IOCARD_SW, Input 237   // A/P remote NAV1<>NAV2
 {
   CALL &apsys   
 }


//    Encodeurs


Var 3120, name ec_alt, Link IOCARD_ENCODER, Input 70, Aceleration 4, Type 2   // ALT encoder
 {
     L0 = &ec_alt * 100
     &d_alt = LIMIT 0 ,50000 ,L0
 }
Var 3122, name ec_vs, Link IOCARD_ENCODER, Input 61, Aceleration 2, Type 2   // VS encoder
 {
     L0 = &ec_vs * 100
     &d_vs = LIMIT -9000 ,9000 ,L0
     &ap_counter = 0   
     &fs_vsval = &d_vs   
 }


//    Value vars


Var 3130, name d_alt
 {
     L0 = &d_alt * 19975.37      // send alt value to FS
     &fs_altval = L0   
 }
Var 3131, name d_vs
 {
   CALL &apsys
 }
Var 3132, name d_hdg
 {
   CALL &apsys
 }
Var 3133, name d_nav
 {
   CALL &apsys
 }


//    Subrutines for AP System


Var 3200, name apsys, Link SUBRUTINE

 {   
   &fs_gpsnav = &sw_navgps

   L0 = &sw_nav12 + 1
   &fs_nav12 = L0 * 256


   IF &fs_gpsnav = 1   // mode GPS
    {
      &d_nav = -999998
    }
   ELSE         // mode NAV
    {
      IF &fs_nav12 = 256
        {
         L0 = &fs_obs1      // NAV1
         L0 = LIMIT 0, 360, 0
         &d_nav = L0
        }
      ELSE
        {
         L0 = &fs_obs2      // NAV2
         L0 = LIMIT 0, 360, 0
         &d_nav = L0
       }
    }

   CALL &avionicsys
 }

Var 3210, name ap_checker, Link SUBRUTINE
 {
  &ap_counter = &ap_counter + 1
  IF &ap_counter > 10000
  {
    &ap_counter = 1000   
  }
  ELSE
  {
    IF &ap_counter > 4
    {
      IF &fs_vsval <> &d_vs
      {
        &d_vs = &fs_vsval   
      }
    }
  }
 }

Var 3211, name ap_counter


//   A/P FS Send


Var 3300, name fs_apon,  Link FSUIPC_INOUT, Offset $07BC, Length 4              // A/P Master RW
 {
   IF &fs_apon = 1
    {
      IF &fs_apalt = 1
       {
         &ptrim_bkp = &fs_ptrim_raw   // store ptrim
       }

    &sound = 22
    }
   ELSE
    {
       &fs_ptrim_raw = &ptrim_bkp   // recall ptrim backup
      &sound = 23
    }
   CALL &apsys
 }
Var 3301, name fs_apfd, Link FSUIPC_INOUT, Offset $2ee0, Length 4             // Flight Director RW
 {
   CALL &apsys
 }
Var 3302, name fs_apyaw, Link FSUIPC_INOUT, Offset $0808, Length 4, Value 0        // Yaw Damper RW
 {
   CALL &apsys
 }
Var 3303, name fs_aphdg, Link FSUIPC_INOUT, Offset $07c8, Length 4, Value 0        // A/P HDG RW
 {
   CALL &apsys
 }
Var 3304, name fs_apnav, Link FSUIPC_INOUT, Offset $07c4, Length 4, Value 0          // A/P NAV RW
 {
   CALL &apsys
 }
Var 3305, name fs_apalt, Link FSUIPC_INOUT, Offset $07d0, Length 4, Value 0        // A/P ALT RW
 {
   C0 = &fs_apalt = 1
   C1 = &fs_apon = 1
    IF C0 AND C1
     {
       &ptrim_bkp = &fs_ptrim_raw      // store ptrim
     }
    IF &fs_apalt = 0
     {
       &fs_ptrim_raw = &ptrim_bkp      // recall ptrim backup
     }
   CALL &apsys
 }
Var 3306, name fs_apvs, Link FSUIPC_INOUT, Offset $07ec, Length 2, Value 0           // A/P VS RW (NOT WORKING ?)
 {
   CALL &apsys
 }
Var 3307, name fs_apapp, Link FSUIPC_INOUT, Offset $0800, Length 4, Value 0        // A/P APP RW
 {
   CALL &apsys
 }
Var 3308, name fs_aprev, Link FSUIPC_INOUT, Offset $0804, Length 4, Value 0        // A/P BC/REV RW
 {
   CALL &apsys
 }
Var 3309, name fs_hdg, Link FSUIPC_INOUT, Offset $07cc, Length 2             // A/P HDG value RW
 {
   L0 = &fs_hdg * 360
   L0 = L0 / 65536
   L0 = LIMIT 0, 360, 0
   &d_hdg = L0
   CALL &apsys      
 }
Var 3310, name fs_obs1, Link FSUIPC_IN, Offset $0c4e, Length 2        // A/P NAV1 value = NAV 1 OBS R
 {   
   CALL &apsys
 }
Var 3311, name fs_obs2, Link FSUIPC_IN, Offset $0c5e, Length 2        // A/P NAV2 value = NAV 2 OBS R
 {
   CALL &apsys
 }
Var 3312, name fs_altval, Link FSUIPC_INOUT, Offset $07d4, Length 4, Value 0     // A/P ALT value RW
 {
   CALL &apsys
 }
Var 3313, name fs_vsval, Link FSUIPC_INOUT, Offset $07f2, Length 2, Type 1, Value 0     // A/P VS value RW
 {
   CALL &apsys
 }
Var 3314, name fs_gpsnav, Link FSUIPC_INOUT, Offset $132c, Length 4, Value 0      // switch APNAV between nav & gps source
 {
   CALL &apsys
 }
Var 3315, name fs_nav12, Link FSUIPC_INOUT, Offset $0374, Length 2, Value 256       // switch APNAV source from nav1=256 or nav=512
 {
   CALL &apsys
 }

// AP Lights


Var 3350, name l_apon, Link IOCARD_OUT, Output 169
Var 3351, name l_apfd, Link IOCARD_OUT, Output 167
Var 3352, name l_apyaw, Link IOCARD_OUT, Output 176
Var 3353, name l_aphdg, Link IOCARD_OUT, Output 234
Var 3354, name l_apnav, Link IOCARD_OUT, Output 232
Var 3355, name l_aprev, Link IOCARD_OUT, Output 230
Var 3356, name l_apalt, Link IOCARD_OUT, Output 228
Var 3357, name l_apapp, Link IOCARD_OUT, Output 226
Var 3358, name l_apvs, Link IOCARD_OUT, Output 224
Var 3360, name dp_hdg, Link IOCARD_DISPLAY, Digit 0, Numbers 3
Var 3361, name dp_nav, Link IOCARD_DISPLAY, Digit 3, Numbers 3
Var 3362, name dp_alt, Link IOCARD_DISPLAY, Digit 6, Numbers 5
Var 3363, name dp_vs, Link IOCARD_DISPLAY, Digit 11, Numbers 5
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: MCP

Messagede jéjé07 » Dim 26 Déc 2010 15:05

Merci BOB pour ce code, je vais regarder ce que je peux faire avec et passe toi aussi de bonne fête
jéjé07
 

Re: MCP

Messagede jéjé07 » Jeu 30 Déc 2010 16:56

Salut Bob,

En repiquant le code du mcp de oc, je rencontre un bug, je modifie mas encodeur, digit jusqu'a pas de prob mais quand je veux monter l'alt, ou regler le hdg, rien ne marche
Y a il des offset a changer? le type d'acceleration est a 6 et quand je le mets a 2 aucune réaction

peux tu m'aider stp
merci affiche
jéjé07
 


Retourner vers Programmation Sioc





Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 36 invités