GnssNavigationMessage Yapı Referansı

GnssNavigationMessage Yapı Referansı

#include < gps.h >

Veri Alanları

size_t  size
 
int16_t  svid
 
GnssNavigationMessageType   type
 
NavigationMessageStatus   durum
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  veri
 

Ayrıntılı Açıklama

GPS navigasyon mesajını (veya bir parçasını) temsil eder.

Tanımı, gps.h dosyasının 2027 satırı

Alan Belgeleri

uint8_t* data

Bildirilen GPS mesajının verileri. Büyük endian biçimi (önce büyük bayt) kullanılarak belirtilen baytlar (veya kelimeler).

  • GPS L1 C/A, Beidou D1 ve Beidou D2 için her alt çerçeve 10 adet 30 bitlik kelime içerir. Her kelime (30 bit), 4 baytlık bir kelimenin son 30 bitine (B31 ve B32 atlanır) sığdırılmalıdır. Önce büyük değerli bit olacak şekilde toplam 40 baytlık bir alan kullanılır. Bu alan sırasıyla 6, 6 ve 0,6 saniyelik bir zaman aralığını kapsar.
  • Glonass L1 C/A için her dize, sağlama toplamı dahil olmak üzere 85 veri biti içerir. Bu bitler, 2 saniyelik bir süreyi kapsayacak şekilde 11 bayta sığdırılmalıdır. Önce büyük değerli bit (B86-B88 atlanır) kullanılmalıdır.
  • Galileo F/NAV için her kelime 238 bitten oluşur (senkronizasyon ve kuyruk sembolleri hariç). Her kelime 30 bayta sığdırılmalıdır. Önce büyük bayt (B239, B240 atlanır) gelir ve 10 saniyelik bir süreyi kapsar.
  • Galileo I/NAV için her sayfa, toplam 2x114 = 228 bit (senkronizasyon ve kuyruk hariç) içeren 2 sayfa bölümü (çift ve tek) içerir. Bu bölümler, MSB önce olacak şekilde 29 bayta sığdırılmalıdır (B229-B232 atlanır).

Tanımı, gps.h dosyasının 2119 satırı

size_t data_length

Geçerli mesajda bulunan verilerin uzunluğu (bayt cinsinden). Bu değer sıfırdan farklıysa "data", aynı boyuttaki bir diziyi işaret etmelidir. Örneğin, L1 C/A için alt çerçevenin boyutu 40 bayt (10 kelime, kelime başına 30 bit) olur.

Bu zorunlu bir değerdir.

Tanımı, gps.h dosyasının 2096 satırı

int16_t message_id

İleti tanımlayıcısı. Gezinme mesajının tamamının derlenebilmesi için bir dizin sağlar.

  • GPS L1 C/A alt çerçevesi 4 ve 5 için bu değer, 1-25 aralığındaki navigasyon mesajının "frame id"sine karşılık gelir (Alt çerçeve 1, 2, 3 "frame id" içermez ve bu değer -1 olarak ayarlanabilir.)
  • Glonass L1 C/A için bu, 1-5 aralığındaki çerçeve kimliğini ifade eder.
  • BeiDou D1 için bu, 1-24 aralığındaki kare numarasını ifade eder.
  • Beidou D2 için bu, 1-120 aralığındaki kare numarasını ifade eder.
  • Galileo F/NAV nominal çerçeve yapısı için bu, 1-12 aralığındaki alt çerçeve numarasını ifade eder.
  • Galileo I/NAV nominal çerçeve yapısı için bu, 1-24 aralığındaki alt çerçeve numarasını ifade eder.

Tanımı, gps.h dosyasının 2070 satırı

size_t boyutu

sizeof(GnssNavigationMessage) olarak ayarlanır.

Tanımı, gps.h dosyasının 2029 satırı

Alınan navigasyon mesajının durumu. Eşleşme hatası içeren ve düzeltilemeyen kelimeler içeren gezinme mesajları göndermeniz gerekmez.

gps.h dosyasının 2048 satırı

int16_t altmesaj_kimliği

Alt ileti tanımlayıcısı. İleti "türü" tarafından gerekiyorsa bu değer, aktarılan mevcut ileti (veya çerçeve) içinde bir alt dizin içerir.

  • GPS L1 C/A, BeiDou D1 ve BeiDou D2 için alt mesaj kimliği, 1-5 aralığındaki navigasyon mesajının alt çerçeve numarasına karşılık gelir.
  • Glonass L1 C/A için bu, 1-15 aralığındaki dize numarasını ifade eder.
  • Galileo F/NAV için bu, 1-6 aralığındaki sayfa türünü ifade eder.
  • Galileo I/NAV için bu, 1-10+ aralığındaki kelime türünü ifade eder.

Tanımı, gps.h dosyasının 2087 satırı

int16_t svid

GnssSvInfo::svid bölümünde tanımlandığı şekilde uydu aracı kimlik numarası Bu zorunlu bir değerdir.

Tanım, gps.h dosyasının 2035 satırına yerleştirilmiştir.

Yapıda bulunan mesaj türü. Bu zorunlu bir değerdir.

Tanımı, gps.h dosyasının 2041 satırı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
  • hardware/libhardware/include/hardware/ gps.h