GnssNavigationMessage स्ट्रक्चर का रेफ़रंस

GnssNavigationMessage स्ट्रक्चर का रेफ़रंस

#include < gps.h >

डेटा फ़ील्ड

size_t  size
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   स्थिति
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  डेटा
 

पूरी जानकारी

GPS नेविगेशन मैसेज (या उसका कोई फ़्रैगमेंट) दिखाता है.

परिभाषा, gps.h फ़ाइल की लाइन 2027 पर दी गई है.

फ़ील्ड का दस्तावेज़

uint8_t* data

शिकायत किए गए जीपीएस मैसेज का डेटा. बिग इंडियन फ़ॉर्मैट (एमएसबी पहले) का इस्तेमाल करके तय किए गए बाइट (या शब्द).

  • GPS L1 C/A, Beidou D1, और Beidou D2 के लिए, हर सबफ़्रेम में 10 30-बिट शब्द होते हैं. हर शब्द (30 बिट) को चार बाइट वाले शब्द के आखिरी 30 बिट में फ़िट किया जाना चाहिए (B31 और B32 को छोड़ें). इसमें सबसे बड़ी बिट पहले होनी चाहिए. कुल 40 बाइट में, क्रमशः छह, छह, और 0.6 सेकंड की समयावधि शामिल होती है.
  • Glonass L1 C/A के लिए, हर स्ट्रिंग में 85 डेटा बिट होते हैं. इनमें चेकसम भी शामिल होता है. ये बिट 11 बाइट में फ़िट होने चाहिए. इसमें सबसे पहले MSB (B86-B88 को छोड़ें) और फिर 2 सेकंड की समयावधि शामिल होनी चाहिए.
  • Galileo F/NAV के लिए, हर शब्द में 238-बिट होते हैं. इसमें सिंक और टेल सिंबल शामिल नहीं हैं. हर शब्द 30-बाइट में होना चाहिए. इसमें एमएसबी पहले होना चाहिए (B239, B240 को छोड़ें). यह 10 सेकंड की समयावधि को कवर करता है.
  • Galileo I/NAV के लिए, हर पेज में दो पेज पार्ट होते हैं, जो कि सम और विषम होते हैं. इनमें कुल 2x114 = 228 बिट होते हैं. इनमें सिंक और टेल शामिल नहीं होते. इन बिट को 29 बाइट में फ़िट किया जाना चाहिए. इसमें MSB पहले होना चाहिए (B229-B232 को स्किप करें).

परिभाषा, gps.h फ़ाइल की लाइन 2119 पर दी गई है.

size_t data_length

मौजूदा मैसेज में मौजूद डेटा की लंबाई (बाइट में). अगर यह वैल्यू शून्य से अलग है, तो 'data' को उसी साइज़ के ऐरे पर ले जाना चाहिए. उदाहरण के लिए, L1 C/A के लिए सब-फ़्रेम का साइज़ 40 बाइट (10 शब्द, 30 बिट/शब्द) होगा.

यह वैल्यू डालना ज़रूरी है.

परिभाषा, फ़ाइल के gps.h 2096 पंक्ति पर दी गई है.

int16_t message_id

मैसेज आइडेंटिफ़ायर. यह एक इंडेक्स उपलब्ध कराता है, ताकि पूरा नेविगेशन मैसेज इकट्ठा किया जा सके.

  • GPS L1 C/A सबफ़्रेम 4 और 5 के लिए, यह वैल्यू नेविगेशन मैसेज के 'फ़्रेम आईडी' से मेल खाती है. यह वैल्यू 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 की रेंज में सबफ़्रेम नंबर को दिखाता है

परिभाषा, फ़ाइल gps.h की लाइन 2070 पर दी गई है.

size_t size

sizeof(GnssNavigationMessage) पर सेट करें

परिभाषा, gps.h फ़ाइल की लाइन 2029 पर दी गई है.

NavigationMessageStatus की स्थिति

नेविगेशन मैसेज का स्टेटस. ऐसे नेविगेशन मैसेज भेजने की ज़रूरत नहीं है जिनमें पैरिटी गड़बड़ी वाले शब्द हों और जिन्हें ठीक न किया जा सके.

gps.h फ़ाइल की लाइन 2048 पर परिभाषा.

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+ की रेंज में शब्द टाइप को दिखाता है

परिभाषा, gps.h फ़ाइल की लाइन 2087 पर दी गई है.

int16_t svid

सैटलाइट वाहन का आईडी नंबर, जैसा कि GnssSvInfo::svid में बताया गया है यह वैल्यू डालना ज़रूरी है.

परिभाषा, gps.h फ़ाइल की लाइन 2035 पर दी गई है.

GnssNavigationMessageType का टाइप

स्ट्रक्चर में मौजूद मैसेज का टाइप. यह वैल्यू डालना ज़रूरी है.

परिभाषा, gps.h फ़ाइल की लाइन 2041 पर दी गई है.


इस स्ट्रक्चर का दस्तावेज़, इस फ़ाइल से जनरेट किया गया था:
  • hardware/libhardware/include/hardware/ gps.h