GnssNavigationMessage Struct Reference
#include <
gps.h
>
Data Fields |
|
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 |
Detailed Description
Field Documentation
uint8_t* data |
The data of the reported GPS message. The bytes (or words) specified using big endian format (MSB first).
- For GPS L1 C/A, Beidou D1 & Beidou D2, each subframe contains 10 30-bit words. Each word (30 bits) should be fit into the last 30 bits in a 4-byte word (skip B31 and B32), with MSB first, for a total of 40 bytes, covering a time period of 6, 6, and 0.6 seconds, respectively.
- For Glonass L1 C/A, each string contains 85 data bits, including the checksum. These bits should be fit into 11 bytes, with MSB first (skip B86-B88), covering a time period of 2 seconds.
- For Galileo F/NAV, each word consists of 238-bit (sync & tail symbols excluded). Each word should be fit into 30-bytes, with MSB first (skip B239, B240), covering a time period of 10 seconds.
- For Galileo I/NAV, each page contains 2 page parts, even and odd, with a total of 2x114 = 228 bits, (sync & tail excluded) that should be fit into 29 bytes, with MSB first (skip B229-B232).
size_t data_length |
The length of the data (in bytes) contained in the current message. If this value is different from zero, 'data' must point to an array of the same size. e.g. for L1 C/A the size of the sub-frame will be 40 bytes (10 words, 30 bits/word).
This is a mandatory value.
int16_t message_id |
Message identifier. It provides an index so the complete Navigation Message can be assembled.
- For GPS L1 C/A subframe 4 and 5, this value corresponds to the 'frame id' of the navigation message, in the range of 1-25 (Subframe 1, 2, 3 does not contain a 'frame id' and this value can be set to -1.)
- For Glonass L1 C/A, this refers to the frame ID, in the range of 1-5.
- For BeiDou D1, this refers to the frame number in the range of 1-24
- For Beidou D2, this refers to the frame number, in the range of 1-120
- For Galileo F/NAV nominal frame structure, this refers to the subframe number, in the range of 1-12
- For Galileo I/NAV nominal frame structure, this refers to the subframe number in the range of 1-24
NavigationMessageStatus status |
int16_t submessage_id |
Sub-message identifier. If required by the message 'type', this value contains a sub-index within the current message (or frame) that is being transmitted.
- For GPS L1 C/A, BeiDou D1 & BeiDou D2, the submessage id corresponds to the subframe number of the navigation message, in the range of 1-5.
- For Glonass L1 C/A, this refers to the String number, in the range from 1-15
- For Galileo F/NAV, this refers to the page type in the range 1-6
- For Galileo I/NAV, this refers to the word type in the range 1-10+
int16_t svid |
Satellite vehicle ID number, as defined in GnssSvInfo::svid This is a mandatory value.
The documentation for this struct was generated from the following file:
- hardware/libhardware/include/hardware/ gps.h