AID-INI Mechanismus

Mit der UBX-AID-INI Nachricht kann ein Startwert für die GPSSuche gesetzt werden.
Es wird die ungefähre Zeit und ein ungefährer Ort übermittelt.

Der Neo8 /M8N unterstützt diese Nachricht, gilt dort aber als deprecated

Aktueller Stand

Folgendes bezieht sich auf Version v0.21.931:

Fragen/Verbesserungsvorschläge

  • Wäre es nicht übersichtlicher, aidIni() bei der Initialisierung (begin) aufzurufen?
  • sind die 3 Tage/50m willkürlich gewählt? Oder gab es mal Versuche mit größeren Werten?
  • Es besteht der Verdacht, dass der M8N in eine „loop of death“ gerät, wenn man den OBS erst nach längerer Zeit an einem anderen Ort anmacht.
    Wahrscheinlich hält sich der neo8 strenger an die Genauigkeit als der neo6 und verrennt sich dann.
    Hat da jemand Erfahrungswerte?

Parallel zu Jens’ Untersuchung hatte ich mit coldstarts experimentiert. Dabei teilt man dem GPS mit dass es bitte seinen batteriegeschützten Kurzzeitspeicher (Uhrzeit, Location, Almanach) vergessen soll und neu startet. Aus den coldstart Experimenten ergeben sich evtl. auch Erkenntnise zu AID.

Der Neustart ist bei mir so eingebaut, dass wenn ein Neo8 erkannt immer am Anfang ein Coldstart durchgeführt wird. Die AID übertragung, zu der @jens schreibt, findet aber in der Zeile darüber statt - sie wird inder bestehenden Logik genau einmal - nur beim ersten Aufruf von pollStatistics(); - durchgeführt.

Ich beobachte, dass ich mit den Neustarts bisher 100% zuverlässig in <60s einen Fix bekomme. Das wäre konsistent damit, dass der AID Mechanismus Probleme mit neo8m verursacht. Indem ich nach AID coldstarte, schalte ich AID effektiv ab. Ich habe mit zwei Testgeräten experimentiert, und auch mal gezielt 24-72h aus gelassen.

Mein Vorschlag wäre, dass wir den AID Mechanismus abknipsen, wenn wir nicht auf neo6m unterwegs sind. Der Mechanismus ist auch laut Dokumentation für den neo8m deprecated (neo8m dokumentation).

1 „Gefällt mir“

Danke für die vielen Experimente. Wir können gerne das AID-INI in komplett rausmachen, Da die Werte je nach Einsatz auch falsch sein können ist das nicht immer hilfreich. Bisher gab es aber keine negativen Rückmeldung auch mit einem komplett falschen AID-INI kommt der NEO6 zurecht.

Der NEO8 hat deutliche Unterschiede zum 6er, da er mehrere Satelliten Systeme unterstützt und nicht nur GPS.

Vielleicht folgendes:

  • AID-INI Raus bei neo!=6 (dafür hab ich schon Code)
  • AID-INI datei von SD löschen, und ggf coldstart wenn beim letzten Start kein Fix gefunden wurde. Wie findet man das raus? Man legt eine „nofix“ datei auf die SD und löscht sie, sobald man FIx hat (dafür noch keinen code)
1 „Gefällt mir“

Mach gerne einen pull request.

Eine einfache Möglichkeit ist die alp-ini gleich zu löschen, wenn sie zum Einsatz kommt.

2 „Gefällt mir“

Ah ja, das ist super. Und wenn man startet ohne ALP-ini weiß man auch, dass der letzte Versuch erfolglos war und kann sinnvoll coldstarten.

Mein work-in-progress (mit jens’ experimenten gemerged) ist schon im Repo unter neo8m-experiments

Ich hab jetzt mal einen Pull request mit den gesammelten Änderungen gemacht.

1 „Gefällt mir“