Referência de estrutura GnssNavigationMessage
#include < gps.h >
Campos de dados | |
tamanho_t | tamanho |
int16_t | svid |
GnssNavigationMessageType | tipo |
NavegaçãoMessageStatus | status |
int16_t | mensagem_id |
int16_t | submensagem_id |
tamanho_t | comprimento_dados |
uint8_t * | dados |
Descrição detalhada
Representa uma mensagem de navegação GPS (ou um fragmento dela).
Documentação de campo
dados uint8_t* |
Os dados da mensagem GPS reportada. Os bytes (ou palavras) especificados usando o formato big endian (MSB primeiro).
- Para GPS L1 C/A, Beidou D1 e Beidou D2, cada subquadro contém 10 palavras de 30 bits. Cada palavra (30 bits) deve caber nos últimos 30 bits de uma palavra de 4 bytes (pular B31 e B32), com MSB primeiro, totalizando 40 bytes, cobrindo um período de tempo de 6, 6 e 0,6 segundos. , respectivamente.
- Para Glonass L1 C/A, cada string contém 85 bits de dados, incluindo a soma de verificação. Esses bits devem caber em 11 bytes, com MSB primeiro (pular B86-B88), cobrindo um período de 2 segundos.
- Para Galileo F/NAV, cada palavra consiste em 238 bits (excluindo símbolos de sincronização e cauda). Cada palavra deve caber em 30 bytes, com MSB primeiro (pular B239, B240), cobrindo um período de 10 segundos.
- Para Galileo I/NAV, cada página contém 2 partes de página, pares e ímpares, com um total de 2x114 = 228 bits, (sincronização e cauda excluídas) que devem caber em 29 bytes, com MSB primeiro (pular B229-B232).
tamanho_t comprimento_dados |
O comprimento dos dados (em bytes) contidos na mensagem atual. Se este valor for diferente de zero, 'dados' deverão apontar para um array do mesmo tamanho. por exemplo, para L1 C/A o tamanho do subquadro será de 40 bytes (10 palavras, 30 bits/palavra).
Este é um valor obrigatório.
int16_t mensagem_id |
Identificador de mensagem. Ele fornece um índice para que a Mensagem de Navegação completa possa ser montada.
- Para os subquadros 4 e 5 do GPS L1 C/A, este valor corresponde ao 'frame id' da mensagem de navegação, no intervalo de 1-25 (o subquadro 1, 2, 3 não contém um 'frame id' e este valor pode ser definido como -1.)
- Para Glonass L1 C/A, isso se refere ao ID do quadro, no intervalo de 1 a 5.
- Para BeiDou D1, refere-se ao número do quadro na faixa de 1-24
- Para Beidou D2, refere-se ao número do quadro, na faixa de 1-120
- Para a estrutura nominal do quadro Galileo F/NAV, refere-se ao número do subquadro, na faixa de 1-12
- Para a estrutura nominal do quadro Galileo I/NAV, refere-se ao número do subquadro na faixa de 1-24
tamanho_t tamanho |
Status de NavigationMessageStatus |
int16_t submensagem_id |
Identificador de submensagem. Se exigido pelo 'tipo' da mensagem, este valor contém um subíndice dentro da mensagem (ou quadro) atual que está sendo transmitida.
- Para GPS L1 C/A, BeiDou D1 e BeiDou D2, o ID da submensagem corresponde ao número do subquadro da mensagem de navegação, no intervalo de 1-5.
- Para Glonass L1 C/A, refere-se ao número da String, no intervalo de 1 a 15
- Para Galileo F/NAV, refere-se ao tipo de página no intervalo 1-6
- Para Galileo I/NAV, refere-se ao tipo de palavra no intervalo 1-10+
int16_t svid |
Número de identificação do veículo satélite, conforme definido em GnssSvInfo::svid Este é um valor obrigatório.
A documentação desta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ gps.h