Benutzer-Werkzeuge


hardware:anleitungen:ucp-compact:software:simconnect

SimConnect-Client für UCP

Systembeschreibung

SimConnect ist eine von Microsoft entwickelte Schnittstelle zur Kommunikation externer Programme mit dem Flugsimulator. Der SimConnect-Server wird zusammen mit dem Flugsimulator installiert. SimConnect-Clients können unter bestimmten Voraussetzungen auch auf weiteren Netzwerk-PCs installiert werden, auf diese Möglichkeit wird hier aber nicht eingegangen, da aus Gründen der schnellen Übertragung der USB-Ereignisse z.B. von Drehimpulsgeben, eine lokale Installation der Clients bevorzugt wird.

Funktionsschema des SimConnect-Clients UCPControl

Der SimConnect-Client kommuniziert direkt mit dem USB-Controller. Die Ereignisse an der Tastatur-Matrix und an den Eingabe-Ports werden vom USB-Controller verarbeitet und entsprechend der Definitionen in der Konfigurationsdatei werden Ereignisse (Event-IDs) zum SimConnect-Server gesendet.

Diese Ereignisse können priorisiert werden, damit ist es möglich über den SimConnect-Server auch selbst definierte Ereignisse an weitere SimConnect-Clients wie z.B. den TFT-Interface Client zu senden.

Der UCPControl-Client kann Simulations-Variablen abfragen und entsprechend der Definition in der Konfigurationsdatei diese zur Ansteuerung von Anzeigen an den Ausgabe-Ports nutzen


System-Voraussetzungen

Für die Verwendung des ITRA-SimConnect-Clients ist die Installation der aktuellen Version des FSX oder Prepar3D notwendig. Es müssen die aktuellen Treiber für die ITRA-Geräte installiert sein. Für die Verwendung der USB-Geräte installieren Sie bitte vor dem Anschluss des Gerätes an den PC das ITRA-USB-Treiberpaket.

Speicherort der ITRA-SimConnect-Clients:
Win7-64bit: C:\Program Files (x86)\ITRA\SimConnect
Win7-32bit: C:\Program Files\ITRA\SimConnect

Speicherort der Konfigurations-Dateien der ITRA-SimConnect-Clients
C:\Users\Benutzername\AppData\Roaming\ITRA\SimConnect

Speicherort der Konfigurations-Dateien exe.xml und dll.xml des FSX
C:\Users\Benutzername\AppData\Roaming\Microsoft\FSX

Speicherort der Konfigurations-Dateien exe.xml und dll.xml des Prepar3D
C:\Users\Benutzername\AppData\Roaming\Lockheed Martin\Prepar3D

Die Konfigurationsdateien können z.B. mit dem Editor (Programme → Zubehör) angezeigt und bearbeitet werden. Entsprechende Links zu den Konfigurationsdateien werden bei der Installation im Programmordner erzeugt.

Wir empfehlen die Benutzung der mitgelieferten Konfigurations-Programme.

Es bestaht auch die Möglichkeit der Einrichtung zum automatischen Starten der SimConnect-Clients mit dem Flugsimulator.

Hinweis: Falls die SimConnect-Clients auf Ihrem System mit einer Fehlermeldung starten, dann müssen auf Ihrem System die aktuellen Laufzeitbibliotheken für die Programmumgebung installiert werden. Diese finden Sie über die Microsoft Downloads.
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Visual C++ Redistributable Packages für Visual Studio 2013


Software-Installation

Das Paket finden Sie auf im ITRA-Support-Bereich auf Sim&IT. Es besteht aus dem SimConnect-Client und Tools zum Erstellen der Konfigurationsdateien.
→ Download ucpcontrol-simconnect.zip

Wählen Sie bei der Installation das Konfigurations-Tool für den von Ihnen eingesetzten Flugsimulator (FSX oder Prepar3D) aus. Die Tools sind funktional gleich, aber die Pfade sind entsprechend der Flugsimulatoren eingestellt.

In den nächsten Abfragen können Sie den Zielordner der Installation und den Menü-Ordner der Programm-Gruppe ändern. Mit „Fertigstellen“ ist die Client-Installation abgeschlossen.

Nach der Installation finden Sie in der Programmgruppe ITRA → SimConnect den SimConnect-Client sowie Dokumentationen, einen Link zur Konfigurationsdatei und ein Konfigurationsprogramm für den Flugsimulator.

Beim Starten des Clients wird eine Verbindung zum Flugsimulator gesucht und wenn dieser gestartet ist, aufgebaut, danach wird das Flightboard gesucht. Informationen über den Status sowie die geladene Konfigurationsdatei werden im Konsolenfenster des Clients angezeigt.

Für erfahrene Benutzer

Jede Client-Verknüpfung kann durch Hinzufügen eines Konfigurationsdateinamens an das Ende des Verknüpfungsziels mit einer separaten Konfiguration ausgeführt werden. Die angegebene Konfigurationsdatei wird erst im aktuellen Programm-Pfad und dann im oben angegebenen Applikations-Datenpfad für die SimConnect-Clients gesucht.

Achtung! Wenn der Client über die exe.xml vom Flugsimulator gestartet wird ist der aktuelle Programm-Pfad der Flugsimulator-Pfad. Die geeignetere Ablage für Konfigurationsdateien ist der Applikations-Datenpfad der SimConnect-Clients.


Software-Konfiguration

SimConnect Autostart

Das automatische Starten der SimConnect-CLients mit dem Flugsimulator ist im HowTo SimConnect-Client Autostart beschrieben.

Konfigurationsdatei des SimConnect-Clients

In der Hilfe-Datei des SimConnect SDK bzw. auf der Webseite des Microsoft ESP bzw. Prepar3D. Im Abschnitt Event-IDs sind die Zeichenketten (String Name) für die Ereignisse beschrieben, die bei der Definition der Tasten und Schalter verwendet werden können.

Die Zeichenketten der Variablen, die bei der Ansteuerung der LEDs verwendet werden, befinden sich im Abschnitt Simulation Variables.

Der standardmäßig verwendete Dateiname ist ITRA-UCPControl.cfg.
Es gibt vier Sektionen in der Konfigurationsdatei des SimConnect-Clients

[UCPControl]       Grundlegende Definitionen
INDEX=0            -> je nach programmiertem Index des 
                      USB-Controllers, Standard ist 0
DEBOUNCE=0         -> Entprellung (Wert*50ms)
[UCP_KEYS]         Definition der Tastenzuordnungen
Z0_S0=DME_SELECT   -> String-Definition für Tast-Ereignis entsprechend der
                      Dokumentation des SimConnect-SDK im Abschnitt Event-IDs,
                      Beispiel für DME-Auswahl
Z0_S0_ARG=2        -> Einige Kommandos erfordern einen Parameter
                      Beispiel für DME2
                      Es sind hier nur Zahlen als Argument möglich
Z0_S0_REPEAT=0     -> {0..10} Faktor zum Definieren der Wiederholfunktion, 0=aus
                      1 entspricht ca. 50ms
                      10 entspricht ca. 500ms
Z0_S0_PRIORITY=0   -> {0,1} setzen auf hohe Event-Priorität für Senden von selbst 
                      definierten Ereignissen an weitere SimConnect-Clients 
                      z.B. zum ITRA-Interface-Client
...
Z8_S15
Z8_S15_ARG	
Z8_S15_REPEAT     
Z8_S15_PRIORITY    -> derzeit werden 144 Taster unterstützt von 
                      Zeile0/Spalte0 bis Zeile8/Spalte15
[UCP_SWITCHES]     Schalterdefinition bei Verwendung der Eingabeports
                   (I²C-Adressen 20..23)
P0_B0_OFF          -> String-Definition für Ausschalt-Ereignis des Schalters
                      entsprechend der Dokumentation des SimConnect-SDK im 
                      Abschnitt Event-IDs
P0_B0_OFF          -> String-Definition für Einschalt-Ereignis des Schalters
                      entsprechend der Dokumentation des SimConnect-SDK im 
                      Abschnitt Event-IDs
P0_B0_OFF_ARG      -> Einige Kommandos erfordern einen Parameter
                      Es sind hier nur Zahlen als Argument möglich
P0_B0_ON_ARG       -> Einige Kommandos erfordern einen Parameter
                      Es sind hier nur Zahlen als Argument möglich
P0_B0_PRIORITY=0   -> {0,1} setzen auf hohe Event-Priorität für Senden von selbst 
                      definierten Ereignissen an weitere SimConnect-Clients 
...
P3_B7_OFF
P3_B7_ON
P3_B7_OFF_ARG
P3_B7_ON_ARG
P3_B7_PRORITY      -> Es werden maximal 4 Ports (32 Eingänge) unterstützt

Es wird jeweils einmalig ein Kommando beim Zustandswechsel des Schalters ausgegeben.

[UCP_LEDS]         Definition der Anzeige-Ausgänge bei Verwendung der Ausgabeports
                   (I²C-Adresse 24..27)
P0_B0=SELECTED DME -> String-Definition für Simulations-Variable entsprechend der
                      Dokumentation des SimConnect-SDK im Abschnitt Simulation
                      Variables 
P0_B0_UNIT=number  -> Einheit entsprechend der Variablen-Definition. Standard ist
                      boolean, bei Boolean-Variablen kann diese Definition entfallen
P0_B0_LEVEL=2      -> Bei der Verwendung von Integer-Variablen kann hier
                      eine Schaltschwelle angegeben werden, ab welcher der Ausgang
                      geschaltet wird, RANGE beeinflusst das Verhalten
P0_B0_RANGE=1      -> Bei der Verwendung von LEVEL kann hier ein Wertebereich
                      eingetragen werden, bei dem der Ausgang geschaltet wird.
                     (Standard ist 0)
                      0: alle Werte gleich und größer LEVEL aktivieren den Ausgang
                      1: nur bei LEVEL wird der Ausgang aktiviert
                      größer 1: von LEVEL bis kleiner LEVEL+RANGE ist der Ausgang
                                aktiv
P0_B0_INVERSE=0    -> {0,1} Die Ausgangslogik wird umgekehrt.
...
P3_B7
P3_B7_UNIT
P3_B7_LEVEL
P3_B7_RANGE
P3_B7_INVERSE      -> Es werden maximal 4 Ports (32 Ausgänge) unterstützt

Mit dem Setup können Sie eine Beispiel-Konfiguration installieren.


Tools für Konfigurationsdatei

In der Programmgruppe ITRA – SimConnect befinden sich nach der Installation drei Hilfsprogramme für das Erstellen und Bearbeiten der UCPControl-Konfigurationsdatei.

UCPControl Key Event Editor

Mit dem Key Event Editor können der Tastatur-Matrix des USB-Controllers Simulator-Ereignisse zugeordnet werden. Zu jeder Taste kann zusätzlich eine Wiederholrate eingestellt werden.

Zuerst müssen alle Programme deaktiviert werden, die mit dem USB-Controller kommunizieren.

Sie können eine bereits bestehende Konfiguration laden oder mit einer leeren Matrix beginnen und diese dann speichern.

Die Abfrage der Tasten erfolgt, indem die entsprechende Taste gedrückt wird und anschließend mit der Maus die Schaltfläche UCP-Taste lesen geklickt wird. Es öffnet sich die zugehörige Eingabe-Maske.

Sie können aber auch mit der Maus in der Matrix das gewünschte Feld doppelklicken, um die Eingabemaske zu öffnen.

Es werden Zeile und Spalte angezeigt sowie bereits definierte Ereignisse. Für einige Ereignisse ist ein zusätzliches Argument notwendig, so kann z.B. bei DME_SELECT mit dem Argument 1 oder 2 das entsprechende DME ausgewählt werden.

Für Ereignisse, die nicht nur zum Flugsimulator, sondern weiter zu anderen SimConnect-Clients gesendet werden sollen, wie z.B. zum TFT-Interface-Client, ist es notwendig die Ereignispriorität auf hoch zu setzen.

Der Standard-Abfragezyklus des SimConnect-Clients beträgt 50ms. Es kann mit Taster entprellen für alle Ereignisse eine Anzahl zusätzlicher Zyklen angegeben werden, in der ein Tastensignal gültig sein muss. Beachten Sie, dass dies beim Einsatz von Drehimpulsgebern nicht verwendet werden kann.

Die Belegung der Matrix kann mit Druckvorschau auch als Liste angezeigt werden. Diese Liste kann dann ausgedruckt werden.


UCPControl Switch Event Editor

Mit dem Switch Event Editor können den Schaltwechseln der Schalter an den Eingabe-Ports Simulator-Ereignisse zugeordnet werden. Es gibt jeweils ein ON- und ein OFF-Ereignis.

Zuerst müssen alle Programme deaktiviert werden, die mit dem USB-Controller kommunizieren.

Sie können eine bereits bestehende Konfiguration laden oder mit einer leeren Matrix beginnen und diese dann speichern.

Die Abfrage der Schalterwechsel erfolgt, indem der entsprechende Schalter betätigt wird und anschließend mit der Maus die Schaltfläche Abfragen geklickt wird. Es öffnet sich die zugehörige Eingabe-Maske. In der Zeile neben dem Abfrage-Knopf wird der Bit-Zustand der Ports angezeigt.

Sie können aber auch mit der Maus in der Matrix das gewünschte Feld doppelklicken, um die Eingabemaske zu öffnen.

Es werden Port und Bit angezeigt sowie bereits definierte Ereignisse. Für einige Ereignisse ist ein zusätzliches Argument notwendig, so kann z.B. bei DME_SELECT mit dem Argument 1 oder 2 das entsprechende DME ausgewählt werden.

Für Ereignisse, die nicht nur zum Flugsimulator, sondern weiter zu anderen SimConnect-Clients gesendet werden sollen, wie z.B. zum TFT-Interface-Client, ist es notwendig die Ereignispriorität auf hoch zu setzen. Siehe dazu auch die Beschreibung der SimConnect-Clients A320. Dort sind auch die ITRA-SimConnect-Ereignisse definiert, die die A320-Clients verarbeiten können.

Die Belegung der Matrix kann mit Druckvorschau auch als Liste angezeigt werden. Diese Liste kann dann ausgedruckt werden.


UCPControl Simulation Variables Editor

Mit dem Simulation Variables Editor können Simulator-Variablen den LED-Funktionen den Ausgabe-Ports zugeordnet werden.

Zuerst müssen alle Programme deaktiviert werden, die mit dem USB-Controller kommunizieren.

Sie können eine bereits bestehende Konfiguration laden oder mit einer leeren Matrix beginnen und diese dann speichern.

Die Definition der Zuordnung erfolgt, indem Sie im entsprechenden Feld der Matrix doppelklicken. Die mit dem entsprechenden Ausgang verbundene LED kann mit dem Knopf LED-Test für 2 Sekunden getestet werden.

Für einfache ON-/OFF-Variablen (boolean) wird nur die Simulations-Variable in das Eingabefeld eingetragen. Im ON-Zustand ist der Ausgang aktiv. Mit dem Aktivieren von Umgekehrte Funktion ist der Ausgang im OFF-Zustand aktiv.

Wenn Sie Integer-Variablen verwenden wollen, dann muss die entsprechende Maßeinheit der Variablen angegeben werden (je nach Zuordnung der Variablen zu bestimmten Oberbegriffen z.B. Druck, Temperatur usw. sind mehrere Maßeinheiten möglich). Es kann ein Schwellwert (Level) angegeben werden, ab dem der Ausgang aktiv sein soll und ein Bereich (Range) oberhalb des Schwellwertes. Ein Bereich von 0 aktiviert den Ausgang bei allen Werten ab dem Schwellwert (einschließlich), ein Bereich von 1 aktiviert den Ausgang bei nur genau dem Wert des Schwellwertes. Ist ein Bereich größer 1 angegeben, dann wird der Ausgang aktiv, wenn der Wert größer/gleich dem Schwellwert und kleiner als Schwellwert+Bereich ist. Auch hierbei ist die umgekehrte Funktion des Ausgangs möglich.

Die Belegung der Matrix kann mit Druckvorschau auch als Liste angezeigt werden. Diese Liste kann dann ausgedruckt werden.

hardware/anleitungen/ucp-compact/software/simconnect.txt · Zuletzt geändert: 2019/01/09 16:23 von 127.0.0.1