FreeVario Kommunikationsinterface

Die Schnittstelle des FreeVarios kommuniziert über eine serielle Schnittstelle mit einem Treiber, der die XCSoar-Treiber-Programmierschnittstelle verwendet. Die Schnittstelle kommuniziert mit einer Baudrate von 115200.

Wir verwenden diese Schnittstelle, um Daten an XCSoar zu senden und Daten von XCSoar am Vario zu empfangen. Das Vario kann nicht eigenständig verwendet werden und benötigt Eingaben von XCSoar (oder einem anderen System) mit Nachrichten im NMEA-Stil.

Das FreeVario ist eine Art „externes Display“ mit einigen zusätzlichen Funktionen wie z.B. Änderung des MC, QNH und Bugs. Alle Informationen / Daten, die auf dem Display angezeigt werden, werden von XCSoar bereitgestellt. Der Ton wird von der FreeVario-Einheit unter Verwendung der angegebenen Werte von XCSoar erzeugt. 

Beim Booten des FreeVario-Systems wird eine NMEA-Nachricht an XCSoar (oder das System auf der „anderen“ Seite) gesendet, das beide Einheiten synchronisiert. Ein MC von 0,5 m/s wird vom FreeVario mit den unten beschriebenen Befehlen eingestellt, und beim Booten der Standardwert des QNH in XCSoar auf 1013 und Bugs auf 0 Prozent gesetzt.

Da diese Werte über die serielle NMEA-Schnittstelle an XCSoar gesendet und dann wiederum als Aktualisierung über NMEA an das FreeVario zurückgeschickt werden, kann das System prüfen, ob die Werte eingestellt sind und sicherstellen, dass die Einheiten synchron sind.

Wenn der Wert jetzt von XCSoar geändert wird, werden die Werte ebenfalls an das FreeVario-System gesendet, gespeichert und auf dem Display angezeigt. Wenn ein Wert durch das FreeVario-System geändert wird, geschieht dies ebenfalls durch eine NMEA-Nachricht.

PTT und Mutefunktion
Ab der Firmware V.1.1.1 verfügt das FreeVario über eine Mutefunktion beim Funken. Die Mutefunktion des FreeVarios setzt auf dem OpenVario mindestens das Image von FreeVario ab 20295 voraus. Außerdem muss sowohl auf dem Soundbord wie auch auf dem Displayboard mindestens die Firmware V.1.1.1 installiert sein. Wenn ihr das Soundbord mit dem 3-poligen Stecker auf der Rückseite, aber ohne die Diode D1 im Einsatz habt, muss hier noch eine kleine Änderung erfolgen. Schreibt mich diesbezüglich dann bitte per Mail (dirk@freevario.de) an.

Befehle auf der NMEA-Schnittstelle

Wir verwenden Nachrichten, die mit der Namenssyntax formatiert sind:

$PFV, [Befehl] , [Unterbefehl oder Wert] , [Prüfsumme]

Wir haben diese Befehle in den XCSoar-Treiber implementiert, der vom FreeVario-Projekt verwendet werden:

Schreiben von Daten in XCSoar:

  • $PFV,B,S,[0 – 50] – setzt Bugs auf Prozent im Bereich von 0 – 50
  • $PFV,M,S,[MC-Wert als Double] – MC Extern auf definierten Wert setzen
  • $PFV,M,U – erhöht MC Extern um 0,1 m/s
  • $PFV,M,D – reduziert MC Extern um 0,1 m/s
  • $PFV,F,C – setzen Vario Flight Mode auf kreisen
  • $PFV,F,S – setzen Vario Flight Mode auf Speed to Fly
  • $PFV,Q,S,[QHN-Wert als Double] – QNH auf definierten Wert setzen
  • $PFV,S,S,[0 bzw. 1 als Integer] – Aktivieren bzw. deaktivieren der Mutefunktion

Empfangen Sie Daten von XCSoar:

    $PFV,HIG,[Wert als double]
    • liefert barometrische Höhe, falls diese nicht verfügbar ist, wird die GPS-Höhe bereitgestellt. Ist diese ebenfalls nicht verfügbar, wird der Wert auf 0.0 m gesetzt
    $PFV,HAG,[Wert als double]
    • Höhe über Grund in m, falls verfügbar
    $PFV,TEM,[Wert als double]
    • Temperatur in Grad Celsius, falls verfügbar
    $PFV,TAS,[Wert als double]
    • echte Fluggeschwindigkeit (TAS) in km/h, falls verfügbar
    $PFV,GRS,[Wert als double]
    • Geschwindigkeit über Grund in km/h, falls verfügbar. Ist der Wert ungültig, wird -1 zurückgegeben
    $PFV,STF,[Wert als double]
    • Speed to Fly (STF) in km/h, falls verfügbar
    $PFV,MOD,[C oder S]
    • Aktueller Modus in XCSoar C = Cycling , S = Speed to Fly
    $PFV,VAA,[Wert als double]
    • Durchschnittliches Steigen der letzten 30 Sekunden in m/s
    $PFV,VAR,[Wert als double]
    • aktuelles Steigen in m/s
    $PFV,VAN,[Wert als double]
    • aktuelles Nettosteigen in m/s
    $PFV,AWD,[Wert als double]
    • Durchschnittliche, relative Windrichtung der letzten 30 Sekunden in Grad
    $PFV,CWD,[Wert als double]
    • aktuelle, relative Windrichtung in Grad
    $PFV,AWS,[Wert als double]
    • Durchschnittliche Windstärke der letzten 30 Sekunden in m/s
    $PFV,CWS,[Wert als double]
    • aktuelle Windstärke in m/s
    $PFV,MCE,[Wert als double]
    • Liefert den externen MC, der von externen Geräten in XCSoar verwendet wird
    $PFV,MCI,[Wert als double]
    • Liefert den internen MC, der in XCSoar verwendet wird
    $PFV,QNH,[Wert als double]
    • Liefert den QNH, der in XCSoar verwendet wird
    $PFV,ATT,[Wert als integer]
    • Liefert den Wert, welche Dämpfungsstufe für STF aktiv ist
    $PFV,MUT,[Wert als integer]
    • Liefert den Wert, ob Mutefunktion aktiv oder inaktiv ist