Odwołania do typu danych GnssNavigationMessage
#include <
gps.h
>
Pola danych |
|
size_t | size |
int16_t | svid |
GnssNavigationMessageType | typ |
NavigationMessageStatus | stan |
int16_t | message_id |
int16_t | submessage_id |
size_t | data_length |
uint8_t * | dane |
Szczegółowy opis
Dokumentacja pola
uint8_t* data |
Dane zgłoszonej wiadomości GPS. Bajty (lub słowa) określone w formacie big endian (najstarszy bit na początku).
- W przypadku GPS L1 C/A, BeiDou D1 i BeiDou D2 każda podramka zawiera 10 słów 30-bitowych. Każde słowo (30 bitów) powinno być dopasowane do ostatnich 30 bitów w słowie 4-bajtowym (pomiń B31 i B32), przy czym najpierw należy użyć MSB, co daje w sumie 40 bajtów, obejmujących odpowiednio 6, 6 i 0,6 sekundy.
- W przypadku Glonass L1 C/A każdy ciąg zawiera 85 bitów danych, w tym sumę kontrolną. Te bity powinny zmieścić się w 11 bajtach, z najstarszym bitem jako pierwszym (pomiń B86–B88), obejmując 2-sekundowy okres.
- W przypadku Galileo F/NAV każde słowo składa się z 238 bitów (z wyjątkiem symboli synchronizacji i ogonów). Każde słowo powinno zmieścić się w 30 bajtach, z MSB na pierwszym miejscu (pomiń B239, B240), obejmując okres 10 sekund.
- W przypadku Galileo I/NAV każda strona zawiera 2 części strony, parzysta i nieparzysta, łącznie 2 x 114 = 228 bitów (bez synchronizacji i ogonu), które powinny zmieścić się w 29 bajtach, zaczynając od najwyższego bitu (pomiń komórki B229–B232).
size_t data_length |
Długość danych (w bajtach) zawartych w bieżącej wiadomości. Jeśli ta wartość jest różna od zera, „data” musi wskazywać tablicę o tej samej wielkości. Przykładowo w przypadku L1 C/A rozmiar podramki będzie wynosił 40 bajtów (10 słów, 30 bitów/słowo).
Ta wartość jest wymagana.
int16_t message_id |
Identyfikator wiadomości. Zawiera on indeks, dzięki któremu można z niego złożyć pełną wiadomość nawigacyjną.
- W przypadku podramek 4 i 5 GPS L1 C/A ta wartość odpowiada „identyfikatorowi ramki” komunikatu nawigacyjnego w zakresie 1–25 (podramki 1, 2 i 3 nie zawierają „identyfikatora ramki”, a ta wartość może być ustawiona na -1).
- W przypadku Glonass L1 C/A odnosi się to identyfikatora ramki w zakresie 1–5.
- W przypadku BeiDou D1 odnosi się to numeru ramki w zakresie 1–24.
- W przypadku Beidou D2 odnosi się to numeru ramki w zakresie 1–120.
- W przypadku nominalnej struktury ramki Galileo F/NAV oznacza to numer podramki w zakresie 1–12.
- W przypadku nominalnej struktury ramki Galileo I/NAV oznacza to numer podramki w zakresie 1–24.
int16_t submessage_id |
Identyfikator podrzędnego komunikatu. Jeśli wymaga tego typ wiadomości, ta wartość zawiera podindeksy w ramach bieżącej wiadomości (lub ramki), która jest przesyłana.
- W przypadku GPS L1 C/A, BeiDou D1 i BeiDou D2 identyfikator podwiadomości odpowiada numerowi podramki komunikatu nawigacyjnego w zakresie 1–5.
- W przypadku Glonass L1 C/A odnosi się to numeru ciągu znaków w zakresie od 1 do 15.
- W przypadku Galileo F/NAV odnosi się to typu strony w zakresie 1–6.
- W przypadku Galileo I/NAV odnosi się to typu słowa w zakresie 1–10+.
int16_t svid |
Numer identyfikacyjny satelity, zdefiniowany w GnssSvInfo::svid Jest to wartość obowiązkowa.
Dokumentacja tego typu danych została wygenerowana z tego pliku:
- hardware/libhardware/include/hardware/ gps.h