GnssNavigationMessage 结构体参考文档

GnssNavigationMessage 结构体参考文档

#include < gps.h >

数据字段

size_t  尺寸
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   状态
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  data
 

详细说明

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

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

字段文档

uint8_t* data

报告的 GPS 消息的数据。使用大端字节序格式(最有意义的字节优先)指定的字节(或字)。

  • 对于 GPS L1 C/A、北斗 D1 和北斗 D2,每个子帧包含 10 个 30 位字。每个字(30 位)应填入 4 字节字中的最后 30 位(跳过 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)。

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

size_t data_length

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

此值为必填项。

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

int16_t message_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 size

设置为 sizeof(GnssNavigationMessage)

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

收到的导航消息的状态。无需发送任何包含无法更正的奇偶性错误字词的导航消息。

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

int16_t submessage_id

子消息标识符。如果消息“type”需要,此值包含正在传输的当前消息(或帧)中的子索引。

  • 对于 GPS L1 C/A、BeiDou D1 和 BeiDou 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 行中。


此结构体的文档是根据以下文件生成的:
  • hardware/libhardware/include/hardware/ gps.h