Entwickler-Ecke

IO, XML und Registry - SiRF Protokoll auswerten


CASS - Do 23.08.07 18:03
Titel: SiRF Protokoll auswerten
Servus Leute,

versuche hier verzweifelt das SiRF Binary Protokoll zu lesen und zu schreiben. Leider klappt das irgendwie nicht. Ich hab mir jetzt mal alle empfangenen ASCII Codes ausgeben lassen. Ich finde weder die beiden StartBytes noch die beiden EndBytes.

Kann mir jemand helfen?

Kann mir jemand einen Tip geben wie ich am besten ein solches Protokoll implementieren kann (hab da überhaupt noch keine Erfahrung).

Grüße Cass


Kha - Do 23.08.07 18:25
Titel: Re: SiRF Protokoll auswerten
user profile iconCASS hat folgendes geschrieben:
Ich finde weder die beiden StartBytes noch die beiden EndBytes.
Wenn sie nicht da sind, sind sie nicht da; wie sollen wir dir dabei helfen?
user profile iconCASS hat folgendes geschrieben:
Kann mir jemand einen Tip geben wie ich am besten ein solches Protokoll implementieren kann (hab da überhaupt noch keine Erfahrung).
Protokolle würde ich mit einem endlichen Automaten übersetzen. Wie man diesen dann in wiederum in Code übersetzt, da gibt es viele Möglichkeiten.


CASS - Do 23.08.07 18:51

Weiß jemand ob sich beim SiRF Protokoll etwas geändert hat und die Start- bzw. StopBits evt. anders sind?

Khabarakh: Was genau meinst du mit "Automaten"?


CASS - Fr 24.08.07 09:33

Kennt sich vielleicht überhaupt jemand ein bisschen mit dem SiRF Protokoll aus? Und kann mir evtl. sagen wie die Start- und Stopbits sein sollten?

Laut der mir vorliegenden Doku sollten diese wie folgt sein:
Start Sequence End Sequence
0xA0, 0xA2 0xB0, 0xB3

Allerdings sehe ich im kompletten Stream weder das eine, noch das andere, nicht mal eins von den Zeichen einzeln im Stream finden.

Oder mache ich vielleicht in der Funktion mit der ich die Daten anzeige etwas falsch?

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
            Gps.NewMessageArrived -= Gps_NewMessageArrived;
            ASCIIEncoding Encoder = new ASCIIEncoding();
            char[] Honk = Gps.ReceivedData.ToCharArray();
            foreach (Char HonkyTonk in Honk)
            {
                textBox1.Text += Convert.ToString(HonkyTonk, 16) + "|";
            }
            //textBox1.Text += Gps.ReceivedData + "\r\n";
            textBox1.Text += "\r\n\r\n";


Das sollte doch die Hex-Werte der empfangenen Bytes in die TextBox schreiben, oder?

Grüße Cass

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt