MCP OC FS9 et 737 PMDG

Questions de programmation / Offset FSUIPC et IOCP

MCP OC FS9 et 737 PMDG

Messagede olivier64 » Mer 21 Juil 2010 00:28

Bonsoir,

Je crie au secourrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr murrouge murrouge
J'ai besoin d'aide. Avec l'aide de Gégé nous avons fait fonctionner le MCP avec FS9 et cela marche impec.

Mais dès que nous passons sous PMDG là le MCP ne fonctionne plus sauf pour les courses.

Je pense que c'est un soucis de SCRIPT. Quelqu'un utilise t'il cette config ? Si oui est-il possible d'avoir le SCRIPT qui va bien .?

Merci d'avance

Olivier
olivier64
 
Messages: 1052
Inscription: 5/02/10
Localisation: Pau

Re: MCP OC FS9 et 737 PMDG

Messagede jéjé07 » Mer 21 Juil 2010 02:56

Pour vous expliquer, nous avons configurer le script que OC ont fournis, configurer les key command du pmdg, tous marche mais des que olivier regle l'altitude cela deviens un sapin de noel, les leds s'allume, et rien ne va.

Peux il y avoir un conflit avec des leds?

Olivier demain ou toute a l'heure vu l'heure, on essaiera avec ce que je t'ai fais telecharger peut etre c'est une mise a jour du sioc mcp qu'ils ont sorti.
Rassure toi on va y arriver même si je dois y faire des nuit blanche, les bleue que nous sommes allons réussir .

Nous sommes quand même preneur d'un coup de main bien sur lolaffiche

merci d'avance

Ps: O pire Olivier garde le mcp pour noel tu fera une economie sur les guirlandes chouettedoights lolaffiche
jéjé07
 

Re: MCP OC FS9 et 737 PMDG

Messagede stevelep » Mer 21 Juil 2010 10:40

Ce genre de truc se passe en général quand on affiche sur un display à 5 chiffres un nombre plus grand que 5 chiffres, le chiffre supplémentaire provoque un décalage du registre des sorties qui est commun aux display et aux led d'où la perturbation. Une fonction LIMIT a dû être oubliée dans le code.

Post le code

Merci

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: MCP OC FS9 et 737 PMDG

Messagede olivier64 » Mer 21 Juil 2010 11:00

Bonjour à tous,

Merci Bob pour ton implication. Gégé fait le max et je tenais à le remercier sincèrement.

Avant que ce dernier post le SCRIPT, voici ci dessous les symptômes exactes :

Sous FS9 de base aucun soucis
Sous PMDG :


Ce qui fonctionne :
- Les courses fonctionnent et pas de soucis d'affichage
- Tous les afficheurs indiquent une données sauf pour la VS mais sur l'écran le MCP n'affiche rien donc pas de soucis je pense
- Tous les boutons fonctionnent et envois les ordres sur le MCP sur l'écran

Ce qui nous cause gros soucis :

- Les leds des boutons du MCP ne fonctionnent pas. En effet en appuyant sur une fonction cette dernière s'active sur l'écran mais le statut de la led ne change pas
- En modifiant le maintien d'altitude, l'afficheur fonctionne correctement mais les voyants des autres fonctions s'activent ou se désactivent sans pour autant que les fonctions soient modifiés. C'est l'arbre de Noêl !!!


Je pense que nous pouvons exclure les problèmes hardware car le MCP répond parfaitement aux séquences de tests et de plus il fonctionne correctement sous FS2009 avec un avion de base.

J'espère que nous n'aurons pas ce type de problèmes à l'insallation des EFIS.

En espérant avec le bonheur non dissimulé que mon MCP puisse enfin fonctionner ce soir pour mon plus grand bonheur et pour le respect du sommeil de Gégé !!! lolaffiche

Une chose est sûr la prise en main à distance du PC est une chose merveilleuse et terriblement efficace.

Olivier
olivier64
 
Messages: 1052
Inscription: 5/02/10
Localisation: Pau

Re: MCP OC FS9 et 737 PMDG

Messagede jéjé07 » Mer 21 Juil 2010 11:09

Salut Bob,

voila le scripts du pmdg


// *****************************************************************************
// * Config_SIOC ver 3.41 - By Manolo Vélez - www.opencockpits.com
// *****************************************************************************
// * FileName : sioc.txt Versión 1.1
// * Date : 29/06/2007
// * COnfiguración para MCP opencockpits para 738 PMDG por
// * Xavier Baca VAE403 y Vicente Barrón VAE401 (airexplorer.aeria.org)
// * Se debe modificar sioc.ini en el KEYBOARD EMULATOR MODULE
// * y configurar la assignación de teclas en el PMDG
// * Adaptación del original de DeMadagascar

// __________________________________________________________________
// Inicialización variables
//____________________________________________________________________


Var 0001, name keys, Link KEYS // variable transfert emulateur clavier ( SIOC.INI)

Var 0002, name MEMHDG, Value 0

Var 0003, name IAS, Link FSUIPC_IN, Offset $02BC, Length 4

Var 0004, name MACH, Link FSUIPC_IN, Offset $11C6, Length 2

Var 0005, name MEMALT, Value 10000


// __________________________________________________________________
// Salidas IOCARD Leds
//____________________________________________________________________


Var 0010, name FDLEFTled, Link IOCARD_OUT, Output 39, Device 10

Var 0011, name ATled, Link IOCARD_OUT, Output 22 , Device 10

Var 0012, name N1led, Link IOCARD_OUT, Output 21, Device 10

Var 0013, name SPEEDled, Link IOCARD_OUT, Output 23, Device 10

Var 0014, name LVLCHGled, Link IOCARD_OUT, Output 24, Device 10

Var 0015, name HDGled, Link IOCARD_OUT, Output 26, Device 10

Var 0016, name VNAVled, Link IOCARD_OUT, Output 25, Device 10

Var 0017, name LNAVled, Link IOCARD_OUT, Output 29, Device 10

Var 0018, name VORLOCled, Link IOCARD_OUT, Output 28, Device 10

Var 0019, name APPled, Link IOCARD_OUT, Output 27, Device 10

Var 0020, name ALTHOLDled, Link IOCARD_OUT, Output 30, Device 10

Var 0021, name VSled, Link IOCARD_OUT, Output 31, Device 10

Var 0022, name CMDAled, Link IOCARD_OUT, Output 33, Device 10

Var 0023, name CMDBled, Link IOCARD_OUT, Output 35, Device 10

Var 0024, name CWSAled, Link IOCARD_OUT, Output 32, Device 10

Var 0025, name CWSBled, Link IOCARD_OUT, Output 34, Device 10

Var 0026, name VSminus, Link IOCARD_OUT, Output 45, Device 10

Var 0027, name IASpoint, Link IOCARD_OUT, Output 20, Device 10


// __________________________________________________________________
// Salidas IOCARD Displays
//___________________________________________________________________

Var 0030, name CRSLEFTdisplay, Link IOCARD_DISPLAY, Digit 0, Numbers 3, Device 10

Var 0031, name IASdisplay, Link IOCARD_DISPLAY, Digit 3, Numbers 3, Device 10

Var 0032, name HDGdisplay, Link IOCARD_DISPLAY, Digit 6, Numbers 3, Device 10

Var 0033, name ALTdisplay, Link IOCARD_DISPLAY, Digit 9, Numbers 5, Device 10

Var 0034, name VSdisplay, Link IOCARD_DISPLAY, Digit 14, Numbers 5, Device 10

Var 0035, name CRSRdisplay, Link IOCARD_DISPLAY, Digit 19, Numbers 3, Device 10

// __________________________________________________________________
// Entradas FSUIPC del MCP B737-800 PMDG ( Infos Leds )
//___________________________________________________________________


Var 0040, name MCPstatus, Link FSUIPC_IN, Offset $62BC, Length 4
{
&FDLEFTled = TESTBIT &MCPstatus ,12
&ATled = TESTBIT &MCPstatus ,14
&N1led = TESTBIT &MCPstatus ,15
&SPEEDled = TESTBIT &MCPstatus ,16
&VNAVled = TESTBIT &MCPstatus ,18
&LVLCHGled = TESTBIT &MCPstatus ,17
&HDGled = TESTBIT &MCPstatus ,22
&LNAVled = TESTBIT &MCPstatus ,19
&VORLOCled = TESTBIT &MCPstatus ,20
&APPled = TESTBIT &MCPstatus ,21
&ALTHOLDled = TESTBIT &MCPstatus ,23
&VSled = TESTBIT &MCPstatus ,24
&CMDAled = TESTBIT &MCPstatus ,8
&CMDBled = TESTBIT &MCPstatus ,9
&CWSAled = TESTBIT &MCPstatus ,25
&CWSBled = TESTBIT &MCPstatus ,26
CALL &HDGaff
CALL &IASaff
CALL &ALTaff
CALL &VSaff
}
Var 0041, name SPDINTV, Link FSUIPC_IN, offset $62C0, Length 1
{
CALL &IASaff
}

Var 0042, name COstatus, Link FSUIPC_IN, offset $621e, Length 2
{
CALL &IASaff
}

// __________________________________________________________________
// Entradas FSUIPC del MCP B737-800 PMDG ( Infos Displays )
//___________________________________________________________________

Var 0050, name CRSpmdg, Link FSUIPC_IN, Offset $0C4E, Length 2
{
IF &CRSpmdg = 360
{
&CRSLEFTdisplay = 0
}
ELSE
{
&CRSLEFTdisplay = &CRSpmdg
}
}

Var 0051, name IASpmdg, Link FSUIPC_IN, Offset $6220, Length 2
{
CALL &IASaff
}

Var 0052, name hdgpmdg, Link FSUIPC_IN, Offset $622C, Length 2
{
CALL &HDGaff
}

Var 0053, name ALTpmdg, Link FSUIPC_IN, Offset $622E, Length 2
{
CALL &ALTaff
}

Var 0054, name VSpmdg, Link FSUIPC_IN, Offset $6230, Length 2
{
CALL &VSaff
}

Var 0055, name CRS2pmdg, Link FSUIPC_IN, Offset $0C4E, Length 2
{
IF &CRS2pmdg = 360
{
&CRSRdisplay = 0
}
ELSE
{
&CRSRdisplay = &CRS2pmdg
}
}


// __________________________________________________________________
// Entradas IOCARD Interruptores & bp (button press)
//___________________________________________________________________


Var 0060, name FDswitch, Link IOCARD_SW, Input 16, Device 10
{
IF &FDswitch = 1
{
IF &FDLEFTled = 0
{
&keys = 56
&keys = 0
}
}
ELSE
{
IF &FDswitch = 0
{
IF &FDLEFTled = 1
{
&keys = 56
&keys = 0
}
}
}
}

Var 0061, name ATswitch, Link IOCARD_SW, Input 33, Device 10
{
IF &ATswitch = 1
{
IF &ATled = 0
{
&keys = 44
&keys = 0
}
}
ELSE
{
IF &ATswitch = 0
{
IF &ATled = 1
{
&keys = 44
&keys = 0
}
}
}
}


Var 0062, name N1bp, Link IOCARD_SW, Input 32, Device 10
{
IF &N1bp = 1
{
&keys = 61
&keys = 0
}
}

Var 0063, name SPEEDbp, Link IOCARD_SW, Input 31, Device 10
{
IF &SPEEDbp = 1
{
&keys = 51
&keys = 0
}
}

Var 0064, name VNAVbp, Link IOCARD_SW, Input 30, Device 10
{
IF &VNAVbp = 1
{
&keys = 57
&keys = 0
}
}


Var 0065, name LVLCHGbp, Link IOCARD_SW, Input 29, Device 10
{
IF &LVLCHGbp = 1
{
&keys = 59
&keys = 0
}
}

Var 0066, name HDGbp, Link IOCARD_SW, Input 28, Device 10
{
IF &HDGbp = 1
{
&keys = 62
&keys = 0
}
}

Var 0067, name LNAVbp, Link IOCARD_SW, Input 27, Device 10
{
IF &LNAVbp = 1
{
&keys = 69
&keys = 0
}
}

Var 0068, name VORLOCbp, Link IOCARD_SW, Input 25, Device 10
{
IF &VORLOCbp = 1
{
&keys = 70
&keys = 0
}
}

Var 0069, name APPbp, Link IOCARD_SW, Input 24, Device 10
{
IF &APPbp = 1
{
&keys = 63
&keys = 0
}
}

Var 0070, name ALTHOLDbp, Link IOCARD_SW, Input 23, Device 10
{
IF &ALTHOLDbp = 1
{
&keys = 64
&keys = 0
}
}

Var 0071, name VSbp, Link IOCARD_SW, Input 22, Device 10
{
IF &VSbp = 1
{
&keys = 58
&keys = 0
}
}

Var 0072, name CMDAbp, Link IOCARD_SW, Input 21, Device 10
{
IF &CMDAbp = 1
{
&keys = 66
&keys = 0
}
}

Var 0073, name CMDBbp, Link IOCARD_SW, Input 19, Device 10
{
IF &CMDBbp = 1
{
&keys = 67
&keys = 0
}
}

Var 0074, name CWSAbp, Link IOCARD_SW, Input 20, Device 10
{
IF &CWSAbp = 1
{
&keys = 65
&keys = 0
}
}

Var 0075, name CWSBbp, Link IOCARD_SW, Input 18, Device 10
{
IF &CWSBbp = 1
{
&keys = 68
&keys = 0
}
}

Var 0076, name APDISCObp, Link IOCARD_SW, Input 15, Device 10
{
IF &APDISCObp = 1
{
&keys = 26
&keys = 0
}
ELSE
{
&keys = 26
&keys = 0
}
}

Var 0077, name CObp, Link IOCARD_SW, Input 13, Device 10
{
IF &CObp = 1
{
&keys = 60
&keys = 0
}
}

Var 0078, name FDRswitch, Link IOCARD_SW, Input 14, Device 10
{
IF &FDRswitch = 1
{
&keys = 73
&keys = 0
}
ELSE
{
&keys = 73
&keys = 0
}
}


// __________________________________________________________________
// Entradas IOCARD Encoders
//___________________________________________________________________


Var 0080, name CRSLEFTrot, Link IOCARD_ENCODER, Input 4, Aceleration 1, Type 2, Device 10
{
IF &CRSLEFTrot = 1
{
&keys = 45
&keys = 0
}
ELSE
{
&keys = 46
&keys = 0
}
}

Var 0081, name IASrot, Link IOCARD_ENCODER, Input 0, Aceleration 1, Type 2, Device 10
{
IF &IASrot = 1
{
&keys = 49
&keys = 0
}
ELSE
{
&keys = 50
&keys = 0
}
}

Var 0082, name HDGrot, Link IOCARD_ENCODER, Input 6, Aceleration 1, Type 2, Device 10
{
IF &HDGrot = 1
{
&keys = 47
&keys = 0
}
ELSE
{
&keys = 48
&keys = 0
}
IF &HDGled = 0
{
L0 = &HDGrot * -1
&MEMHDG = ROTATE 0 ,359 ,L0
}
CALL &HDGaff
}


Var 0083, name ALTrot, Link IOCARD_ENCODER, Input 2, Aceleration 1, Type 2, Device 10
{
IF &ALTrot = 1
{
&keys = 53
&keys = 0
}
ELSE
{
&keys = 52
&keys = 0
}
IF &VNAVled = 1
{
L0 = &ALTROT * -100
&MEMALT = LIMIT 0 ,50000 ,L0

CALL &ALTaff
}


}

Var 0084, name VSrot, Link IOCARD_ENCODER, Input 11, Aceleration 1, Type 2, Device 10
{
IF &VSrot = 1
{
&keys = 54
&keys = 0
}
ELSE
{
&keys = 55
&keys = 0
}
}

Var 0085, name CRSRIGHTrot, Link IOCARD_ENCODER, Input 9, Aceleration 1, Type 2, Device 10
{
IF &CRSRIGHTrot = 1
{
&keys = 45
&keys = 0
}
ELSE
{
&keys = 46
&keys = 0
}
}


//__________________________________________________________________
// Rutinas de visulaización
//__________________________________________________________________

Var 9999, name VSaff, Link SUBRUTINE
{
IF &VSled = 1
{
IF &VSpmdg < 60000
{
&VSdisplay = &VSpmdg
&VSminus = 0
}
ELSE
{
L0 = &VSpmdg - 65536
&VSdisplay = L0
&VSminus = 1
}
}
ELSE
{
&VSdisplay = -999999
&VSminus = 0
}
}

Var 9998, name IASaff, Link SUBRUTINE
{
C0 = &SPDINTV = 21
C0 = C0 AND &VNAVled
IF C0
{
&IASdisplay = -999999
}
ELSE
{
IF &COstatus < 4
{
&IASdisplay = &IASpmdg
&IASpoint = 0
}
ELSE
{
L0 = &IASpmdg / &IAS
L0 = L0 * 12800
L0 = L0 * &MACH
&IASdisplay = L0 / 20480
&IASpoint = 1
}

}
}

Var 9997, name HDGaff, Link SUBRUTINE
{
IF &LNAVled = 0
{
IF &HDGpmdg = 360
{
&MEMHDG = 0
}
ELSE
{
&MEMHDG = &HDGpmdg
}
}
&HDGdisplay = &MEMHDG
}

Var 9996, name ALTaff, Link SUBRUTINE
{
IF &VNAVled = 0
{
&MEMALT = &ALTpmdg
}
&ALTdisplay = &MEMALT
}
jéjé07
 

Re: MCP OC FS9 et 737 PMDG

Messagede stevelep » Mer 21 Juil 2010 11:46

Hello,

La LIMIT y est mais la seul chose que je vois est que chez moi les limit n'ont pas de virgules

Essaie de remplacer

&MEMALT = LIMIT 0 ,50000 ,L0

par

&MEMALT = LIMIT 0 50000 L0

Sinon je vois pas ....

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: MCP OC FS9 et 737 PMDG

Messagede jéjé07 » Mer 21 Juil 2010 11:48

Merci bob, je vais essayer ça et penses tu que le fait d'avoir la version 600-700 du pmdg, sans la 800-900 peux avoir une incidence ?
Le script est peut etre developper en fonction de la mise a jour 800-900 qu'en penses tu?

merci
jéjé07
 

Re: MCP OC FS9 et 737 PMDG

Messagede stevelep » Mer 21 Juil 2010 11:51

Aucune idée, je vole pas en liner et connait rien au PMDG ....

Sinon qu'il n'y a pas si longtemps le PMDG n'était pas interfacable car il n'y avait pas
les offsets publiés, peut-être que ces offsets existent seulement avec la nouvelle version ?

BOB
Avatar de l’utilisateur
stevelep
Administrateur du site
 
Messages: 2075
Inscription: 27/03/09
Localisation: LSGN Neuchâtel, Suisse

Re: MCP OC FS9 et 737 PMDG

Messagede jéjé07 » Mer 21 Juil 2010 11:53

ok merci Bob,
je vais essayer deja d'installer chez olivier la version 800-900 faire le teste et si cela fais sapin de noel je teste le changement de la limit en enlevant la virgule.

merci de ton aide
jéjé07
 

Re: MCP OC FS9 et 737 PMDG

Messagede Boutondair » Mer 21 Juil 2010 11:55

Salut Gégé,

Le mieux serait l'inverse, s'occuper des virgules avant de changer le soft !!!!
Enfin c'est ce que je ferais

David cligneoeil
Image Image
Petit je rêvais que je volerais, maintenant grâce au virtuel je vole !!!!!
Avatar de l’utilisateur
Boutondair
Administrateur du site
 
Messages: 4174
Inscription: 20/04/09
Localisation: Ballans (17) proche de Cognac

Suivante

Retourner vers Programmation Sioc





Qui est en ligne

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