GnssNavigationMessage 结构参考

GnssNavigationMessage 结构参考

#include < gps.h >

数据字段

尺寸_t尺寸
int16_t斯维德
Gnss导航消息类型类型
导航消息状态地位
int16_t消息ID
int16_t子消息id
尺寸_t数据长度
uint8_t *数据

详细说明

表示 GPS 导航消息(或其片段)。

定义位于文件gps.h的第2027行。

现场文档

uint8_t* 数据

上报的GPS消息的数据。使用大端格式(MSB 在前)指定的字节(或字)。

  • 对于 GPS L1 C/A、北斗 D1 和北斗 D2,每个子帧包含 10 个 30 位字。每个字(30 位)应适合 4 字节字的最后 30 位(跳过 B31 和 B32),MSB 在前,总共 40 个字节,涵盖 6、6 和 0.6 秒的时间段, 分别。
  • 对于 Glonass L1 C/A,每个字符串包含 85 个数据位,包括校验和。这些位应适合 11 个字节,MSB 在前(跳过 B86-B88),覆盖 2 秒的时间段。
  • 对于 Galileo F/NAV,每个字由 238 位组成(不包括同步和尾部符号)。每个字应适合 30 字节,最高有效位在前(跳过 B239、B240),覆盖 10 秒的时间段。
  • 对于 Galileo I/NAV,每个页面包含 2 个页面部分,偶数和奇数,总共 2x114 = 228 位(不包括同步和尾部),应适合 29 个字节,首先是 MSB(跳过 B229-B232)。

定义位于文件gps.h的第2119行。

size_t 数据长度

当前消息中包含的数据长度(以字节为单位)。如果该值不为零,则“data”必须指向相同大小的数组。例如,对于 L1 C/A,子帧的大小将为 40 字节(10 个字,30 位/字)。

这是一个强制值。

定义位于文件gps.h的第2096行。

int16_t 消息 ID

消息标识符。它提供了一个索引,以便可以组装完整的导航消息。

  • 对于 GPS L1 C/A 子帧 4 和 5,该值对应导航电文的“帧 id”,范围为 1-25(子帧 1、2、3 不包含“帧 id”,该值可以设置为-1。)
  • 对于 Glonass L1 C/A,这是指帧 ID,范围为 1-5。
  • 对于北斗D1,这是指1-24范围内的帧号
  • 对于北斗D2,指帧号,范围1-120
  • 对于Galileo F/NAV标称帧结构,指的是子帧号,范围为1-12
  • 对于Galileo I/NAV标称帧结构,这是指1-24范围内的子帧号

定义位于文件gps.h的第2070行。

size_t 尺寸

设置为 sizeof(GnssNavigationMessage)

定义位于文件gps.h的第2029行。

接收到的导航电文的状态。无需发送任何包含奇偶校验错误且无法纠正的单词的导航消息。

定义位于文件gps.h的第2048行。

int16_t submessage_id

子消息标识符。如果消息“类型”需要,则该值包含正在传输的当前消息(或帧)内的子索引。

  • 对于GPS L1 C/A、北斗D1、北斗D2,子消息id对应导航消息的子帧号,范围为1-5。
  • 对于 Glonass L1 C/A,这是指字符串编号,范围为 1-15
  • 对于 Galileo F/NAV,这是指 1-6 范围内的页面类型
  • 对于 Galileo I/NAV,这是指 1-10+ 范围内的字类型

定义位于文件gps.h的第2087行。

int16_t svid

卫星车辆 ID 号,如GnssSvInfo::svid中定义。这是一个强制值。

定义位于文件gps.h的第2035行。

结构中包含的消息类型。这是一个强制值。

定义位于文件gps.h的第2041行。


该结构的文档是从以下文件生成的:
  • 硬件/libhardware/include/hardware/gps.h