Unterstützung für benutzerdefinierte NMEA Daten

Seit der Version 2.75 (iOS, Android folgt noch) unterstütz die Logbuch App die Verarbeitung folgender teilweise nicht standardisierte NMEA Daten: Da diese Datensätze weitestgehend nicht standardisiert sind und je nach Gerät unterschiedlich aussehen können musst Du diese selbt einstellen zund konfigurieren. Dazu musst du folgende drei Informationen hinterlegen, am besten machen wir alles an einem Beispiel fest. Angenommen Du hast einen Treibstofftank mit einem Volumen von 65 Liter. Und der NMEA Datensatz sieht so aus:
$MXPGN,01F211,5810,02841C8A020000FF*1E
In diesem Fall sind die Daten (hexadezimal kodiert) über den aktuellen Füllstand 841C.

Regulärer Ausdruck um die Daten zu extrahieren

Um diese aus dem ganzen Datensatz zu extrahieren, muss ein regulärer Ausdruck in den NMEA Einstellungen für den Füllstand des Dieseltanks hinterlegt werden der zum Beispiel so aussieht:
^\$MXPGN,01F211,5810,02(?<extract>[0-9ABCDEF]{4}?)[0-9ABCDEF]{10}\*..$
Wer sich mit regulären Ausdrücken auskennt braucht eigentlich nciht mehr weiterlesen, für alle anderen versuche ich hier eine sehr vereinfachte Erklärung damit Du selbst Regln wie diese erstellen kannst.

Festlegen des Datentyps

Da dieser Datensatz hexadizimal ist und die Bytereihenfolge umgekehrt ist muss Hex Little Endian ausgewählt werden, um 841C von Little Endian zu Big Endian umzustellen: 1C84 und um dies dann zur Dezimalzahl 7300 umzuwandeln.

Multiplikator (optional)

Der Wert 7300 muss laut Dokumentation vom Hersteller nun mit 0,004 multipliziert werden um den aktuellen Füllstand in Prozent zu erhalten. Aber da wir aber den Füllstand in Liter abspeichern wollen, muss dies auch noch umgerechnet werden. Die manuelle Rechnung würde so aussehen da unser Tank 65 Liter groß ist: Diese ganze Rechnung kann man zusammenfassen zu 0.004 * 65 / 100 * 1000 = 2.6
Also muss der Multiplikator in diesem Fall 2.6 sein!

Noch Fragen?

Gerne bei mir melden!