GnssNavigationMessage 構造体リファレンス

GnssNavigationMessage 構造体リファレンス

#include < gps.h >

データ フィールド

size_t size
 
int16_t svid
 
GnssNavigationMessageType   タイプ
 
NavigationMessageStatus status
 
int16_t メッセージ ID
 
int16_t submessage_id
 
size_t data_length
 
uint8_t *  データ
 

詳細な説明

GPS ナビゲーション メッセージ(またはそのフラグメント)を表します。

ファイル gps.h 2027 行の定義。

フィールドのドキュメント

uint8_t* data

報告された GPS メッセージのデータ。ビッグ エンディアン形式(MSB が先頭)で指定されたバイト(またはワード)。

  • GPS L1 C/A、Beidou D1、Beidou 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 バイトに収まるようにし、MSB を先頭に(B239、B240 をスキップ)10 秒間の期間をカバーします。
  • Galileo I/NAV の場合、各ページには偶数と奇数の 2 つのページ部分が含まれ、合計 2x114 = 228 ビット(同期とテールは除く)が 29 バイトに収まるようにする必要があります。MSB が先頭になります(B229 ~ B232 はスキップ)。

ファイル gps.h 2119 行の定義。

size_t data_length

現在のメッセージに含まれるデータの長さ(バイト単位)。この値がゼロと異なる場合、「data」は同じサイズの配列を参照する必要があります。たとえば、L1 C/A の場合、サブフレームのサイズは 40 バイト(10 ワード、30 ビット/ワード)になります。

これは必須の値です。

ファイル gps.h 2096 行の定義。

int16_t message_id

メッセージ ID。完全なナビゲーション メッセージを組み立てることができるようにインデックスを提供します。

  • GPS L1 C/A サブフレーム 4 と 5 の場合、この値はナビゲーション メッセージの「フレーム ID」に対応し、1 ~ 25 の範囲で指定します(サブフレーム 1、2、3 には「フレーム ID」が含まれないため、この値は -1 に設定できます)。
  • Glonass L1 C/A の場合、これはフレーム ID を指します(1 ~ 5 の範囲)。
  • BeiDou D1 の場合、これは 1 ~ 24 の範囲内のフレーム番号を指します。
  • Beidou 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

サブメッセージ ID。メッセージの「タイプ」で必要に応じて、この値には送信中の現在のメッセージ(またはフレーム)内のサブインデックスが含まれます。

  • 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

GNSSvInfo::svid で定義されている衛星の車両 ID 番号。必須の値です。

ファイル gps.h 2035 行の定義。

構造に含まれるメッセージのタイプ。これは必須の値です。

ファイル gps.h 2041 行の定義。


この構造体のドキュメントは、次のファイルから生成されました。
  • hardware/libhardware/include/hardware/ gps.h