V 2.5.3

Allgemeine Diskussionen zum GNSS Commander
wugi
Beiträge: 52
Registriert: 21.08.2017, 20:56

V 2.5.3

Beitrag von wugi » 09.10.2017, 13:41

Hallo Markus
nachdem in der neuen Version nicht nur GPS und Glonass als "benutzt" angezeigt werden, zeigt sich bei mir zeitweise ein sehr merkwürdiges Anzeigeverhalten mit unterschiedlichen Ergebnissen zwischen Skyansicht und Satellitenliste, anbei kurzer Screencast mit zugehöriger NMEA.
https://www.dropbox.com/s/rsxq9j0mk7hbc ... 9.mpg?dl=0

In den Einstellungen ist mir auch noch etwas aufgefallen, wobei ich nicht sagen kann ob das auch schon früher so war.
Einstellungen/GPS Konfigeration/alle Boards anzeigen >einschalten, nun wird ein Passwort zum Entsperren gewünscht, sowohl "Abbrechen" als auch "OK" ohne Passworteingabe bewirkt ein ausschalten der Konfiguration, wenn ich aber anstelle dessen auf den "Zurück Button" oder direkt auf den Screen klicke bleibt die Funktion eingeschaltet.
BTW, was steckt hinter dieser Funktion?
Gruß
Wolfgang
Dateianhänge
gnss-rawdata_2017-10-08_21-20-16.nmea
(72.75 KiB) 24-mal heruntergeladen

PilaBlu
Site Admin
Beiträge: 94
Registriert: 21.08.2017, 16:28
Wohnort: Stuttgart
Kontaktdaten:

Re: V 2.5.3

Beitrag von PilaBlu » 09.10.2017, 17:32

Hi Wolfgang,

Gratuliere - du hast einen Bug gefunden! :D
Da war ein kleines Problem in der GSV Ende-Zyklus Erkennung im Code.
Ich hab es schon gefixt - kommt mit der nächsten App Version.
Danke für den Hinweis ;)

In deinem NMEA Log sehe ich aber auch das "typische" Problem von U-Blox.
Der GSA-String sagt dass die Satelliten 09 und 05 zur Berechnung genutzt werden.
Tja ... die gibt's aber zweimal :arrow: im GPGSV und im GAGSV.
Somit lässt sich das nicht mehr exakt zuordnen => ich zeige dann beide als "in-use" an!

Das mit dem Passwort in der Konfiguration ist neu.
Die Option (alle Boards anzeigen) ist für die Fernwartung gedacht.
Die Konfiguration lasse ich eh nur für die ppm-10xx Geräte zu!

Problem: Wenn du eine falsche Config ans Gerät sendest, dann kann es durchaus
sein dass diese Aktion die allerletzte war die du gemacht hast... :twisted:
Aus diesem Grund gibt's da jetzt ein "Pseudo" Passwort als Mini-Schutz.

Mit der Konfiguration können übrigens professionelle Vermesser das ppm-10xx Gerät
je nach Bedarf einstellen, also: Baudrate, welche NMEA-Strings, RTCM ja/nein, etc.

Viele Grüße
Markus
C macht es einfach, sich selbst ins Bein zu schießen; C++ erschwert es, aber wenn es Dir gelingt, bläst es Dir das ganze Bein weg! [Bjarne Stroustrup]

wugi
Beiträge: 52
Registriert: 21.08.2017, 20:56

Re: V 2.5.3

Beitrag von wugi » 09.10.2017, 19:45

Hallo Markus,
danke fürs testen und deine Antwort
bin gespannt auf die nächst Version, dann sollten ja die "benutzten" auf beiden Seiten identisch sein :)
Aus diesem Grund gibt's da jetzt ein "Pseudo" Passwort als Mini-Schutz.
mich hat nur gewundert, dass man die Funktion auch ohne Passwort einschalten kann. :?

Ich habs jetzt auch geschafft meinen M8N via UART/USB am PC den GNSS Commander mit VirtualBox zu betreiben und mittels "Proflific bzw Generic" zu verbinden

Gruß
Wolfgang

PilaBlu
Site Admin
Beiträge: 94
Registriert: 21.08.2017, 16:28
Wohnort: Stuttgart
Kontaktdaten:

Re: V 2.5.3

Beitrag von PilaBlu » 11.10.2017, 15:24

Hi Wolfgang,
bin gespannt auf die nächst Version, dann sollten ja die "benutzten" auf beiden Seiten identisch sein
Eben gerade nicht ... vermutlich hab ich mich falsch ausgedrückt! :P

Im GSA String steht die Anzahl der verwendeten Satelliten als "Zahl" drin. (Bsp: 10)
Diesen Wert zeige ich auch im SkyView im Feld "inUse" an.
Wenn du jetzt aber die ausgefüllten Satelliten-Kreise zählst dann kannst du durchaus
auf mehr als hier im Beispiel 10 kommen, da manchmal die Nummern nicht eindeutig sind!
Das war ja auch in deinem Logfile so: 2 Sat-Nummern gab's im GPS und GALILEO Block.
M8N via UART/USB ... mittels "Proflific bzw Generic" zu verbinden
Yep - das kann durchaus funktionieren.
Ein Hauptunterschied in der Ansteuerung der USB-Provider ist die Angabe der BaudRate.
Die sende ich - wenn du UBlox als Quelle wählst - als "$PUBX" Command rüber.
UBlox Geräte kommen meist aber auch *ohne* diesen Command aus ...

Wenn du jetzt ein UBlox Gerät als "Prolific"-Quelle verbindest, dann wird die Prolific-Initialisierung
inklusive Baudrate setzen per libusb geschrieben und dein UBlox Gerät ignoriert das ziemlich sicher!
Daher tut das ... umgekehrt aber sicher nicht!! :D

Gruß
Markus
C macht es einfach, sich selbst ins Bein zu schießen; C++ erschwert es, aber wenn es Dir gelingt, bläst es Dir das ganze Bein weg! [Bjarne Stroustrup]

wugi
Beiträge: 52
Registriert: 21.08.2017, 20:56

Re: V 2.5.3

Beitrag von wugi » 11.10.2017, 20:32

Hallo Markus
danke für Deine ausführliche Antwort.
Entschuldige bitte, dass ich nochmal nachfrage...
Im GSA String steht die Anzahl der verwendeten Satelliten als "Zahl" drin. (Bsp: 10)
Diesen Wert zeige ich auch im SkyView im Feld "inUse" an.
Wenn du jetzt aber die ausgefüllten Satelliten-Kreise zählst dann kannst du durchaus
auf mehr als hier im Beispiel 10 kommen, da manchmal die Nummern nicht eindeutig sind!
Das war ja auch in deinem Logfile so: 2 Sat-Nummern gab's im GPS und GALILEO Block.
also:
GSA > Anzahl benutzter Satelliten, verstanden :)
GSV zeigt doch die Anzahl der sichtbaren Satelliten an und diese verwendest Du dann um ausgefüllte Kreise als "benutzte" Satelliten darzustellen :?: oder wovon leitest du diese Info ab?
Gruß Wolfgang

PilaBlu
Site Admin
Beiträge: 94
Registriert: 21.08.2017, 16:28
Wohnort: Stuttgart
Kontaktdaten:

Re: V 2.5.3

Beitrag von PilaBlu » 11.10.2017, 21:10

Hi Wolfgang,

die Anzeige der GSV Strings passt ... die werden ja einfach gruppiert zu GPS, GLONASS, etc. gesendet.
Im Skyview siehst du also korrekt alle Satelliten mit den entsprechenden Systemen.
Die Anzahl der sichtbaren wird je GSV-Gruppe als Datenwert übertragen - passt also auch!
Muss dann nur über alle Gruppen summiert werden - soweit alles paletti ... :)

So - aber jetzt:
Die Satelliten die zur Positionsberechnung genutzt werden, die überträgt das NMEA Protokoll im GSA.
Da steht einmal die Anzahl drin :arrow: das passt dann also auch im SkyView (ist die "benutzt" Anzeige)

ABER bei den zur Berechnung benutzten Satelliten-Nummern kann es zu Mehrdeutigkeiten kommen!
Da werden im GSA nämlich einfach nur die einzelnen Nummern übertragen aber ohne das Sat-System. :evil:
Wenn dann z.B. die Nummer "5" im GPS und Galileo GSV-Block vorkommt hast die Kacke am dampfen...
Dann weiß ich eben nicht zu welchem System jetzt diese Nummer gehört - also zeichne ich eben beide ausgefüllt.

Daher: Wenn du die Anzahl der ausgefüllten Kreise zählst kann es eine Differenz zum Wert "benutzt" geben.
Die Anzeige "benutzt" ist aber korrekt - weil eben dieser Wert im GSA direkt übertragen wird!

Hmm ... klar? :P

Gruß
Markus
C macht es einfach, sich selbst ins Bein zu schießen; C++ erschwert es, aber wenn es Dir gelingt, bläst es Dir das ganze Bein weg! [Bjarne Stroustrup]

wugi
Beiträge: 52
Registriert: 21.08.2017, 20:56

Re: V 2.5.3

Beitrag von wugi » 12.10.2017, 19:33

Hallo Markus
vielen Dank :!:
Hmm ... klar?
fast :lol:
ja deine Erklärung ist super verständlich,
wobei mir noch unklar ist welches Kriterium (z.B.mindest SNR???) ausschlaggebend ist, dass ein Satellit in die tatsächliche Berechnung einbezogen wird und somit in die Summe der benutzten Sats in der GGA eingeht?
Gruß
Wolfgang

PilaBlu
Site Admin
Beiträge: 94
Registriert: 21.08.2017, 16:28
Wohnort: Stuttgart
Kontaktdaten:

Re: V 2.5.3

Beitrag von PilaBlu » 14.10.2017, 12:03

Hi Wolfgang,
wobei mir noch unklar ist welches Kriterium... tatsächliche Berechnung
Das entscheidet ganz alleine die Firmware auf deinem GNSS Chip!!
Da hast du absolut keinen Einfluss von außen.

Ich bin (nebenbei) noch an einer weiteren App dran, mit der ich Satelliten Rohdaten
mittels der Open-Source RtkLib "selber" auswerte und damit die Position berechne.
In solch einem Fall ist dann die GNSS-Firmware irrelevant, weil sie damit umgangen wird.
Da könnte man dann in der Tat diverse Kriterien zur Berechnung anpassen!

Gibt aber verflucht viele Fallstricke auf dem Weg zum Ziel. :mrgreen:
1) dein Smartphone muss SAT-Rohdaten liefern (mein Nexus tut das z.B.)
2) du brauchst Zugriff auf die Ephemeriden (Pos-Daten der Satelliten)
3) ohne zusätzliche RTCM Daten Auswertung ist die Qualität eher bescheiden

Meine ersten Tests mit der App sind leider ziemlich enttäuschend!
Das Nexus liefert mir z.B. nur GPS Rohdaten, d.h. obwohl ich GLONASS und
Beidou Satelliten im GSV sehe, kann ich sie nicht in die RTKLib zur Berechnung
einfließen lassen, da ich eben keinen Zugriff auf diese Rohdaten habe! :evil:

Ich hoffe dass im Laufe der nächsten Android-Updates mehr Rohdaten zur Verfügung stehen.
Ist auf jeden Fall ein sehr spannendes Thema und könnte die Positionierung mit dem
Smartphone GNSS unter guten Bedingungen auf den Meter genau machen!



Gruß
Markus
C macht es einfach, sich selbst ins Bein zu schießen; C++ erschwert es, aber wenn es Dir gelingt, bläst es Dir das ganze Bein weg! [Bjarne Stroustrup]

wugi
Beiträge: 52
Registriert: 21.08.2017, 20:56

Re: V 2.5.3

Beitrag von wugi » 14.10.2017, 13:20

Hallo Markus
dein Projekt liest sich ja spannend und ist mit Sicherheit interessant für die Zukunft!
Besten Dank für die tolle Erklärung, welche ich letztendlich hoffentlich umfänglich verstenden habe :mrgreen:
sonniges Wochenende
Wolfgang

gnssfan
Beiträge: 16
Registriert: 24.10.2017, 17:50

Re: V 2.5.3

Beitrag von gnssfan » 24.10.2017, 18:11

Hallo Markus,

wenn ich mich da noch einklinken darf in die Diskussion
ABER bei den zur Berechnung benutzten Satelliten-Nummern kann es zu Mehrdeutigkeiten kommen!
Da werden im GSA nämlich einfach nur die einzelnen Nummern übertragen aber ohne das Sat-System.
ublox sendet die GSA Blöcke pro Sat-System jeweils mit der SystemID nach NMEA v4.1 als neues Feld 18 vor der Checksum. Damit kann das Sat-System identifiziert werden.
1: GPS, SBAS
2: Glonass
3: Galileo
4: BeiDou

aus https://www.u-blox.com/sites/default/fi ... Public.pdf
....
17 VDOP - numeric Vertical dilution of precision
18 systemId - numeric 1 NMEA defined GNSS System ID NMEA v4.1 and above only
19 cs - hexadecimal *0D Checksum
20 <CR><LF> - character - Carriage return and line feed

Vielleicht lässt sich das in die super App noch einbauen.

Gruß,
Martin

Antworten