การอ้างอิง GnssNavigationMessage Struct

การอ้างอิง GnssNavigationMessage Struct

#include < gps.h >

ฟิลด์ข้อมูล

size_t  size
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   status
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  data
 

คำอธิบายโดยละเอียด

แสดงข้อความการนำทางด้วย GPS (หรือข้อความบางส่วน)

คําจํากัดความที่บรรทัด 2027 ของไฟล์ gps.h .

เอกสารประกอบในสนาม

uint8_t* data

ข้อมูลของข้อความ GPS ที่รายงาน ไบต์ (หรือคำ) ที่ระบุโดยใช้รูปแบบ Big Endian (MSB ก่อน)

  • สำหรับ GPS L1 C/A, Beidou D1 และ Beidou D2 แต่ละเฟรมย่อยจะมีคำ 30 บิต 10 คำ คำแต่ละคำ (30 บิต) ควรใส่ไว้ใน 30 บิตสุดท้ายของคำ 4 ไบต์ (ข้าม 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)

คําจํากัดความที่บรรทัด 2119 ของไฟล์ gps.h .

size_t data_length

ความยาวของข้อมูล (เป็นไบต์) ที่มีอยู่ในข้อความปัจจุบัน หากค่านี้แตกต่างจาก 0 "data" ต้องชี้ไปยังอาร์เรย์ที่มีขนาดเท่ากัน เช่น สำหรับ L1 C/A ขนาดของเฟรมย่อยจะเป็น 40 ไบต์ (10 คำ 30 บิต/คำ)

ค่านี้เป็นค่าที่ต้องระบุ

คําจํากัดความที่บรรทัด 2096 ของไฟล์ gps.h .

int16_t message_id

ตัวระบุข้อความ ข้อมูลนี้จะเป็นดัชนีเพื่อให้สามารถรวบรวมข้อความการนำทางที่สมบูรณ์ได้

  • สำหรับเฟรมย่อย 4 และ 5 ของ GPS L1 C/A ค่านี้จะสอดคล้องกับ "รหัสเฟรม" ของข้อความการนำทางในช่วง 1-25 (เฟรมย่อย 1, 2, 3 ไม่มี "รหัสเฟรม" และสามารถตั้งค่านี้เป็น -1 ได้)
  • สำหรับ Glonass L1 C/A ข้อมูลนี้หมายถึงรหัสเฟรมในช่วง 1-5
  • สำหรับ BeiDou D1 หมายถึงหมายเลขเฟรมในช่วง 1-24
  • สำหรับ Beidou D2 หมายถึงหมายเลขเฟรมในช่วง 1-120
  • สำหรับโครงสร้างเฟรมที่ระบุของ Galileo F/NAV ข้อมูลนี้หมายถึงหมายเลขเฟรมย่อยในช่วง 1-12
  • สำหรับโครงสร้างเฟรมที่ระบุของ Galileo I/NAV ข้อมูลนี้หมายถึงหมายเลขเฟรมย่อยในช่วง 1-24

คําจํากัดความที่บรรทัด 2070 ของไฟล์ gps.h .

size_t size

ตั้งค่าเป็น sizeof(GnssNavigationMessage)

คําจํากัดความที่บรรทัด 2029 ของไฟล์ gps.h .

สถานะของข้อความการนำทางที่ได้รับ ไม่จำเป็นต้องส่งข้อความการนำทางที่มีคำที่มีข้อผิดพลาดเกี่ยวกับพาริตีและแก้ไขไม่ได้

คําจํากัดความที่บรรทัด 2048 ของไฟล์ gps.h .

int16_t submessage_id

ตัวระบุข้อความย่อย หาก "ประเภท" ของข้อความกำหนดไว้ ค่านี้จะมีดัชนีย่อยภายในข้อความ (หรือเฟรม) ปัจจุบันที่กำลังส่ง

  • สำหรับ GPS L1 C/A, BeiDou D1 และ BeiDou D2 รหัสข้อความย่อยจะสอดคล้องกับหมายเลขเฟรมย่อยของข้อความนำทางในช่วง 1-5
  • สำหรับ Glonass L1 C/A หมายถึงหมายเลขสตริงในช่วง 1-15
  • สำหรับ Galileo F/NAV หมายถึงประเภทหน้าเว็บในช่วง 1-6
  • สำหรับ Galileo I/NAV ข้อมูลนี้หมายถึงประเภทคำในช่วง 1-10 ขึ้นไป

คําจํากัดความที่บรรทัด 2087 ของไฟล์ gps.h .

int16_t svid

หมายเลขประจำตัวยานพาหนะดาวเทียมตามที่ระบุไว้ใน GnssSvInfo::svid ค่านี้เป็นค่าที่ต้องระบุ

คําจํากัดความที่บรรทัด 2035 ของไฟล์ gps.h .

ประเภทข้อความที่อยู่ในโครงสร้าง ค่านี้เป็นค่าที่ต้องระบุ

คําจํากัดความที่บรรทัด 2041 ของไฟล์ gps.h .


เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
  • hardware/libhardware/include/hardware/ gps.h