Der Connector ermöglicht Dir, die Informationen aus Deinem Cockpit an die MobiFlight Module zu senden.
Die Doku ist leider nicht in allen Teilen ganz aktuell - aber definitv hilfreich für den Start - bitte hab' noch ein bisschen Geduld. Schau in der Zwischenzeit die aktualisierte englische Version an
Die Menüleiste enthält folgende Hauptpunkte.
Die Liste zeigt alle Konfigurationseinträge der aktuell geladenen Datei (s. Hinweis im Fenstertitel).
Zeileneinträge enthalten folgende Informationen:
Der Settings-Dialog wurde mit der Version 3.0 eingeführt. Er kann über das Hauptmenü unter "Extras" > "Settings" aufgerufen werden.
Hinweis: Sollte bei Programmstart festgestellt sein, dass neue oder unbekannte Module (z.B. nach Config-Änderung im ConfigTool) angeschlossen sind, wird der Dialog automatisch mit einem entsprechenden Hinweistext geöffnet.
Das Extension-Modules-Tab erlaubt die Konfiguration der angeschlossenen Arcaze-Module in Bezug auf die Erweiterungsmodule, wie z.B. LED Driver v2 / v3 oder Display Driver.
Es ist möglich das Polling-Intervall - also die Häufigkeit mit der die Daten von FSUIPC abgerufen werden - im Bereich von 100ms bis 500ms anzupassen. Je niedriger der Wert, desto öfter werden die Offset-Daten via FSUIPC aktualisiert.
Die Einstellung des Polling-Intervalls ist ein experimentelles Feature. Der Standard-Wert liefert gute Ergebnisse.
Der Config Wizard kann durch die folgenden Aktionen geöffnet werden:
Im FSUIPC-Tab werden alle relevanten Angaben zu den FSUIPC-Werten gemacht.
Hinweis:
Die Informationen erhält man quasi zu 100% aus der FSUIPC-SDK-Dokumentation:
Beide PDFs sind im frei verfügbaren FSUIPC SDK enthalten, welches auf der Seite von Peter Dowson http://www.schiratti.com/dowson.html verlinkt ist.
Das Comparison-Tab erlaubt die Definition von Vergleichen. Dadurch ist es möglich, einen Wert nachträglich nochmal abzuändern. Beispiel: Anzeige der Flaps-Position 1 - Arcaze-Pin soll dann "1" sein, wenn FSUIPC-Wert 4096 (s. sample.aic). Der Aufbau des Tabs ist selbsterklärend.
Hinweis: Aktuell ist es nicht möglich eine untere und obere Grenze gleichzeitig zu definieren bzw. Vergleiche zu verknüpfen. Dies geht aber seit Version 3.0 indirekt durch die Vorbedingungen (Preconditions-Tab), denn man kann damit mehrere Bedingungen miteinander verknüpfen.
Das Display-Tab dient zur Konfiguration der Ausgabe-Parameter. Also über welches Modul und welchen Pin bzw. welches LED-Display-Modul soll der aktuelle Wert ausgegben werden.
Ab Version 3.4 kann man gibt es im unteren Bereich für alle Display-Varianten eine Möglichkeit, die aktuellen Angaben zu testen. Hierbei wird der Testmodus für die passende Display-Variante gewählt. Dieser entspricht dem Test-Modus der auch in der Hauptansicht über die Toolbar gestartet werden kann.
BCD4056 - Folgende Informationen werden für diesen Typ angegeben:
Seit v3.9 können mehrere Vorbedingungen in der Liste angegeben und logisch miteinander verknüpft werden.
Die Liste zeigt die aktuell definierten Vorbedingungen an. Man kann über das Kontextmenü (Öffnen mit rechter Maustaste)
Außerdem ist es möglich eine Vorbedingung zu aktivieren oder zu deaktiveren. Eine aktive Vorbedingung wird durch den Haken am Listeneintrag symbolisiert.
Use type of - Definiert die Art der Vorbedingung (precondition)
Änderungen sind jeweils mit der Schaltfläche "Apply" zu bestätigen.
Seit Version 3.4 gibt es die Möglichkeit, Werte auch mit komplexen Berechnungen abzuändern. Dies erlaubt neben dem ursprünglichen Multiplikator neue Freiheiten beim Berechnen von Werten. Schaut man in die FSUIPC Doku, dann gibt es eine Reihe von Werten, die nicht alleine mit dem Multiplikator-Feld abgebildet werden können, z.B. der aktuelle Kurs. Hierfür ist es notwendig zum FSUIPC-Wert 360 hinzuzuählen, wenn der Wert kleiner 0 ist.
Die Formeln können einfach in den "Dann-Sonst-Feldern" auf dem "Vergleichs"-Tab angegeben werden.
Der eigentliche Wert, der nach der Multiplikation vorhanden ist wird dabei mit dem "$"-Symbol referenziert und kann beliebig oft in der Formel auftauchen.
Bei Bedarf können auch Klammerungen usw. in den Ausdrücken enthalten sein. Eine komplette Doku kann man auf der Webseite der Expression-Engine finden.
Hinweis:
Aktuell findet noch keine Validierung der Formeln bei der Eingabe statt. Falls die Formel nicht korrekt ist, wird eine Fehlermeldung bei der Ausführung angezeigt.
In der FSUIPC-Doku steht zum Beispiel Folgendes:
Offset | Byte | Bemerkung |
0D0C | 2 | Lights (FS2k/CFS2), a switch for each one (bits from lo to hi): 0 Navigation 1 Beacon 2 Landing 3 Taxi 4 Strobes 5 Instruments 6 Recognition 7 Wing 8 Logo 9 Cabin |
An einem Offset sind also die Zustände von 10 verschiedenen Lichtschaltern hinterlegt - die können ja immer entweder "An" oder "Aus" sein. Das geht, weil der Wert am Offset 0x0D0C eine Länge von 2 Byte hat - insgesamt 16 bit - also insgesamt wären sogar 16 Schalter möglich gewesen (es gibt aber nicht so viele Lichtschalter bei den Default-Maschinen). "An" und "Aus" wird durch eine "1" bzw. "0" dargestellt. Im Speicher liegen die Bits "verkehrt" herum. Man kann sich es also wie folgt vorstellen:
2. Byte | 1. Byte | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Die grünen Bits gehören zum ersten Byte, die blauen Bits gehören zum zweiten Byte. Im Beispiel sind also aktuell Cabin-Light (Bit 9) und Strobes (Bit 4) aktiviert während alle anderen Lichter ausgeschaltet sind (immer 0).
Möchte man im ArcazeFC nun eine LED einschalten, wenn ein bestimmtes Bit eine "1" enthält, muss man dieses eine Bit mit "1" und alle anderen Bits, die man nicht auswerten möchte mit "0" maskieren. Führende Nullen können dabei weggelassen werden. Für das Cabin Light ergibt sich daher
2. Byte | 1. Byte | ||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
also "0000000100000000" oder ohne führende Nullen "1000000000". Diese Wurst aus Nullen und Einsen ist der binäre Wert für die notwendige Maskierung. Wenn man nun den Windows-Taschenrechner öffnet, bei "Ansicht" auf "Programmierer" stellt und auf der linken Seite "Bin" auswählt, kann man den Wert exakt so eingeben. Stellt man auf "Dez" um, kann man nun den dezimalen Wert ablesen: 512. Hintergrund: Binär ist Zweier-System. Deswegen bedeutet eine 1 am 9. Bit das Gleiche wie 2 hoch 9 also 512.
Typischerweise werden aber Bit-Masken hexadezimal codiert - und so erwartet es auch ArcazeFC. Warum einfach wenn es auch kompliziert geht :D - EGAL! wir haben ja unseren Taschenrechner. Dort von "Dez" einfach auf "Hex" umstellen. Aus 512 wird 200 - fertig ist unsere gewünschte Maske! Diesen Wert muss man jetzt im ArcazeFC eintragen.
Der maskierte FSUIPC-Wert ist anschließend immer dann größer 0, wenn auch das entsprechende Licht aktiv ist. Ist das Licht aus, dann ist der Wert immer 0.
(Beim Schreiben habe ich mir vorgenommen, diesen Teil im ArcazeFC noch zu vereinfachen, damit man es auch als Nicht-Informatiker intuitiv benutzen kann. In der Zwischenzeit muss man es halt irgendwie verstehen.)
Sodele. Hoffentlich hilft die Doku ein bisschen weiter, falls mal Fragen auftauchen.
Viele Grüße,
Sebastian