Tham chiếu cấu trúc GnssNavigationMessage

Tham chiếu cấu trúc GnssNavigationMessage

#include < gps.h >

Trường dữ liệu

size_t  size
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   trạng thái
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  dữ liệu
 

Nội dung mô tả chi tiết

Biểu thị thông báo điều hướng GPS (hoặc một mảnh của thông báo đó).

Định nghĩa tại dòng 2027 của tệp gps.h .

Tài liệu về trường

uint8_t* data

Dữ liệu của thông báo GPS đã báo cáo. Các byte (hoặc từ) được chỉ định bằng định dạng big endian (MSB trước).

  • Đối với GPS L1 C/A, Beidou D1 và Beidou D2, mỗi khung con chứa 10 từ 30 bit. Mỗi từ (30 bit) phải vừa với 30 bit cuối cùng trong một từ 4 byte (bỏ qua B31 và B32), với MSB trước tiên, tổng cộng 40 byte, tương ứng với khoảng thời gian 6, 6 và 0,6 giây.
  • Đối với Glonass L1 C/A, mỗi chuỗi chứa 85 bit dữ liệu, bao gồm cả tổng kiểm. Các bit này phải vừa với 11 byte, với MSB trước tiên (bỏ qua B86-B88), trong khoảng thời gian 2 giây.
  • Đối với Galileo F/NAV, mỗi từ bao gồm 238 bit (không bao gồm ký hiệu đồng bộ hoá và ký hiệu đuôi). Mỗi từ phải vừa với 30 byte, với MSB trước tiên (bỏ qua B239, B240), trong khoảng thời gian 10 giây.
  • Đối với Galileo I/NAV, mỗi trang chứa 2 phần trang, chẵn và lẻ, với tổng cộng 2x114 = 228 bit (không bao gồm đồng bộ hoá và đuôi) phải vừa với 29 byte, với MSB trước tiên (bỏ qua B229-B232).

Định nghĩa tại dòng 2119 của tệp gps.h .

size_t data_length

Độ dài của dữ liệu (tính bằng byte) có trong thông báo hiện tại. Nếu giá trị này khác 0, thì "data" phải trỏ đến một mảng có cùng kích thước. Ví dụ: đối với L1 C/A, kích thước của khung phụ sẽ là 40 byte (10 từ, 30 bit/từ).

Đây là giá trị bắt buộc.

Định nghĩa tại dòng 2096 của tệp gps.h .

int16_t message_id

Mã nhận dạng thư. Tệp này cung cấp một chỉ mục để có thể tập hợp hoàn chỉnh Thông báo điều hướng.

  • Đối với khung phụ GPS L1 C/A 4 và 5, giá trị này tương ứng với "mã khung" của thông báo điều hướng, trong phạm vi từ 1 đến 25 (Khung phụ 1, 2, 3 không chứa "mã khung" và giá trị này có thể được đặt thành -1.)
  • Đối với Glonass L1 C/A, đây là mã khung hình, trong phạm vi từ 1 đến 5.
  • Đối với BeiDou D1, đây là số khung hình trong khoảng từ 1 đến 24
  • Đối với Beidou D2, đây là số khung hình, trong khoảng từ 1 đến 120
  • Đối với cấu trúc khung danh nghĩa Galileo F/NAV, đây là số khung hình phụ, trong phạm vi từ 1 đến 12
  • Đối với cấu trúc khung danh nghĩa Galileo I/NAV, đây là số khung hình phụ trong phạm vi từ 1 đến 24

Định nghĩa tại dòng 2070 của tệp gps.h .

size_t size

đặt thành sizeof(GnssNavigationMessage)

Định nghĩa tại dòng 2029 của tệp gps.h .

Trạng thái của thông báo điều hướng đã nhận được. Không cần gửi thông báo điều hướng nào chứa từ có lỗi chẵn lẻ và không thể sửa được.

Định nghĩa tại dòng 2048 của tệp gps.h .

int16_t submessage_id

Giá trị nhận dạng của thông báo phụ. Nếu "loại" thông báo yêu cầu, giá trị này sẽ chứa một chỉ mục phụ trong thông báo (hoặc khung) hiện đang được truyền.

  • Đối với GPS L1 C/A, BeiDou D1 và BeiDou D2, mã thông báo phụ tương ứng với số khung phụ của thông báo điều hướng, trong phạm vi từ 1 đến 5.
  • Đối với Glonass L1 C/A, đây là số Chuỗi, trong phạm vi từ 1 đến 15
  • Đối với Galileo F/NAV, đây là loại trang trong khoảng từ 1 đến 6
  • Đối với Galileo I/NAV, đây là loại từ trong phạm vi từ 1 đến 10 trở lên

Định nghĩa tại dòng 2087 của tệp gps.h .

int16_t svid

Số nhận dạng xe vệ tinh, như được xác định trong GnssSvInfo::svid Đây là giá trị bắt buộc.

Định nghĩa tại dòng 2035 của tệp gps.h .

Loại thông báo có trong cấu trúc. Đây là giá trị bắt buộc.

Định nghĩa tại dòng 2041 của tệp gps.h .


Tài liệu cho cấu trúc này được tạo từ tệp sau:
  • hardware/libhardware/include/hardware/ gps.h