Riferimento alla struttura GnssNavigationMessage
#include < gps.h >
Campi dati | |
taglia_t | misurare |
int16_t | svid |
GnssNavigationMessageType | tipo |
NavigationMessageStatus | stato |
int16_t | messaggio_id |
int16_t | sottomessaggio_id |
taglia_t | lunghezza_dati |
uint8_t * | dati |
Descrizione dettagliata
Rappresenta un messaggio di navigazione GPS (o un frammento di esso).
Documentazione sul campo
uint8_t* dati |
I dati del messaggio GPS riportato. I byte (o parole) specificati utilizzando il formato big endian (prima MSB).
- Per GPS L1 C/A, Beidou D1 e Beidou D2, ciascun sottoframe contiene 10 parole da 30 bit. Ogni parola (30 bit) deve essere inserita negli ultimi 30 bit in una parola da 4 byte (salta B31 e B32), con MSB per primo, per un totale di 40 byte, coprendo un periodo di tempo di 6, 6 e 0,6 secondi , rispettivamente.
- Per Glonass L1 C/A, ogni stringa contiene 85 bit di dati, incluso il checksum. Questi bit dovrebbero essere inseriti in 11 byte, con MSB per primo (salta B86-B88), coprendo un periodo di tempo di 2 secondi.
- Per Galileo F/NAV, ogni parola è composta da 238 bit (simboli di sincronizzazione e coda esclusi). Ogni parola dovrebbe essere inserita in 30 byte, con MSB per primo (salta B239, B240), coprendo un periodo di tempo di 10 secondi.
- Per Galileo I/NAV, ogni pagina contiene 2 parti di pagina, pari e dispari, per un totale di 2x114 = 228 bit, (sincronizzazione e coda escluse) che dovrebbero essere inserite in 29 byte, con MSB per primo (salta B229-B232).
dimensione_t lunghezza_dati |
La lunghezza dei dati (in byte) contenuti nel messaggio corrente. Se questo valore è diverso da zero, 'data' deve puntare a un array della stessa dimensione. ad esempio per L1 C/A la dimensione del sottoframe sarà 40 byte (10 parole, 30 bit/parola).
Questo è un valore obbligatorio.
int16_t id_messaggio |
Identificatore del messaggio. Fornisce un indice in modo che sia possibile assemblare il messaggio di navigazione completo.
- Per i sottoframe 4 e 5 GPS L1 C/A, questo valore corrisponde al 'frame id' del messaggio di navigazione, nell'intervallo 1-25 (il sottoframe 1, 2, 3 non contiene un 'frame id' e questo valore può essere impostato su -1.)
- Per Glonass L1 C/A, questo si riferisce all'ID del frame, nell'intervallo 1-5.
- Per BeiDou D1, questo si riferisce al numero di fotogramma nell'intervallo 1-24
- Per Beidou D2, questo si riferisce al numero di frame, nell'intervallo 1-120
- Per la struttura del frame nominale Galileo F/NAV, si riferisce al numero del sottoframe, compreso tra 1 e 12
- Per la struttura del frame nominale Galileo I/NAV, si riferisce al numero del sottoframe compreso tra 1 e 24
dimensione_t dimensione |
Stato NavigationMessageStatus |
int16_t sottomessaggio_id |
Identificatore del sottomessaggio. Se richiesto dal 'tipo' del messaggio, questo valore contiene un sottoindice all'interno del messaggio (o frame) corrente che viene trasmesso.
- Per GPS L1 C/A, BeiDou D1 e BeiDou D2, l'id del sottomessaggio corrisponde al numero del sottoframe del messaggio di navigazione, nell'intervallo 1-5.
- Per Glonass L1 C/A, questo si riferisce al numero di corda, nell'intervallo da 1 a 15
- Per Galileo F/NAV, questo si riferisce al tipo di pagina nell'intervallo 1-6
- Per Galileo I/NAV, questo si riferisce al tipo di parola nell'intervallo 1-10+
int16_tsvid |
Numero ID del veicolo satellitare, come definito in GnssSvInfo::svid Questo è un valore obbligatorio.
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ gps.h