การอ้างอิงโครงสร้าง GnssNavigationMessage

การอ้างอิงโครงสร้าง GnssNavigationMessage

#include < gps.h >

เขตข้อมูล

ขนาด_t ขนาด
int16_t สวิด
GnssNavigationMessageType พิมพ์
การนำทางข้อความสถานะ สถานะ
int16_t message_id
int16_t ข้อความย่อย_id
ขนาด_t ข้อมูล_ความยาว
uint8_t * ข้อมูล

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

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

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

เอกสารภาคสนาม

ข้อมูล uint8_t*

ข้อมูลของข้อความ 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 บิต (ไม่รวมสัญลักษณ์ sync และ tail) แต่ละคำควรมีขนาดพอดี 30 ไบต์ โดย MSB ก่อน (ข้าม B239, B240) ครอบคลุมช่วงเวลา 10 วินาที
  • สำหรับ Galileo I/NAV แต่ละหน้าประกอบด้วย 2 ส่วนของหน้า ทั้งคู่และคี่ โดยมีทั้งหมด 2x114 = 228 บิต (ไม่รวมการซิงค์และส่วนท้าย) ซึ่งควรจะพอดีกับ 29 ไบต์ โดยให้ MSB เป็นอันดับแรก (ข้าม B229-B232)

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

ขนาด_t ข้อมูล_ความยาว

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

นี่เป็นค่าบังคับ

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

int16_t message_id

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

  • สำหรับเฟรมย่อย GPS L1 C/A 4 และ 5 ค่านี้สอดคล้องกับ 'รหัสเฟรม' ของข้อความการนำทางในช่วง 1-25 (เฟรมย่อย 1, 2, 3 ไม่มี 'รหัสเฟรม' และค่านี้ สามารถตั้งค่าเป็น -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

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

ขนาด_ขนาดt

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

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

สถานะ การนำทางข้อความ สถานะ

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

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

int16_t ข้อความย่อย_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

ประเภท GnssNavigationMessageType

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

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


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