LinusW - 2018-11-14

Hallo Zusammen,

ich brauche Unterstützung beim Auswerten eines seriellen Strings. Ich hab leider noch keine Erfahrung mit sowas.

Von einem GPS Empfänger empfängt der Raspberry jede Sekunde zwei "Messages". Aus beiden soll später auf einer Visualisierung bestimmte Werte (Längen- / Breitengrad) angezeigt werden. Ich weiß wie das Protokoll aufgebaut ist und an welcher Stelle die Werte stehen. Die Protokolle sehen in etwa so aus:

$GPGSA,M,3,14, ...
#BESTPOSA,COM2,000,00000000,...

Ich dachte ich nutze die Funktion FIND und suche nach 'GPGSA' und kopiere den Eingangsstring in einen neuen String um anschließen mit Hilfe von MID den einzelnen Wert zu bekommen.

Allerdings ist es so, dass das Serielle Protokoll nicht immer mit $GPGSA beginnt sondern beide Protokolle "am Stück" ankommen.
Wie kann ich den sagen, dass ich ab '$GPGSA' x Zeichen in einen anderen String kopieren kann?
Oder bin ich auf dem falschen weg? Außerdem hat die eine Message 210 und die andere 61 Zeichen (sReadText: STRING(300);). Ist das schon zu viel?
Ich hab leider auch so gut wie keine Ahnung in ST, hab bisher viel in FUP gemacht.

Ich würde mich sehr über Hilfe freuen!

Grüße
LiWa