Genaue NMEA Spezifikation

Allgemeine Fragen zu GPS und verwandten Themen

Moderator: Roland

Genaue NMEA Spezifikation

Beitragvon johnpatcher » 29.05.2008 - 21:50

Hi,

tut mir leid, dass ich euch schon wieder nerven muss :(. Ich bin gerade dabei einen NMEA Parser zu schreiben. Diesen würde ich gerne strengstens nach den Spezifikationen gestalten. Leider finde ich aber keine genauen Spezifikationen.

Teilweise stoße ich auch auf Widersprüche, wie z.B.:

Dabei sind alle druckbaren Zeichen sowie Carriage-Return (CR, Waagenrücklauf) und Line-Feed (LF, Neue Zeile) erlaubt und die Daten werden in der Form von Sätzen übertragen.

http://www.kowoma.de/gps/zusatzerklaerungen/NMEA.htm

The specification also states valid characters and gives a table of these characters ranging from HEX 20 to HEX 7E.

http://www.visualgps.net/Papers/NMEAPar ... Design.htm

Je nach Codierung kann man unter allen druckbaren Zeichen etwas ganz anderes verstehen.

Aus diesem partiellem Unwissen heraus, habe ich zwei Reguläre Ausdrücke erstellt:

Variante 1:
Code: Alles auswählen
/^(\$|!)[A-Z]*,[ !"#\$%&\'()*+,\-.\/0-9:;<=>?@A-Z\\\[\]^_`a-z{|}]*([*][a-fA-F0-9]{2})?\r\n$/


Variante 2:
Code: Alles auswählen
/^\$[A-Z]*,[ a-zA-Z0-9,.+-]*([*][a-fA-F0-9]{2})?\r\n$/


Mir erscheint Variante 1 Regel konform(er), jedoch wird damit auch folgender Satz als gültig erkannt.
Code: Alles auswählen
$GPRMC,183729,A,3907.356,N,12102.482,W,000.0,360.0,080301,015.5,E*


Jede normale Anwendung würde hier doch versagen. Auch widerspricht das der folgenden Aussage:

Retrieve sentence data. This is where all of the data associated with the NMEA address is collected for further parsing. This state will continue to collect data and perform a checksum calculation until it receives a checksum delimiter “*” (HEX 2A) or sentence terminator <CR><LF> (HEX 0D 0A).

Diese habe ich hier entnehmen können.

Leider habe ich keine genauen Spezifikationen seitens NMEA finden können, zumindest sind mir diese nicht 340 US Dollar wert, wie hier angeboten.

Gibt es da vielleicht auch kostenlose, genaue Spezifikationen?

Ich danke euch im Voraus ...
johnpatcher
 
Beiträge: 13
Registriert: 25.05.2008 - 00:16

Re: Genaue NMEA Spezifikation

Beitragvon Roland » 03.06.2008 - 21:00

Hallo john,


ich wollte gerade launig in die Runde werfen:

CR/LF kommt immer , * bei gestörten Sätzen vielleicht nicht. Wenn nicht, dann umgekehrt !

Da fand ich eine Veröffentlichung von Trimble, der man wohl trauen darf
https://engineering.purdue.edu/~asm322/ ... ssages.pdf
Demnach ist CR/LF der Satz-Delimiter.

Zusätzlich finde ich in dem Dokument, dass es ein proprietäres Format von Trimble gibt
$PTNabc.
Und eines von Fugro
$PFUabc.


Grüße Roland
Benutzeravatar
Roland
 
Beiträge: 2051
Registriert: 18.02.2004 - 22:33
Wohnort: Wusterhausen(Dosse)

Re: Genaue NMEA Spezifikation

Beitragvon johnpatcher » 05.06.2008 - 13:12

Vielen Dank, scheint in der Tat was zu taugen. Werde das mal in nächster Zeit durchgehen.
johnpatcher
 
Beiträge: 13
Registriert: 25.05.2008 - 00:16

Re: Genaue NMEA Spezifikation

Beitragvon KoenigDickBauch » 05.06.2008 - 21:20

Hallo,

glaubst du mit regulären Ausdrücken glücklich zu werden?

Versuch mal Coco/R

Gruß
Thomas
Benutzeravatar
KoenigDickBauch
 
Beiträge: 303
Registriert: 25.01.2007 - 21:59

Re: Genaue NMEA Spezifikation

Beitragvon johnpatcher » 07.06.2008 - 23:37

KoenigDickBauch hat geschrieben:glaubst du mit regulären Ausdrücken glücklich zu werden?


Das weiß ich noch nicht.
johnpatcher
 
Beiträge: 13
Registriert: 25.05.2008 - 00:16


Zurück zu Allgemeines

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron