Nouveau téléchargement version.4 Bonjour,
Le programme en Sioc est terminer pour le MCP USB V2 d'Open Cockpit il fonctionne avec le logiciel d'aeroSystem737. Quoique un script en Sioc étais déjà fais partiellement par Raymond que je remercie ça ma fortement aider, le code ne correspondais en rien pour le MCP d'open Cockpit.
Pratiquement tout le code a du être réécris en modifiant les entrée INPUT des interrupteurs et boutons, les display, les sortie OUPUT pour les LED, les entrée encodeurs etc. Tous es remis au norme standard du MCP V2 USB de OC.
Pour le MCP V3 OC, c'est très facile d'adapter les entrée et sortie si il a lieu de le faire ? je n'ai pas le MCP V3.
Naturellement les paramètres pour le MCP OC du dois être correcte dans le Sioc, suivez les instruction sur le forum d'open Cockpit et aussi pour l'utilisation d'aeroSystem737.
Il faut procéder par étape pour lancer les programmes.
1) Lancer FS_ou_P3D et attendre la procédure complété avant de lancer d'autre programme.
2) Lancer le serveur d'aeroSystem737.
3) ***Lancer WideClient.exe si l’avionique d'aeroSystem737 est sur un deuxième PC***
4) Lancer Sioc pour aeroSystem737
5) Lancer l'avionique d'aeroSystem737
6) régler les encodeur pour la vitesse, l’altitude etc.
Au démarrage Le display IAS/MACH pourrait être éteint, en tournant l'encodeur il s'allume.
Après des heures de vol les essais sont convainquant pas de plantage avec P3DV3.2.
les gauge d'aeroSystem737 son fluide et pas du tout gourmande en ressource informatique.
Je ne suis pas programmeur si vous avez les compétence pour améliorer le code je serais l'homme le plus heureux du monde, faite le savoir et aussi envoyer nous une copie de votre code merci.
Pour l'aide apportée sur le projet je remercie « Jack », « Andrew McLean le développeur d'aeroSystem737 », « Raymond DESACHY France pour son scripte en sioc ».
Je vous souhaite bon vol.
Jacques
- Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 4.3 - By Manuel Velez - www.opencockpits.com
// *****************************************************************************
// * FileName : Aerosystem_V4.txt
// * Date : 7/05/2016
// * Jacques Vander Elst (Belgique)
Var 0000, Value 0
{
&D_COURSE1 = 0
&D_COURSE2 = 0
&D_HDG = 0
&D_IAS = 140
&T_IAS = 140
&AP_IAS = 1
&AP_IAS = DELAY 0 ,10
}
Var 0001, name Command, Link FSUIPC_INOUT, Offset $7370, Length 1 // commande BT du MCP AS
Var 0002, name Valeur_OPTION, Link FSUIPC_INOUT, Offset $7371, Length 2 // Pour ecrire une valeur a une command
Var 0003, name Valeur_ALT_MCP, Link FSUIPC_INOUT, Offset $7374, Length 2 // Lis la valeur du MCP AS
Var 0004, name LEDSTATUT, Link FSUIPC_INOUT, Offset $7376, Length 2 // Lis les led du MCP AS
{
&O_AT = TESTBIT &LEDSTATUT ,2
&O_N1 = TESTBIT &LEDSTATUT ,3
&O_SPEED = TESTBIT &LEDSTATUT ,4
&O_VNAV = TESTBIT &LEDSTATUT ,5
&TEST_BIT_VNAV = &O_VNAV
&O_LVLCHG = TESTBIT &LEDSTATUT ,6
&O_HDGSEL = TESTBIT &LEDSTATUT ,7
&O_LNAV = TESTBIT &LEDSTATUT ,8
&O_VORLOC = TESTBIT &LEDSTATUT ,9
&O_APP = TESTBIT &LEDSTATUT ,10
&O_ALTHLD = TESTBIT &LEDSTATUT ,11
&O_VS = TESTBIT &LEDSTATUT ,12
&O_CMDA = TESTBIT &LEDSTATUT ,13
&VSI_State = TESTBIT &LEDSTATUT ,14
&DECIMAL = TESTBIT &LEDSTATUT ,15 // TESTE la Led point decimal pour MACH
}
Var 0005, name LED_STATUS_B, Link FSUIPC_INOUT, Offset $7378, Length 2 // Lis la led CMD B du MCP AS
{
&O_CMDB = TESTBIT &LED_STATUS_B ,0
}
Var 0006, name I_FD1, Link IOCARD_SW, Input 16, Type I // FD_GAUCHE
{
&Command = 0
&Command = DELAY 10 ,5
}
Var 0007, name I_AT, Link IOCARD_SW, Input 33, Type I
{
&Command = 0
&Command = DELAY 11 ,5
}
Var 0008, name I_N1, Link IOCARD_SW, Input 32, Type P
{
&Command = 0
&Command = DELAY 12 ,5
}
Var 0009, name I_VORLOC, Link IOCARD_SW, Input 25, Type P
{
&Command = 0
&Command = DELAY 18 ,5
}
Var 0010, name I_APP, Link IOCARD_SW, Input 24, Type P
{
&Command = 0
&Command = DELAY 19 ,5
}
Var 0011, name I_CMDA, Link IOCARD_SW, Input 21, Type P
{
&Command = 0
&Command = DELAY 22 ,5
}
Var 0012, name I_CMDB, Link IOCARD_SW, Input 19, Type P
{
&Command = 0
&Command = DELAY 26 ,5
}
Var 0013, name O_CMDA, Link IOCARD_OUT, Output 33
Var 0014, name O_CMDB, Link IOCARD_OUT, Output 35
Var 0015, name O_AT, Link IOCARD_OUT, Output 22 // Led AT ARM
Var 0016, name O_N1, Link IOCARD_OUT, Output 21
Var 0017, name O_VORLOC, Link IOCARD_OUT, Output 28
Var 0018, name O_APP, Link IOCARD_OUT, Output 27
Var 0019, name I_HDGSEL, Link IOCARD_SW, Input 28, Type P
{
&Command = 0
&Command = DELAY 16 ,5
}
Var 0020, name O_HDGSEL, Link IOCARD_OUT, Output 26 // LED HDGSEL ON_OFF
Var 0021, name HDG, Value 0
Var 0022, name I_LNAV, Link IOCARD_SW, Input 27, Type P
{
&Command = 0
&Command = DELAY 17 ,5
}
Var 0023, name O_LNAV, Link IOCARD_OUT, Output 29 // LED ON_OFF
Var 0024, name MM_TEST_VNAV, Value 0 // Memoir bit VNAV
Var 0025, name TEST_BIT_VNAV // Test le bit VNAV
Var 0026, name O_VNAV, Link IOCARD_OUT, Output 25
{
IF &TEST_BIT_VNAV = 0
{
&D_IAS = -999999
&O_SPEED = 0
}
ELSE
{
&D_IAS = &T_IAS
}
}
Var 0027, name I_VNAV, Link IOCARD_SW, Input 30, Type P
{
&Command = 0
&Command = DELAY 14 ,5
}
Var 0028, name DECIMAL, Link IOCARD_OUT, Output 20 // Led point decimal pour MACH
Var 0029, name E_ALTITUDE, Link IOCARD_ENCODER, Input 2, Aceleration 2, Type 2
{
L0 = &E_ALTITUDE * -1
&ALTITUDE = LIMIT 0 ,500 ,L0
}
Var 0030, name ALTITUDE, Value 0
{
&Command = 0
&Command = 1
&Valeur_OPTION = &ALTITUDE
&D_ALTI = &Valeur_OPTION * 100
}
Var 0031, name D_ALTI, Link IOCARD_DISPLAY, Digit 9, Numbers 5
Var 0032, name I_ALTHLD, Link IOCARD_SW, Input 23, Type P
{
&Command = 0
&Command = DELAY 20 ,5
}
Var 0033, name O_ALTHLD, Link IOCARD_OUT, Output 30
Var 0034, name E_VSI, Link IOCARD_ENCODER, Input 11, Aceleration 2, Type 2
{
L0 = &E_VSI * -1
&VSI = LIMIT -79 ,60 ,L0
}
Var 0035, name D_VSI, Link IOCARD_DISPLAY, Digit 14, Numbers 5
Var 0036, name O_VS, Link IOCARD_OUT, Output 31
{
&VSI_Display = &O_VS
}
Var 0037, name I_VS, Link IOCARD_SW, Input 22, Type P
{
&Command = 0
&Command = DELAY 21 ,5
}
Var 0038, name VSI
{
IF &VSI_State = 0
{
&Command = 0
&Command = 2
&Valeur_OPTION = 0
&VSI = 0
}
ELSE
{
&Command = 0
&Command = 2
&Valeur_OPTION = &VSI
&D_VSI = &VSI * 100
}
}
Var 0039, name VSI_State, Value 0
Var 0040, name VSI_Display
{
IF &VSI_Display = 0
{
&VSI = 0
&D_VSI = -999999
}
ELSE
{
&D_VSI = &VSI * 100
}
}
Var 0041, name O_LVLCHG, Link IOCARD_OUT, Output 24
{
IF &O_LVLCHG = 1
{
&VSI_Display = 0
}
}
Var 0042, name I_LVLCHG, Link IOCARD_SW, Input 29, Type P
{
&Command = 0
&Command = DELAY 15 ,5
}
Var 0043, name APD_HDG, Link FSUIPC_INOUT, Offset $07CC, Length 2 // APD_HDG
Var 0044, name D_HDG, Link IOCARD_DISPLAY, Digit 6, Numbers 3
{
L1 = &D_HDG * 182.04444
L0 = L1 + 1
&APD_HDG = L0
}
Var 0045, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
{
L0 = &E_HDG * -1
&D_HDG = ROTATE 0 ,359 ,L0
}
Var 0046, name AP_IAS, Link FSUIPC_INOUT, Offset $07DC, Length 4 // AP_IAS
{
IF &AP_IAS = 1
{
&SPEED = 1
&O_SPEED = 1
&F_IAS = &T_IAS
}
ELSE
{
IF &AP_MACH = 0
{
&O_SPEED = 0
}
}
}
Var 0047, name APD_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2 // D_IAS
Var 0048, name AP_MACH, Link FSUIPC_INOUT, Offset $07E4, Length 4 // AP_MACH
{
IF &AP_MACH = 1
{
&SPEED = 2
&O_SPEED = 1
}
ELSE
{
IF &AP_IAS = 0
{
&O_SPEED = 0
}
}
}
Var 0049, name APD_MACH, Link FSUIPC_INOUT, Offset $07E8, Length 4 // APD_MACH
Var 0050, name FS_IAS, Link FSUIPC_IN, Offset $02BC, Length 4 // IAS FS
Var 0051, name FS_MACH, Link FSUIPC_IN, Offset $11C6, Length 2 // IAS FS
Var 0052, name SPEED
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&F_IAS = &T_IAS
}
ELSE
{
&O_DECIMAL = 1
&F_IAS = &T_MACH
}
}
Var 0053, name T_IAS
Var 0054, name T_MACH
Var 0055, name F_IAS
{
IF &SPEED <> 2
{
&O_DECIMAL = 0
&D_IAS = &F_IAS
&APD_IAS = DELAY &F_IAS ,10
}
ELSE
{
&O_DECIMAL = 1
&D_IAS = &F_IAS
L0 = &F_IAS * 655.36
&APD_MACH = DELAY L0 ,10
}
}
Var 0056, name D_IAS, Link IOCARD_DISPLAY, Digit 3, Numbers 3
Var 0057, name O_DECIMAL, Link IOCARD_OUT, Output 20
Var 0058, name O_SPEED, Link IOCARD_OUT, Output 23
Var 0059, name E_IAS, Link IOCARD_ENCODER, Input 0, Aceleration 4, Type 2
{
IF &SPEED <> 2
{
L0 = &E_IAS * -1
&T_IAS = LIMIT 0 ,360 ,L0
&F_IAS = &T_IAS
}
ELSE
{
L0 = &E_IAS * -1
&T_MACH = LIMIT 0 ,99 ,L0
&F_IAS = &T_MACH
}
}
Var 0060, name I_CO, Link IOCARD_SW, Input 13, Type P
{
&Command = 0
&Command = DELAY 23 ,5
IF &O_SPEED = 1
{
IF &SPEED <> 0
{
IF &SPEED = 1
{
L0 = &FS_MACH / 204.8
&T_MACH = L0
&AP_MACH = 1
}
ELSE
{
L0 = &FS_IAS / 128
&T_IAS = L0
&AP_IAS = 1
}
}
}
}
Var 0061, name I_SPEED, Link IOCARD_SW, Input 31, Type P
{
&Command = 0
&Command = DELAY 13 ,5
}
Var 0062, name APD_COURSE1, Link FSUIPC_INOUT, Offset $0C4E, Length 2 // APD_COURSE1
Var 0063, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 4, Type 2
{
L0 = &E_COURSE1 * -1
&D_COURSE1 = ROTATE 0 ,359 ,L0
}
Var 0064, name D_COURSE1, Link IOCARD_DISPLAY, Digit 0, Numbers 3
{
&APD_COURSE1 = &D_COURSE1
}
Var 0065, name APD_COURSE2, Link FSUIPC_INOUT, Offset $0C5E, Length 2 // APD_COURSE2
Var 0066, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 2
{
L0 = &E_COURSE2 * -1
&D_COURSE2 = ROTATE 0 ,359 ,L0
}
Var 0067, name D_COURSE2, Link IOCARD_DISPLAY, Digit 19, Numbers 3
{
&APD_COURSE2 = &D_COURSE2
}
Var 0068, name I_DISENGAGE, Link IOCARD_SW, Input 15