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