Referência da estrutura GnssNavigationMessage

Referência da estrutura GnssNavigationMessage

#include < gps.h >

Campos de dados

size_t  size
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   status
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  dados
 

Descrição detalhada

Representa uma mensagem de navegação por GPS (ou um fragmento dela).

Definição na linha 2027 do arquivo gps.h .

Documentação do campo

uint8_t* data

Os dados da mensagem do GPS denunciada. Os bytes (ou palavras) especificados usando o formato big-endian (MSB primeiro).

  • Para GPS L1 C/A, Beidou D1 e Beidou D2, cada subframe contém 10 palavras de 30 bits. Cada palavra (30 bits) precisa caber nos últimos 30 bits de uma palavra de 4 bytes (pule B31 e B32), com MSB primeiro, para um total de 40 bytes, cobrindo um período 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 precisam caber em 11 bytes, com o MSB primeiro (pule B86-B88), cobrindo um período de 2 segundos.
  • Para o Galileo F/NAV, cada palavra consiste em 238 bits (símbolos de sincronização e cauda excluídos). Cada palavra precisa caber em 30 bytes, com o MSB primeiro (pule B239, B240), cobrindo um período de 10 segundos.
  • Para o Galileo I/NAV, cada página contém duas partes, par e ímpar, com um total de 2x114 = 228 bits (exceto sincronização e cauda) que precisam caber em 29 bytes, com MSB primeiro (pule B229-B232).

Definição na linha 2119 do arquivo gps.h .

size_t data_length

O comprimento dos dados (em bytes) contidos na mensagem atual. Se esse valor for diferente de zero, "data" precisará apontar para uma matriz do mesmo tamanho. Por exemplo, para L1 C/A, o tamanho do subframe será de 40 bytes (10 palavras, 30 bits/palavra).

Esse é um valor obrigatório.

Definição na linha 2096 do arquivo gps.h .

int16_t message_id

Identificador da mensagem. Ele fornece um índice para que a mensagem de navegação completa possa ser montada.

  • Para o subframe 4 e 5 do GPS L1 C/A, esse valor corresponde ao "frame id" da mensagem de navegação, no intervalo de 1 a 25. Os subframes 1, 2 e 3 não contêm um "frame id", e esse valor pode ser definido como -1.
  • Para Glonass L1 C/A, isso se refere ao ID do frame, no intervalo de 1 a 5.
  • Para BeiDou D1, isso se refere ao número do frame no intervalo de 1 a 24.
  • Para o Beidou D2, isso se refere ao número do frame, no intervalo de 1 a 120.
  • Para a estrutura de frame nominal de Galileo F/NAV, isso se refere ao número do subframe, no intervalo de 1 a 12.
  • Para a estrutura de frame nominal de Galileo I/NAV, isso se refere ao número do subframe no intervalo de 1 a 24.

Definição na linha 2070 do arquivo gps.h .

tamanho_t size

definido como sizeof(GnssNavigationMessage)

Definição na linha 2029 do arquivo gps.h .

O status da mensagem de navegação recebida. Não é necessário enviar nenhuma mensagem de navegação que contenha palavras com erro de paridade e não possa ser corrigida.

Definição na linha 2048 do arquivo gps.h .

int16_t submessage_id

Identificador da submensagem. Se necessário, esse valor contém um subíndice na mensagem (ou frame) atual que está sendo transmitida.

  • Para GPS L1 C/A, BeiDou D1 e BeiDou D2, o ID da submensagem corresponde ao número do subframe da mensagem de navegação, no intervalo de 1 a 5.
  • Para Glonass L1 C/A, isso se refere ao número da string, no intervalo de 1 a 15.
  • Para o Galileo F/NAV, isso se refere ao tipo de página no intervalo de 1 a 6.
  • Para o Galileo I/NAV, isso se refere ao tipo de palavra no intervalo de 1 a 10+

Definição na linha 2087 do arquivo gps.h .

int16_t svid

Número de ID do veículo por satélite, conforme definido em GnssSvInfo::svid Esse é um valor obrigatório.

Definição na linha 2035 do arquivo gps.h .

O tipo de mensagem contido na estrutura. Esse é um valor obrigatório.

Definição na linha 2041 do arquivo gps.h .


A documentação desse struct foi gerada com base no seguinte arquivo:
  • hardware/libhardware/include/hardware/ gps.h