Qu'est-ce que Simconnect

Simconnect est l'API officielle de communication de Prepar3D.

Elle permet à une application externe ( serveur, client, réseaux, cockpit, tablette, arduino,  etc ...) de :

- lire l'état du simulateur,

- envoyer des commandes de pilotage

- interagir avec les sytème avion et l'environnement

A quoi sert Simconnect concrètement ?

Avec SimConnect, on peut :

 Lire des données :

- position avion (lat/long/alt)

- vitesse, cap, attitude

- état des systèmes (batteries, parking brake, lights, etc...)

 Envoyer des commandes :

- vues (pan, hat, zoom, etc...)

- commandes avion (gear, flaps, brake,etc...)

- événements personnalisés

 Créer des interfaces externes :

- panels tactiles

- hardware cockpit

- serveurs TCP 

Architecture typique

[ Client externe ]
       │  (TCP / WinAPI / UI)
       ▼
[ Application Serveur ]
       │  (SimConnect)
       ▼
[ Prepar3D ]
 

SimConnect fonctionne localement ou via réseau

Le simulateur reste maître des données

Le client n’accède jamais directement au cœur de P3D

Types de communication SimConnect

Variables (SimVars)
- lecture continue ou à la demande
ex : BRAKE PARKING POSITION, ELECTRICAL MASTER BATTERY

Events
- actions ponctuelles
ex : PARKING_BRAKES, TOGGLE_AVIONICS_MASTER

Data Definitions
- structure des données échangées

SimConnect côté code (principe)

Connexion à Prepar3D

Déclaration des variables/événements

Boucle de réception (callback)

Envoi de commandes vers le sim

👉 Peut être utilisé en C#, C++, Python (via wrapper)

SimConnect et P3D (important)

P3D utilise sa propre version de SimConnect

Compatible avec :

FSX (partiellement)

P3D v4 / v5 (x64)

Nécessite :

SimConnect.dll

parfois SimConnect.xml pour le réseau

Cas d’usage typiques

Cockpit home cockpit 🧑‍✈️

Panels tactiles (Simu320)

Serveur de commandes réseau (Lexosim)

Synchronisation multi-PC

Interfaces

Limites à connaître

Pas accès direct aux systèmes custom très complexes (ex : certains add-ons)

Dépend fortement de la qualité d’implémentation avion

Certaines actions nécessitent offsets FSUIPC en complément

Configuration de SimConnect

Coté Serveur

Installer le SDK correspondant à la version de Prepar3D, ouvrer \le dossier : Programme\Lockeed_Martin\reteil\interface\FSX_SP2\lib\  executer le SimConnect.msi. 

SimConnect.xml : Configuation du serveur:

Chemin d'accés : %APPDATA\lockheed Martin\Prepar3D VX ( X numéro de la version ). Doit être placer dans le PC où se trouve Prepar3D

 

Exemple de SimConnect.xml

<SimBase.Document version="1,0" Type="SimConnect">
    <Descr>SimConnect</Descr>
    <Filename>SimConnect.xml</Filename>
    <Disabled>False</Disabled>
    <SimConnect.Comm>
        <Disabled>False</Disabled>
        <Protocol>IPv4</Protocol>
        <Scope>global</Scope>
        <Address>XXX.XXX.X.XX</Address>  ( Remplacer  par l'adresse du PC Serveur.)
        <MaxClients>64</MaxClients>
        <Port>9017</Port>
        <MaxRecvSize>4096</MaxRecvSize>
        <DisableNagle>True</DisableNagle>
    </SimConnect.Comm>
    <SimConnect.Comm>
        <Disabled>False</Disabled>
        <Protocol>IPv4</Protocol>
        <Scope>local</Scope>
        <Address>127.0.0.1</Address>
        <MaxClients>64</MaxClients>
        <Port>9017</Port>
        <MaxRecvSize>4096</MaxRecvSize>
        <DisableNagle>True</DisableNagle>
    </SimConnect.Comm>
</SimBase.Document>

 

Si besoin d'un log. Mettre SimConnect.ini sur le PC serveur dans le dossier :  %USER%\Documents\Prepar3D Files VX                    ( X numéro de version )

Exemple de SimConnect.ini

[SimConnect]
level=verbose
console=1
;RedirectStdOutToConsole=1
;OutputDebugString=1
;file=c:\simconnect%03u.log
;file_next_index=0
;file_max_index=9

Côté client

Mettre SimConnect.cfg dans %USER%\Documents du PC client

Exemple de fichier SimConnect.cfg :

[SimConnect]
Protocol=IPv4
Address=XXX.XXX.X.XX  ( Adresse du PC Serveur )
Port=9017
 

©Droits d'auteur. Tous droits réservés.

Nous avons besoin de votre consentement pour charger les traductions

Nous utilisons un service tiers pour traduire le contenu du site web qui peut collecter des données sur votre activité. Veuillez consulter les détails dans la politique de confidentialité et accepter le service pour voir les traductions.