Справочник по структуре GnssNavigationMessage

Справочник по структуре GnssNavigationMessage

#include < gps.h >

Поля данных

size_t размер
int16_t свид
GnssNavigationMessageType тип
Статус НавигацииСообщения положение дел
int16_t message_id
int16_t submessage_id
size_t длина_данных
uint8_t * данные

Подробное описание

Представляет навигационное сообщение GPS (или его фрагмент).

Определение в строке 2027 файла gps.h.

Полевая документация

uint8_t* данные

Данные сообщаемого GPS-сообщения. Байты (или слова), указанные в формате с прямым порядком байтов (сначала старший бит).

  • Для GPS L1 C/A, Beidou D1 и Beidou D2 каждый подкадр содержит 10 30-битных слов. Каждое слово (30 бит) должно помещаться в последние 30 бит 4-байтового слова (пропустить B31 и B32), начиная со старшего байта, всего 40 байтов, охватывая период времени 6, 6 и 0,6 секунды. , соответственно.
  • Для Glonass L1 C/A каждая строка содержит 85 бит данных, включая контрольную сумму. Эти биты должны умещаться в 11 байтов, начиная со старшего бита (пропуская B86-B88), охватывая период времени в 2 секунды.
  • В Galileo F/NAV каждое слово состоит из 238 бит (за исключением символов синхронизации и хвоста). Каждое слово должно умещаться в 30 байт, начиная со старшего разряда (пропуская B239, B240), охватывая период времени в 10 секунд.
  • Для Galileo I/NAV каждая страница содержит 2 части страницы, четную и нечетную, общей длиной 2x114 = 228 бит (без учета синхронизации и хвоста), которые должны умещаться в 29 байтов, начиная со старшего разряда (пропустить B229-B232).

Определение в строке 2119 файла gps.h.

size_t длина_данных

Длина данных (в байтах), содержащихся в текущем сообщении. Если это значение отличается от нуля, «данные» должны указывать на массив того же размера. например, для L1 C/A размер подкадра будет составлять 40 байт (10 слов, 30 бит/слово).

Это обязательное значение.

Определение в строке 2096 файла gps.h.

int16_t message_id

Идентификатор сообщения. Он предоставляет индекс, позволяющий составить полное навигационное сообщение.

  • Для подкадров 4 и 5 GPS L1 C/A это значение соответствует «идентификатору кадра» навигационного сообщения в диапазоне 1–25 (подкадр 1, 2, 3 не содержит «идентификатор кадра», и это значение можно установить на -1.)
  • Для Glonass L1 C/A это относится к идентификатору кадра в диапазоне 1–5.
  • Для BeiDou D1 это относится к номеру кадра в диапазоне 1–24.
  • Для Beidou D2 это относится к номеру кадра в диапазоне 1–120.
  • Для номинальной структуры кадра Galileo F/NAV это относится к номеру подкадра в диапазоне 1–12.
  • Для номинальной структуры кадра Galileo I/NAV это относится к номеру подкадра в диапазоне 1–24.

Определение в строке 2070 файла gps.h.

размер size_t

установлено в sizeof(GnssNavigationMessage)

Определение в строке 2029 файла gps.h.

Статус состояния навигацииMessageStatus

Статус полученного навигационного сообщения. Нет необходимости отправлять навигационное сообщение, содержащее слова с ошибкой четности и не поддающиеся исправлению.

Определение в строке 2048 файла gps.h.

int16_t submessage_id

Идентификатор подсообщения. Если этого требует тип сообщения, это значение содержит субиндекс внутри текущего передаваемого сообщения (или кадра).

  • Для GPS L1 C/A, BeiDou D1 и BeiDou D2 идентификатор подсообщения соответствует номеру подкадра навигационного сообщения в диапазоне 1–5.
  • Для Глонасс L1 C/A это относится к номеру строки в диапазоне от 1 до 15.
  • Для Galileo F/NAV это относится к типу страницы в диапазоне 1–6.
  • Для Galileo I/NAV это относится к типу слова в диапазоне 1–10+.

Определение в строке 2087 файла gps.h.

int16_t свид

Идентификатор спутникового транспортного средства, определенный в GnssSvInfo::svid . Это обязательное значение.

Определение в строке 2035 файла gps.h.

Тип сообщения, содержащегося в структуре. Это обязательное значение.

Определение в строке 2041 файла gps.h.


Документация для этой структуры была создана из следующего файла:
  • оборудование/libhardware/include/hardware/ gps.h