Référence de structure GnssNavigationMessage
#include < gps.h >
Champs de données | |
taille_t | taille |
int16_t | svid |
GnssNavigationMessageType | taper |
Statut du message de navigation | statut |
int16_t | ID du message |
int16_t | submessage_id |
taille_t | longueur_données |
uint8_t * | données |
Description détaillée
Représente un message de navigation GPS (ou un fragment de celui-ci).
Documentation de terrain
données uint8_t* |
Les données du message GPS signalé. Les octets (ou mots) spécifiés au format big endian (MSB en premier).
- Pour GPS L1 C/A, Beidou D1 & Beidou D2, chaque sous-trame contient 10 mots de 30 bits. Chaque mot (30 bits) doit être inséré dans les 30 derniers bits d'un mot de 4 octets (sauter B31 et B32), avec MSB en premier, pour un total de 40 octets, couvrant une période de 6, 6 et 0,6 seconde. , respectivement.
- Pour Glonass L1 C/A, chaque chaîne contient 85 bits de données, somme de contrôle comprise. Ces bits doivent être répartis sur 11 octets, avec MSB en premier (sauter B86-B88), couvrant une période de 2 secondes.
- Pour Galileo F/NAV, chaque mot est composé de 238 bits (symboles de synchronisation et de queue exclus). Chaque mot doit contenir 30 octets, avec MSB en premier (sauter B239, B240), couvrant une période de 10 secondes.
- Pour Galileo I/NAV, chaque page contient 2 parties de page, paire et impaire, avec un total de 2x114 = 228 bits (synchronisation et queue exclues) qui doivent tenir dans 29 octets, avec MSB en premier (ignorer B229-B232).
size_t data_length |
La longueur des données (en octets) contenues dans le message actuel. Si cette valeur est différente de zéro, 'data' doit pointer vers un tableau de même taille. Par exemple, pour L1 C/A, la taille de la sous-trame sera de 40 octets (10 mots, 30 bits/mot).
Il s'agit d'une valeur obligatoire.
int16_t message_id |
Identifiant du message. Il fournit un index permettant d'assembler le message de navigation complet.
- Pour les sous-trames 4 et 5 du GPS L1 C/A, cette valeur correspond à « l'identifiant de trame » du message de navigation, dans la plage de 1 à 25 (les sous-trames 1, 2, 3 ne contiennent pas d'« identifiant de trame » et cette valeur peut être réglé sur -1.)
- Pour Glonass L1 C/A, cela fait référence à l’ID de trame, compris entre 1 et 5.
- Pour BeiDou D1, il s'agit du numéro de cadre compris entre 1 et 24.
- Pour Beidou D2, il s'agit du numéro de cadre, compris entre 1 et 120.
- Pour la structure de trame nominale Galileo F/NAV, cela fait référence au numéro de sous-trame, compris entre 1 et 12.
- Pour la structure de trame nominale Galileo I/NAV, cela fait référence au numéro de sous-trame compris entre 1 et 24.
taille_t taille |
État de NavigationMessageStatus |
int16_t submessage_id |
Identificateur de sous-message. Si le « type » du message l'exige, cette valeur contient un sous-index dans le message (ou la trame) en cours de transmission.
- Pour GPS L1 C/A, BeiDou D1 et BeiDou D2, l'identifiant du sous-message correspond au numéro de sous-trame du message de navigation, compris entre 1 et 5.
- Pour Glonass L1 C/A, il s'agit du numéro de chaîne, compris entre 1 et 15.
- Pour Galileo F/NAV, cela fait référence au type de page compris entre 1 et 6.
- Pour Galileo I/NAV, cela fait référence au type de mot compris entre 1 et 10+.
int16_t svid |
Numéro d'identification du véhicule satellite, tel que défini dans GnssSvInfo::svid . Il s'agit d'une valeur obligatoire.
La documentation de cette structure a été générée à partir du fichier suivant :
- matériel/libhardware/include/hardware/ gps.h