Hi, Ich will eine SIRF2-Maus (RGM-2000) mit einem AVR koppeln. Elektronisch ist alles OK. Jetzt ist es bei der Maus aber so, daß die nach längerer Spannungslosigkeit nur 2 NMEA Telegramme sendet: $GPGGA und $GPVTG Und da kam auch nur die aktuelle Uhrzeit und keinerlei Koordinateninformationen. Jetzt hab ich die Maus mit einem Pegelwandler an den PC gehängt und mit SIRFDemo angesprochen. Nach Umstellen auf SIRF kamen sofort Koordinateninfos. Ich hab dann wieder auf NMEA mit den SIRFDemo-Standardeinstellungen umgeschaltet. Dann lief unter NMEA alles erfolgreich. -> Es kamen auch alle "anderen" Telegramme. Leider vergisst die Maus das alles wieder, wenn ich sie von Spannung hänge. Also werde ich wohl im AVR am Anfang eine Sequenz schicken müssen, die das selbe macht wie SIRFDemo. Die 2 Fragen ist nun: - Kann ich mit einem NMEA Befehl die "anderen" Telegramme einschalten? Oder muss ich dazu auf SIRF wechseln. - Gibt es Programme, die NMEA oder SIRF Sequenzen "erzeugen"? Ich meine damit, eine Eingabemaske, in der man parametriert, was man machen will und die dann die Sequenz (HEX-Code für Sirf, bzw. $PSRF.. für NMEA) mit Checksumme und allem drum und dran generiert und nur anzeigt und nicht sendet. Grad das mit der Checksumme ist etwas tricky für mich. Ja, ich hab bei SIRFDemo schon einen COMPortSniffer mitlaufen lassen. Aber alle Befehle krieg ich so nicht raus. Z.B. das Umschalten in den SIRF-Modus geht bei meiner Version immer nur mit 57600Baud. Ich würde aber gerne hier auch bei 4800 Baud bleiben, um nicht immer die Schnittstelle umzuparametrieren. gruß/brutzler
> nach längerer Spannungslosigkeit nur 2 NMEA Telegramme sendet: $GPGGA und $GPVTG > Und da kam auch nur die aktuelle Uhrzeit und keinerlei > Koordinateninformationen. Vertändlich, denn die Maus hat erstmal einen Kaltstart hinlegen müssen - der dauert lange, 15 Minuten sind keine Seltenheit. Dabei werden die aktuellen Satellitendaten recht langsam übertragen. > Leider vergisst die Maus das alles wieder, wenn ich sie von Spannung > hänge. Laß ihr ein paar Minuten Zeit zum warmlaufen. Dann kommen die entsprechenden NMEA Sequenzen automagisch.
Johann Meier schrieb: > Jetzt ist es bei der Maus aber so, daß die nach längerer > Spannungslosigkeit nur 2 NMEA Telegramme sendet Was heißt länger? Kann es sein, dass die Stützbatterie am Ende ist und die GPS-Maus die Almanachdaten zwischendurch vergißt? > Nach Umstellen auf SIRF kamen sofort Koordinateninfos. Die Datensätze vielleicht, aber gültige Daten können das noch nicht sein.
Jim Meba schrieb: >> nach längerer Spannungslosigkeit nur 2 NMEA Telegramme sendet: $GPGGA und $GPVTG >> Und da kam auch nur die aktuelle Uhrzeit und keinerlei >> Koordinateninformationen. > > Vertändlich, denn die Maus hat erstmal einen Kaltstart hinlegen müssen - > der dauert lange, 15 Minuten sind keine Seltenheit. Dabei werden die > aktuellen Satellitendaten recht langsam übertragen. Ich hab 4 Stunden gewartet! > >> Leider vergisst die Maus das alles wieder, wenn ich sie von Spannung >> hänge. > > Laß ihr ein paar Minuten Zeit zum warmlaufen. Dann kommen die > entsprechenden NMEA Sequenzen automagisch.
Ein Gast schrieb: > Was heißt länger? Kann es sein, dass die Stützbatterie am Ende ist und > die GPS-Maus die Almanachdaten zwischendurch vergißt? Das mag schon sein. Was soll die Batterie eigentlich puffern? Wenn ich im Sirf-Mode einstelle, daß ich im NMEA-Mode mehr Telegramme bekomme,dann hat er das nach 60sec. Spannungslosigkeit vergessen. Kann ja auch sein, daß dies Absicht ist, um vermurkste Einstellungen wieder zurück zu setzen.
> Gibt es Programme, die NMEA oder SIRF Sequenzen "erzeugen"?
Fertige Programme kenne ich persoenlich nicht, ich wuerde aber so
vorgehen:
Maus mit Laptop verbinden, im Auto spazieren fahren und die Sequenzen
in ein File loggen (natuerlich mit Chauffeur). Das spezifische
Logger-Tool ist mit Python + pyserial schnell geschrieben, es sollte
auch Timestamps mit loggen. Das Wiedergabeprogramm kann auch mit Python
+ pyserial geschrieben werden und kann dann sowas wie Realtime Playback
oder Fast Playback implementieren. Ich denke mal ca. 100 Codezeilen
spaeter hast du die Tools.
Die RGM-Serie hat eine klitzekleine wiederaufladbare Li-Zelle als Stützbatterie. Wenn man die Maus immer neu konfigurieren muß, ist diese Batterie hin. Also: Batterie tauschen oder von extern Spannung einspeisen. Gruß, Jörg
Joerg L. schrieb: > Die RGM-Serie hat eine klitzekleine wiederaufladbare Li-Zelle als > Stützbatterie. Wenn man die Maus immer neu konfigurieren muß, ist diese > Batterie hin. Also: Batterie tauschen oder von extern Spannung > einspeisen. > > Gruß, > Jörg Oder in der Startroutine meines AVR die Konfiguration zum GPS-Empfänger per serieller senden. :-) Und genau das will ich ja auch machen. Drum hab ich ja eingangs nach einem Sequenzersteller gefragt, und wollte wissen, ob ich zum Konfigurieren der NMEA-Telegramme auf SIRF umschalten muss, oder ob das im NMEA-Protokoll selber auch geht.
Hi >oder ob das im NMEA-Protokoll selber auch geht. Hast du doch schon mit $PSRF gefunden. Genaugenommen ist das Kommando $PSRF103,... . Suche mal im Netz nach 'NMEA Reference Manual'. Allerdings wird mit leerem Akku meines Wissens bei jedem Einschalten ein Kaltstart durchgeführt, da noch andere Daten gepuffert werden. >Grad das mit der Checksumme ist etwas tricky für mich. In accordance with NMEA-0183, the checksum is calculated by taking the 8 bit exclusive OR of all characters between (but not including) the $ and the *. The checksum is then appended after the * as a 2 character hexadecimal number. Was ist da schwierig für dich? MfG Spess
Du hast mal nach "sirf nmea commands" gegoogelt, dabei das Dokument "SiRF NMEA Reference Manual" gefunden, und das Kommando "103—Query/Rate Control" an der RGM getestet? Meines Wissens nach ist in der RGM2000 ein Sirf2 Chipsatz. Spess war schneller..
spess53 schrieb: > Hi > >>oder ob das im NMEA-Protokoll selber auch geht. > > Hast du doch schon mit $PSRF gefunden. Genaugenommen ist das Kommando > $PSRF103,... . Suche mal im Netz nach 'NMEA Reference Manual'. > Allerdings wird mit leerem Akku meines Wissens bei jedem Einschalten ein > Kaltstart durchgeführt, da noch andere Daten gepuffert werden. > Ah ja. Das ist jetzt klar. Also brauch ich nicht auf SIRF umschalten um andere NMEA-Telegramme anzufordern :-) DANKE. >>Grad das mit der Checksumme ist etwas tricky für mich. > > In accordance with NMEA-0183, the checksum is calculated by taking the 8 > bit exclusive OR of all > characters between (but not including) the $ and the *. The checksum is > then appended after the > * as a 2 character hexadecimal number. > > Was ist da schwierig für dich? > > MfG Spess Hmm... Checksummen hab ich noch nicht so richtig programmiert. Mal schauen: Jedes Zeichen ist ein Byte. Von dem nehm ich alle 8 Bit XOR. --> Wenn eine ungerade Zahl an Einsen, dann ist das Ergebnis 1, bei einer geraden Anzahl 0. Dann die Anzahl der Bytes mit 1er Ergebnis aufsummieren und dann hab ich die Checksumme? Ist das so richtig? Gruß/brutzler
Hi >Jedes Zeichen ist ein Byte. Von dem nehm ich alle 8 Bit >XOR. >--> Wenn eine ungerade Zahl an Einsen, dann ist das Ergebnis 1, bei >einer geraden Anzahl 0. Dann die Bytes mit 1er Ergebnis aufsummieren und >dann hab ich die Checksumme? Nehmen wir mal als Beispiel $PSRF105,0*3F (CS=Checksumme): CS = P (0x50) exor S (0x53) = 0x03 CS = CS exor R (0x52) = 0x51 CS = CS exor F (0x46) = 0x17 CS = CS exor 1 (0x31) = 0x26 CS = CS exor 0 (0x30) = 0x16 CS = CS exor 5 (0x35) = 0x23 CS = CS exor , (0x2C) = 0x0F CS = CS exor 0 (0x30) = 0x3F MfG Spess
spess53 schrieb: > > Nehmen wir mal als Beispiel $PSRF105,0*3F (CS=Checksumme): > > CS = P (0x50) exor S (0x53) = 0x03 > CS = CS exor R (0x52) = 0x51 > CS = CS exor F (0x46) = 0x17 > CS = CS exor 1 (0x31) = 0x26 > CS = CS exor 0 (0x30) = 0x16 > CS = CS exor 5 (0x35) = 0x23 > CS = CS exor , (0x2C) = 0x0F > CS = CS exor 0 (0x30) = 0x3F > > MfG Spess Ahh... Verstanden. Super an einem Beispiel erklärt. Xor der Bytes, und nicht der Bits im Byte. Hab dazu noch was gefunden: http://www.hhhh.org/wiml/proj/nmeaxor.html -> Da spar ich mir das Rechnen :-) Glaub jetzt hab ich alles für weitere "Aktionen" Danke Jungs.
Hi
>-> Da spar ich mir das Rechnen :-)
Aber nur beim Senden.
MfG Spess
spess53 schrieb: > Hi > >>-> Da spar ich mir das Rechnen :-) > > Aber nur beim Senden. > > MfG Spess Zwingt mich ja keiner die Empfangsdaten auf CRC zu prüfen :-))) Aber du hast recht. Jetzt nachdem ich die Syntax verstanden habe, kostet es mich nur einen kleinen Treiber um das zu rechnen. gruß/brutzler
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.