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

Bonjour,
Tout d’abord je vous souhaite une bonne et heureuse année 2016.
J’ai parcouru de nombreux forum pour avoir un exemple de script FSUIPC concernant le MCP d’open Cockpit avec aeroSystem737 sans aucun résultat.
Bon je mets les mains dans le cambouis je désir programmer le MCP pas à pas, même si cela dur 6 mois.
Le problème c’est que je ne sais pas par où commencer quoi que j’ai des connaissances avec la programmation de FSUIPC et Sioc.
J’ai fait des essais mais je me heurte à quelques problèmes de paramètre.
1. Avant d'envoyer une commande, vous devez d'abord vous assurer que l'adresse 7370 hex a une valeur de 0. ? comment mettre cette adresse a 0.
2. Var 0001, Link FSUIPC_IN, Offset $7370, Length 2 >> Length doit avoir quelle valeur en sachant que l’offset est d’un octet ?
C’est juste le début et d’autre question vous sera poser au fur et à mesure pour une compréhension du programme que j’aimerais qu’il devienne un tuto, si les modérateurs ne trouve pas d’inconvénients.
D’avance je vous remercie pour votre aide.
Jacques.
Tout d’abord je vous souhaite une bonne et heureuse année 2016.
J’ai parcouru de nombreux forum pour avoir un exemple de script FSUIPC concernant le MCP d’open Cockpit avec aeroSystem737 sans aucun résultat.
Bon je mets les mains dans le cambouis je désir programmer le MCP pas à pas, même si cela dur 6 mois.
Le problème c’est que je ne sais pas par où commencer quoi que j’ai des connaissances avec la programmation de FSUIPC et Sioc.
J’ai fait des essais mais je me heurte à quelques problèmes de paramètre.
1. Avant d'envoyer une commande, vous devez d'abord vous assurer que l'adresse 7370 hex a une valeur de 0. ? comment mettre cette adresse a 0.
2. Var 0001, Link FSUIPC_IN, Offset $7370, Length 2 >> Length doit avoir quelle valeur en sachant que l’offset est d’un octet ?
C’est juste le début et d’autre question vous sera poser au fur et à mesure pour une compréhension du programme que j’aimerais qu’il devienne un tuto, si les modérateurs ne trouve pas d’inconvénients.
D’avance je vous remercie pour votre aide.
Jacques.
- Code: Tout sélectionner
Comment connecter du matériel externe
Certain matériel fonctionne avec AeroSystems et d’autre exigera une programmation. Si vous savez comment coder, vous pouvez utiliser l'interface simple d'interagir avec FSUIPC, le lien entre FSX et AeroSystems, pour contrôler le matériel externe.
INTRODUCTION
Nous utilisons les offset de FSUIPC standard, qui vous permettent de lire et d'écrire des données vers et à partir du logiciel de AeroSystems. La lecture et l'écriture des données est un processus simple et vous donne accès à l'AeroSystems MCP, EFIS et CDU. Vous pouvez envoyer sur simple pressions de bouton, tourner des commutateurs sur On,Off, ainsi que d'envoyer des éléments clés pour le CDU. Vous pouvez également lire l'état des compteurs et des affichages LED.
L’offset dans FSUIPC pour AeroSystems commencent à l'adresse 7370 hex et occupent 32 octets.
Envoyer une commande a AeroSystems
Envoi d'une commande est très simple. Une commande est envoyée en utilisant les adresses ci-dessous.
Adresse longueur de description
7370 hex commandes 1 octet
7371 hex petites valeurs entières (2 octets)
Avant d'envoyer une commande, vous devez d'abord vous assurer que l'adresse 7370 hex a une valeur de 0.
Si elle est de 0, vous pouvez écrire une commande à cette adresse, avec une valeur facultative pour aborder 7371 hex.
Lorsqu’AeroSystems a terminé le traitement de la commande, AeroSystems fixeront 7370 hex à 0, vous informant qu'il est prêt à accepter une autre commande.
Voici un exemple simple:
Si la valeur à l'adresse 7370 hex = 0 alors
commencer, Fsuipc peut exécute la demande.
Écrire une commande pour aborder 7370 hex
Écrire une valeur facultative comme un petit entier (-32767 à 32767) pour aborder 7371 hex
Fsuipc envoyer la demande fin.
Alors rappelez-vous, si 7370 est différent de 0, vous ne pouvez pas envoyer une commande jusqu'à AeroSystems réinitialise à 0.
SENDING A COMMAND TO AEROSYSTEMS
Sending a command is very simple. A command is sent using the addresses below.
Address description length
7370 command 1 byte
7371 value small integer (2 bytes)
Before you send a command you must first make sure that address 7370 hex has a value of 0. if it is 0 you can write a command to that address, with an optional value to address 7371 hex. When aeroSystems has finished processing the command, aeroSystems will set 7370 hex back to 0, informing you that it’s ready to accept another command.
Here’s an easy example:
If value at address 7370 hex = 0 then
begin
FSUIPC begin request
write a command to address 7370 hex
write an optional value as a small integer (-32767 to +32767) to address 7371 hex
FSUIPC send request end
So remember, if 7370 is not 0 you cannot send a command until aeroSystems resets it back to 0.
WRITE COMMAND LIST
These are the commands you send to aeroSystems.
Command Value Description
(decimal) (decimal) MCP
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)
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:
mask 0001 FD left
mask 0002 FD right
mask 0004 AT ARM
mask 0008 N1
mask 0010 SPEED
mask 0020 VNAV
mask 0040 LVL CHG
mask 0080 HDG
mask 0100 LNAV
mask 0200 VOR LOC
mask 0400 APP
mask 0800 ALT HOLD
mask 1000 VS
mask 2000 CMD A
mask 4000 VS mode active (use to blank your VS display when set to 0)
mask 8000 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