GnssNavigationMessage-Strukturreferenz
#include < gps.h >
Datenfelder | |
size_t | Größe |
int16_t | svid |
GnssNavigationMessageType | Typ |
NavigationMessageStatus | Status |
int16_t | Nachrichten ID |
int16_t | submessage_id |
size_t | Datenlänge |
uint8_t * | Daten |
detaillierte Beschreibung
Stellt eine GPS-Navigationsnachricht (oder ein Fragment davon) dar.
Felddokumentation
uint8_t*-Daten |
Die Daten der gemeldeten GPS-Nachricht. Die Bytes (oder Wörter), die im Big-Endian-Format (MSB zuerst) angegeben werden.
- Bei GPS L1 C/A, Beidou D1 und Beidou D2 enthält jeder Subframe 10 30-Bit-Wörter. Jedes Wort (30 Bits) sollte in die letzten 30 Bits eines 4-Byte-Wortes passen (B31 und B32 überspringen), mit MSB zuerst, für insgesamt 40 Bytes, was einen Zeitraum von 6, 6 und 0,6 Sekunden abdeckt , jeweils.
- Bei Glonass L1 C/A enthält jeder String 85 Datenbits, einschließlich der Prüfsumme. Diese Bits sollten in 11 Bytes passen, mit MSB zuerst (B86-B88 überspringen) und einen Zeitraum von 2 Sekunden abdecken.
- Bei Galileo F/NAV besteht jedes Wort aus 238 Bit (Sync- und Tail-Symbole ausgenommen). Jedes Wort sollte in 30 Bytes passen, mit MSB zuerst (B239, B240 überspringen) und einen Zeitraum von 10 Sekunden abdecken.
- Für Galileo I/NAV enthält jede Seite zwei Seitenteile, gerade und ungerade, mit insgesamt 2 x 114 = 228 Bits (Synchronisierung und Tail ausgenommen), die in 29 Bytes passen sollten, wobei MSB zuerst ist (B229-B232 überspringen).
size_t data_length |
Die Länge der in der aktuellen Nachricht enthaltenen Daten (in Bytes). Wenn dieser Wert ungleich Null ist, muss „data“ auf ein Array derselben Größe verweisen. Beispielsweise beträgt die Größe des Unterrahmens für L1 C/A 40 Bytes (10 Wörter, 30 Bits/Wort).
Dies ist ein obligatorischer Wert.
int16_t message_id |
Nachrichten-ID. Es stellt einen Index bereit, sodass die vollständige Navigationsnachricht zusammengestellt werden kann.
- Für GPS L1 C/A-Subframe 4 und 5 entspricht dieser Wert der „Frame-ID“ der Navigationsnachricht im Bereich von 1–25 (Subframe 1, 2, 3 enthält keine „Frame-ID“ und diesen Wert kann auf -1 gesetzt werden.)
- Bei Glonass L1 C/A bezieht sich dies auf die Frame-ID im Bereich von 1–5.
- Beim BeiDou D1 bezieht sich dies auf die Bildnummer im Bereich von 1-24
- Bei Beidou D2 bezieht sich dies auf die Bildnummer im Bereich von 1-120
- Bei der nominalen Rahmenstruktur von Galileo F/NAV bezieht sich dies auf die Unterrahmennummer im Bereich von 1 bis 12
- Bei der nominalen Rahmenstruktur von Galileo I/NAV bezieht sich dies auf die Unterrahmennummer im Bereich von 1 bis 24
NavigationMessageStatus -Status |
int16_t submessage_id |
Unternachrichten-ID. Wenn es der Nachrichtentyp erfordert, enthält dieser Wert einen Subindex innerhalb der aktuellen Nachricht (oder des Frames), die übertragen wird.
- Bei GPS L1 C/A, BeiDou D1 und BeiDou D2 entspricht die Unternachrichten-ID der Unterrahmennummer der Navigationsnachricht im Bereich von 1 bis 5.
- Bei Glonass L1 C/A bezieht sich dies auf die String-Nummer im Bereich von 1-15
- Bei Galileo F/NAV bezieht sich dies auf den Seitentyp im Bereich 1-6
- Für Galileo I/NAV bezieht sich dies auf den Worttyp im Bereich 1-10+
int16_t svid |
Satellitenfahrzeug-ID-Nummer, wie in GnssSvInfo::svid definiert. Dies ist ein obligatorischer Wert.
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ gps.h