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 * | データ |
詳細な説明
フィールドのドキュメント
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 はスキップ)。
size_t data_length |
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 の範囲のサブフレーム番号を指します。
size_t size |
sizeof(GnssNavigationMessage) に設定
ファイル gps.h の 2029 行 に定義されています。
NavigationMessageStatus ステータス |
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+ の範囲の単語タイプを指します。
int16_t svid |
GNSSvInfo::svid で定義されている衛星の車両 ID 番号。必須の値です。
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ gps.h