مرجع بنية GnssNavigationMessage

مرجع بنية GnssNavigationMessage

#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، يحتوي كل إطار فرعي على 10 كلمات من 30 بت. يجب أن تُلائم كل كلمة (30 بت) آخر 30 بت في كلمة من 4 بايت (يجب تخطّي B31 وB32)، مع وضع البت الأعلى أهمية أولاً، بإجمالي 40 بايت، وتغطي فترة زمنية تبلغ 6 ثوانٍ و6 ثوانٍ و0.6 ثانية على التوالي.
  • بالنسبة إلى Glonass L1 C/A، تحتوي كل سلسلة على 85 بت بيانات، بما في ذلك المجموع الاختباري. يجب أن تُلائم هذه الوحدات 11 بايت، مع وضع MSB أولاً (تخطّي B86-B88)، وتغطي فترة زمنية تبلغ ثانيتَين.
  • بالنسبة إلى Galileo F/NAV، تتألّف كل كلمة من 238 بت (يتم استبعاد رمزَي المزامنة والنهاية). يجب أن تُلائم كل كلمة 30 بايت، مع وضع MSB أولاً (تخطّي B239 وB240)، وتغطي فترة زمنية تبلغ 10 ثوانٍ.
  • بالنسبة إلى Galileo I/NAV، تحتوي كل صفحة على جزءَين من الصفحة، زوجي وفرد، بإجمالي 2x114 = 228 بت (باستثناء علامة المزامنة والجزء الأخير) يجب أن يُلائم 29 بايت، مع وضع البت الأعلى رتبة أولاً (التخطّي من B229 إلى B232).

التعريف في السطر 2119 من الملف gps.h .

size_t data_length

طول البيانات (بالبايت) الواردة في الرسالة الحالية إذا كانت هذه القيمة مختلفة عن الصفر، يجب أن تشير "البيانات" إلى صفيف بالحجم نفسه. على سبيل المثال، بالنسبة إلى L1 C/A، سيكون حجم الإطار الفرعي 40 بايت (10 كلمات، 30 بت/كلمة).

هذه قيمة إلزامية.

التعريف في السطر 2096 من الملف gps.h .

int16_t message_id

معرّف الرسالة ويقدّم فهرسًا حتى يمكن تجميع رسالة التنقّل بالكامل.

  • بالنسبة إلى الإطار الفرعي 4 و5 من L1 C/A في نظام تحديد المواقع العالمي (GPS)، تتطابق هذه القيمة مع "معرّف الإطار" لرسالة التنقّل، ضمن النطاق من 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

يتم ضبطه على 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