Referencia de la estructura GnssNavigationMessage
#include <
gps.h
>
Campos de datos |
|
size_t | tamaño |
int16_t | svid |
GnssNavigationMessageType | type |
NavigationMessageStatus | estado |
int16_t | message_id |
int16_t | submessage_id |
size_t | data_length |
uint8_t * | datos |
Descripción detallada
Representa un mensaje de navegación GPS (o un fragmento de este).
Documentación de campos
uint8_t* data |
Los datos del mensaje GPS informado. Los bytes (o palabras) especificados con formato big-endian (MSB primero)
- Para GPS L1 C/A, Beidou D1 y Beidou D2, cada subtramas contiene 10 palabras de 30 bits. Cada palabra (30 bits) debe ajustarse a los últimos 30 bits de una palabra de 4 bytes (omite B31 y B32), con el MSB primero, para un total de 40 bytes, que abarca un período de 6, 6 y 0.6 segundos, respectivamente.
- En el caso de Glonass L1 C/A, cada cadena contiene 85 bits de datos, incluida la suma de comprobación. Estos bits deben caber en 11 bytes, con el MSB primero (omite B86-B88) y cubrir un período de 2 segundos.
- Para Galileo F/NAV, cada palabra consta de 238 bits (sin incluir los símbolos de sincronización y cola). Cada palabra debe caber en 30 bytes, con el MSB primero (omite B239 y B240) y cubrir un período de 10 segundos.
- Para Galileo I/NAV, cada página contiene 2 partes de página, par y impar, con un total de 2 × 114 = 228 bits (sin contar la sincronización y la cola) que deben caber en 29 bytes, con el MSB primero (omite B229-B232).
size_t data_length |
Es la longitud de los datos (en bytes) que contiene el mensaje actual. Si este valor es diferente de cero, "data" debe apuntar a un array del mismo tamaño. p.ej., para la C/A de L1, el tamaño de la subtramas será de 40 bytes (10 palabras, 30 bits/palabra).
Este es un valor obligatorio.
int16_t message_id |
Es el identificador del mensaje. Proporciona un índice para que se pueda ensamblar el mensaje de navegación completo.
- Para los subtramas 4 y 5 de C/A del GPS L1, este valor corresponde al "ID de trama" del mensaje de navegación, en el rango de 1 a 25 (los subtramas 1, 2 y 3 no contienen un "ID de trama" y este valor se puede establecer en -1).
- Para Glonass L1 C/A, hace referencia al ID de trama, en el rango de 1 a 5.
- Para BeiDou D1, se refiere al número de fotogramas en el rango de 1 a 24.
- Para Beidou D2, se refiere al número de fotogramas, en el rango de 1 a 120.
- Para la estructura de trama nominal de Galileo F/NAV, se refiere al número de trama secundaria, en el rango de 1 a 12.
- En el caso de la estructura de trama nominal de Galileo I/NAV, se refiere al número de trama secundaria en el rango de 1 a 24.
tamaño de size_t |
NavigationMessageStatus estado |
int16_t submessage_id |
Es el identificador del submensaje. Si el mensaje "type" lo requiere, este valor contiene un subíndice dentro del mensaje (o trama) actual que se transmite.
- Para GPS L1 C/A, BeiDou D1 y BeiDou D2, el ID del submensaje corresponde al número de subtramas del mensaje de navegación, en el rango de 1 a 5.
- Para Glonass L1 C/A, hace referencia al número de cadena, en el rango de 1 a 15.
- Para Galileo F/NAV, se refiere al tipo de página en el rango de 1 a 6.
- Para Galileo I/NAV, se refiere al tipo de palabra en el rango de 1 a 10 o más.
int16_t svid |
Número de ID del vehículo satelital, como se define en GnssSvInfo::svid . Este es un valor obligatorio.
La documentación de esta struct se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ gps.h