Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CDU

Questions de programmation / Offset FSUIPC et IOCP

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede fab » Mar 12 Avr 2016 18:46

Pour moi, avec la casquette programmeur, mask veut dire que tu isoles un bit. En SIOC c'est la commande testbit il me semble.

Fabien
Avatar de l’utilisateur
fab
 
Messages: 4414
Inscription: 26/12/12
Localisation: Roubaix

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede mameloose » Mar 12 Avr 2016 18:48

on dirai des bit essaye la fonction testbit de ton offset

par exemple pour la led fd left c'est le bit 1 donc dans le code ca donnerai ca


Var 0001, name LEDSTATUT, Link FSUIPC_INOUT, Offset $7376, Length 2
{
&LEDFDLEFT = TESTBIT &LEDSTATUT ,1
}

Var 0002, name LEDFDLEFT, Link IOCARD_OUT, Output 11
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Mar 12 Avr 2016 18:51

Merci fab, c'est ce que je pensait mais je voulais être sur, donc je fais teste bit de la façon traditionnel via sioc merci affiche
Dernière édition par jacquesvde le Mar 12 Avr 2016 19:52, édité 1 fois.
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Mar 12 Avr 2016 18:54

merci affiche Tonton mameloose grandsoleil la réponse a été très rapide ecroulerire ecroulerire ecroulerire lol
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Mar 12 Avr 2016 21:49

Bonsoir,
Avec les bons conseils de BOB, de fab et de greg. grandsoleil

J’ai commencé la programmation du MCP de OC en Sioc. Bien que je transforme un programme SIOC qui fonctionne pour le MCP OC avec les avions native comme le 737 800 FSX.

1er essais: La fonction CMD A est opérationnel ça fonctionne très bien. chouettedoights
Merci à vous. merci affiche

Bon je continue pas à pas la programmation du MCP et j’envisage de construire un EFIS 737 ensuite sa programmation. Si par hasard vous avez des liens sur un site internet pour la construction d’un EFIS maison je suis prenant. yeuxhaut

PS : J’ai pris du retard car j’ai eu le décès d’un de mes frères et bien d’autre tourment de la vie, enfin comme on dit c’est la vie.

Jacques cligneoeil
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Ven 15 Avr 2016 18:16

Bonjour,
Le MCP d' Open cockpit V2 avec aerosystem737 prend vie. rigolus
le programme en sioc commence a me plaire.
Bon aerosystem737 est le PM du pauvre il ne Modélise pas toutes les fonctions du B_737 800, par contre le programme fonctionne en Stand-Alon , pour débuter c'est bien. chouettedoights
J'ai fais un vol avec le MCP OC et un atterrissage avec APP.

Image

Image

Image

Les boutons qui fonctionne maintenant. grandsoleil

Push N1
Push SPEED
Push VNAV
Push LVL CHG
Push HDL SEL
Push LNAV
Push VOR/LOC
Push APP
Push ALT HOLD
Push V/S
Push CMD A
Push CMD B
le HEADING S'affiche Sur Le MCP AS, le MCP OC, le MCP FSX c'est parfais. grandsoleil

j'ai un problème avec mon code Interrupteur gratgrat ON-OFF je doit faire fonctionner deux fois l’interrupteur, j'ai fais l'essais avec le TYPE S,I,P,H toujours le PB ? furieuxfumée

Pour : AT ARM
Var 0073, name I_AT, Link IOCARD_SW, Input 33
{
C0 = &I_AT = 1
C1 = &commande = 0
IF C0 AND C1
{
&commande = 11
}
}
Pour F/D_gauche
var 0057, name I_FD_L, Link IOCARD_SW, Input 16
{
C0 = &I_FD_L = 1
C1 = &commande = 0
IF C0 AND C1
{
&commande = 10
}
}

Pour programmer l'encodeur de l’ALTIDUE et LE V/S et Speed là je pédale dans la semoule à l'aide. merci affiche

Var 0074, name commande, Link FSUIPC_INOUT, Offset $7370, Length 1
Var 0075, name valeur, Link FSUIPC_INOUT, Offset $7371, Length 2
1 0 to 500 MCP altitude divided by 100. eg. to set MCP to 37500 write 375
2 -79 to60 Vertical speed divided by 100

Code: Tout sélectionner
Command   Value      Description
(decimal)(decimal)   MCP
Var 0074, name commande, Link FSUIPC_INOUT, Offset $7370, Length 1

Var 0075, name valeur, Link FSUIPC_INOUT, Offset $7371, Length 2

1      0 to 500    MCP altitude divided by 100. eg. to set MCP to 37500 write 375
2      -79 to60    Vertical speed divided by 100
10      none       flight director toggle (read status from FSX to determine initial state)Input 16
11      none       AT ARM toggle (read status from FSX to determine initial state)
12      none       Push N1
13      none       Push SPEED
14      none       Push VNAV
15      none       Push LVL CHG
16      none       Push HDL SEL
17      none       Push LNAV
18      none       Push VOR/LOC
19      none       Push APP
20      none       Push ALT HOLD
21      none       Push V/S
22      none       Push CMD A
23      none       Push IAS/MACH change over
24      none       Push TOGA takeoff mode 1 - pilot pitches aircraft manually for takeoff
25      none       Push TOGA takeoff mode 2 - autopilot pitches nose-up at Vr and takes off by itself (auto takeoff)
26      none       Push CMD B

            EFIS
30       none       Push WXR
31       none       Push STA
32       none       Push WPT
33       none       Push ARPT
34       none       Push DATA
35       none       Push POS
36       none       Push TERR
37       none       ADF/VOR Left OFF
38       none       ADF/VOR Left ADF
39       none       ADF/VOR Left VOR
40       none       ADF/VOR Right OFF
41       none       ADF/VOR Right ADF
42       none       ADF/VOR Right VOR
43       none       Map Mode APP
44       none       Map Mode VOR
45       none       Map Mode MAP
46       none       Map Mode PLAN
47       none       Map Range 5
48       none       Map Range 10
49       none       Map Range 20
50       none       Map Range 40
51       none       Map Range 80
52       none       Map Range 160
53       none       Map Range 320
54       none       Map Range 640
55       none       Push STD BARO
56       none       Push DH baro reset
57       0 to 9000    DH baro minimum decent altitude
58       none       Push TRAFFIC
59       none       Push Centre/Expanded Map
60       none       toggle SYS hydraulic display

CDU
eg. write 250 as the command and 1 as the value to press the LSK 1 Left key on the CDU.

250       1       LSK 1L
250       2       LSK 2L
250       3       LSK 3L
250       4       LSK 4L
250       5       LSK 5L
250       6       LSK 6L
250       7       LSK 1R
250       8       LSK 2R
250       9       LSK 3R
250       10      LSK 4R
250       11      LSK 5R
250       12      LSK 6R
250       32 to 90    ASCII code for the key pressed. eg. 65 is the letter A, 32 is a space
                                                                                                                                                         etc.
250       100       Push +/- key.  Note this key toggles in the CDU between + and - when
                                                                                                                                                     pressed
250       101       Push CLR
250       102       Push DEL
250       200       Push INIT REF
250       201       Push RTE
250       202       Push CLB
250       203       Push CRZ
250       204       Push DES
250       205       Push MENU
250       206       Push LEGS
250       207       Push DEPARR
250       208       Push HOLD
250       209       Push PROG
250       210       Push N1 LIMIT
250       211       Push FIX
250       212       Push PREV PAGE
250       213       Push NEXT PAGE
250       214       Push EXEC

READ COMMAND LIST
Reading data from AeroSystems is identical to reading data from any other FSUIPC offset. For aeroSystems software additional data is available for the MCP LED status and MCP altitude.
Simply read these below to get AeroSystems data.
Address          Value             Description
(hex)
MCP
7374 hex      word (2 bytes)          MCP altitude divided by 100. eg. 37500 feet is 375
7376 hex      word (2 bytes)          LED status for the MCP is contained in 16-bits with
                                                                                                              each bit representing a LED on or off.
mask values to test each bit are as follow:Testbit 16-bits

         N°Bit

mask 0001  0      FD left
mask 0002  1      FD right
mask 0004  2      AT ARM
mask 0008  3      N1
mask 0010  4      SPEED
mask 0020  5      VNAV
mask 0040  6      LVL CHG
mask 0080  7      HDG
mask 0100  8      LNAV
mask 0200  9      VOR LOC
mask 0400  10     APP
mask 0800  11     ALT HOLD
mask 1000  12     VS
mask 2000  13     CMD A
mask 4000  14     VS mode active (use to blank your VS display when set to 0)
mask 8000  15     C/O 0=IAS mode, 1=MACH mode

7378 Hex     word (2 bytes)
mask 0001    CMD B
mask 0002    CDU EXEC LED
mask 0004    CDU MSG LED


Code: Tout sélectionner
// *****************************************************************************
// * Config_SIOC ver 4.3   -     By Manuel Velez    -    www.opencockpits.com
// *****************************************************************************
// * FileName : AS_MCP.txt
// * Date : 15/04/2016



Var 0000, Value 0
{
  &D_HDG = 360   
}

Var 0001, name AP_MASTER_SW, Link FSUIPC_INOUT, Offset $07BC, Length 4

Var 0002, Link FSUIPC_INOUT, Offset $07C0, Length 4     // AP_LVL

Var 0003, Link FSUIPC_INOUT, Offset $07C4, Length 4     // AP_NAV1

Var 0004, Link FSUIPC_INOUT, Offset $07C8, Length 4     // AP_HDG_SEL

Var 0005, name AP_ALT, Link FSUIPC_INOUT, Offset $07D0, Length 4     // AP_ALT

Var 0006, name AP_IAS, Link FSUIPC_INOUT, Offset $07DC, Length 4     // AP_IAS

Var 0007, name APD_IAS, Link FSUIPC_INOUT, Offset $07E2, Length 2     // D_IAS

Var 0008, name APD_ALT, Link FSUIPC_INOUT, Offset $07D4, Length 4     // APD_ALT

Var 0009, name AP_MACH, Link FSUIPC_INOUT, Offset $07E4, Length 4     // AP_MACH

Var 0010, name APD_MACH, Link FSUIPC_INOUT, Offset $07E8, Length 4     // APD_MACH

Var 0011, Link FSUIPC_INOUT, Offset $3210, Length 2     // LOCALV_IAS/M

Var 0012, name APD_VS, Link FSUIPC_INOUT, Offset $07F2, Length 2, Type 1     // D_V/S

Var 0013, Link FSUIPC_INOUT, Offset $0810, Length 4     // AP_AT

Var 0014, Link FSUIPC_INOUT, Offset $2EE0, Length 4     // AP_FD

Var 0015, Link FSUIPC_INOUT, Offset $07C4, Length 4     // AP_NAV

Var 0016, Link FSUIPC_INOUT, Offset $0800, Length 4     // AP_APP

Var 0017, Link FSUIPC_INOUT, Offset $0804, Length 4     // AP_BC

Var 0018, Link FSUIPC_INOUT, Offset $0808, Length 4     // AP_YD

Var 0019, name APD_COURSE1, Link FSUIPC_INOUT, Offset $0C4E, Length 2

Var 0020, name APD_COURSE2, Link FSUIPC_INOUT, Offset $0C5E, Length 2

Var 0021, name FS_IAS, Link FSUIPC_IN, Offset $02BC, Length 4     // IAS FS

Var 0022, name FS_MACH, Link FSUIPC_IN, Offset $11C6, Length 2     // IAS FS

Var 0023, Link FSUIPC_INOUT, Offset $07FC, Length 4     // AP_APP2

Var 0024, name CMD

Var 0025, name SPEED

Var 0026, name T_IAS

Var 0027, name T_MACH

Var 0028, name F_IAS

Var 0029, name CONTADOR

Var 0030, name D_COURSE1, Link IOCARD_DISPLAY, Digit 0, Numbers 3

Var 0031, name D_IAS, Link IOCARD_DISPLAY, Digit 3, Numbers 3

Var 0032, name D_ALT, Link IOCARD_DISPLAY, Digit 9, Numbers 5

Var 0033, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 5

Var 0034, name D_COURSE2, Link IOCARD_DISPLAY, Digit 19, Numbers 3

Var 0035, name O_DECIMAL, Link IOCARD_OUT, Output 20

Var 0036, name O_N1, Link IOCARD_OUT, Output 21

Var 0037, name O_AT, Link IOCARD_OUT, Output 22

Var 0038, name O_SPEED, Link IOCARD_OUT, Output 23

Var 0039, name O_LVLCHG, Link IOCARD_OUT, Output 24

Var 0040, name O_VNAV, Link IOCARD_OUT, Output 25

Var 0041, name O_HDGSEL, Link IOCARD_OUT, Output 26

Var 0042, name O_APP, Link IOCARD_OUT, Output 27

Var 0043, name O_VORLOC, Link IOCARD_OUT, Output 28

Var 0044, name O_LNAV, Link IOCARD_OUT, Output 29

Var 0045, name O_ALTHLD, Link IOCARD_OUT, Output 30

Var 0046, name O_VS, Link IOCARD_OUT, Output 31

Var 0047, name O_CWSA, Link IOCARD_OUT, Output 32

Var 0048, name O_CMDA, Link IOCARD_OUT, Output 33

Var 0049, name O_CWSB, Link IOCARD_OUT, Output 34

Var 0050, name O_CMDB, Link IOCARD_OUT, Output 35

Var 0051, name E_IAS, Link IOCARD_ENCODER, Input 0, Aceleration 4, Type 2

Var 0052, name E_ALT, Link IOCARD_ENCODER, Input 2, Aceleration 4, Type 2

Var 0053, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 4, Type 2

Var 0054, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 4, Type 2

Var 0055, name E_VS, Link IOCARD_ENCODER, Input 11, Aceleration 4, Type 2

Var 0056, name I_CO, Link IOCARD_SW, Input 13

Var 0057, name I_FD_L, Link IOCARD_SW, Input 16
{
  C0 = &I_FD_L = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 10   
  }
}

Var 0058, name I_DISENGAGE, Link IOCARD_SW, Input 50

Var 0059, name I_CWSB, Link IOCARD_SW, Input 18

Var 0060, name I_CMDB, Link IOCARD_SW, Input 19
{
  C0 = &I_CMDB = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 26   
  }
}

Var 0061, name I_CWSA, Link IOCARD_SW, Input 20

Var 0062, name I_CMDA, Link IOCARD_SW, Input 21
{
  C0 = &I_CMDA = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 22   
  }
}

Var 0063, name I_VS, Link IOCARD_SW, Input 22
{
  C0 = &I_VS = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 21   
  }
}

Var 0064, name I_ALTHLD, Link IOCARD_SW, Input 23
{
  C0 = &I_ALTHLD = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 20   
  }
}

Var 0065, name I_APP, Link IOCARD_SW, Input 24
{
  C0 = &I_APP = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 19   
  }
}

Var 0066, name I_VORLOC, Link IOCARD_SW, Input 25
{
  C0 = &I_VORLOC = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 18   
  }
}

Var 0067, name I_LNAV, Link IOCARD_SW, Input 27
{
  C0 = &I_LNAV = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 17   
  }
}

Var 0068, name I_HDGSEL, Link IOCARD_SW, Input 28
{
  C0 = &I_HDGSEL = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 16   
  }
}

Var 0069, name I_LVLCHG, Link IOCARD_SW, Input 29
{
  C0 = &I_LVLCHG = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 15   
  }
}

Var 0070, name I_VNAV, Link IOCARD_SW, Input 30
{
  C0 = &I_VNAV = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 14   
  }
}

Var 0071, name I_SPEED, Link IOCARD_SW, Input 31
{
  C0 = &I_SPEED = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 13   
  }
}

Var 0072, name I_N1, Link IOCARD_SW, Input 32
{
  C0 = &I_N1 = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 12   
  }
}

Var 0073, name I_AT, Link IOCARD_SW, Input 33
{
  C0 = &I_AT = 1
  C1 = &commande = 0
  IF C0 AND C1
  {
    &commande = 11   
  }
}

Var 0074, name commande, Link FSUIPC_INOUT, Offset $7370, Length 1

Var 0075, name valeur, Link FSUIPC_INOUT, Offset $7371, Length 2

Var 0076, name Lire_MCP, Link FSUIPC_INOUT, Offset $7374, Length 2

Var 0077, name LEDSTATUT, Link FSUIPC_INOUT, Offset $7376, Length 2
{
  &O_AT = TESTBIT &LEDSTATUT ,2
  &O_N1 = TESTBIT &LEDSTATUT ,3
  &O_SPEED = TESTBIT &LEDSTATUT ,4
  &O_VNAV = TESTBIT &LEDSTATUT ,5
  &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
}

Var 0078, name LED_STATUS_B, Link FSUIPC_INOUT, Offset $7378, Length 2
{
  &O_CMDB = TESTBIT &LED_STATUS_B ,0
}

Var 0079, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
{
  L0 = &E_HDG * -1
  &D_HDG = ROTATE 1 ,360 ,L0
}

Var 0080, name D_HDG, Link IOCARD_DISPLAY, Digit 6, Numbers 3
{
  L1 = &D_HDG * 182.04444
  L0 = L1 + 1
  &APD_HDG = L0   
}

Var 0081, name APD_HDG, Link FSUIPC_INOUT, Offset $07CC, Length 2     // APD_HDG


Ci-dessus les commandes et le code partiel en Sioc et FSUIPC.
Bon je continue ce que je peux programmer en Sioc merci de m’aider. merci affiche grandsoleil
Jacques cligneoeil
Dernière édition par jacquesvde le Ven 15 Avr 2016 18:43, édité 1 fois.
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede mameloose » Ven 15 Avr 2016 18:43

pour tes encodeurs tu utilise des type gray ?
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Ven 15 Avr 2016 18:46

Salut Greg grandsoleil ,
c'est les encodeur de Open Cockpits qui est sur le MCP d'open-Cockpits V2

un exemple qui fonctionne avec FSUIPC mais pour $commande je ne sais pas comment faire le code? gratgrat
Var 0074, name commande, Link FSUIPC_INOUT, Offset $7370, Length 1 gratgrat

Var 0075, name valeur, Link FSUIPC_INOUT, Offset $7371, Length 2

1 0 to 500 MCP altitude divided by 100. eg. to set MCP to 37500 write 375
2 -79 to60 Vertical speed divided by 100 gratgrat

Var 0079, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 4, Type 2
{
L0 = &E_HDG * -1
&D_HDG = ROTATE 1 ,360 ,L0
}
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede mameloose » Ven 15 Avr 2016 18:54

ok donc c'est du gray
alors tu declare ton encodeur en type 2 et en entrée tu met la premiere valeur (dans sioc monitor quand tu tourne ton encodeur ca va faire un truc comme 21 22 22 21 )

donc tu met 21 puis pour laltitude par exemple ca donne ca :

Var 0001, name ALT, Link FSUIPC_INOUT, Offset $7371, Length 2

Var 0002, name ENCODEURALT, Link IOCARD_ENCODER, Input 21, Aceleration 6, Type 2
{
&ENCODEURALT = LIMIT 0 ,500 ,&ALT
}
Avatar de l’utilisateur
mameloose
 
Messages: 1271
Inscription: 20/04/09
Localisation: evreux

Re: Script Sioc via FSIUPC pour aeroSystem737, MCP, EFIS, CD

Messagede jacquesvde » Ven 15 Avr 2016 19:34

Oui mais on doit introduire la commande 1 avec la variable &commande = 1 et aussi une valeur alors là je ne sais pas comment faire?
Bon je vais essayer et je te dirais quoi, le grand défis est d’afficher les données sur le MCP AS, le MCP FSX et le MCP OC , bien sûr aussi encoder les données gratgrat
PS : j’étais occupé de manger entre deux conversations ecroulerire ecroulerire ecroulerire
A+ Greg merci affiche

Jacques cligneoeil
Avatar de l’utilisateur
jacquesvde
 
Messages: 1226
Inscription: 20/04/09
Localisation: Courcelles Belgique

PrécédenteSuivante

Retourner vers Programmation Sioc





Qui est en ligne

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