summaryrefslogtreecommitdiffstats
path: root/include/hardware/gps.h
diff options
context:
space:
mode:
authordestradaa <destradaa@google.com>2014-07-31 16:34:09 -0700
committerdestradaa <destradaa@google.com>2014-08-04 18:07:46 -0700
commit69d5ea5dac279296156944be06673d8983b059b9 (patch)
tree2dd258d0d2d6ef31abb57e3d556dba58e020e204 /include/hardware/gps.h
parentfa9a4a3c68bd561acef780d5fbc7328cbca544eb (diff)
downloadhardware_libhardware-69d5ea5dac279296156944be06673d8983b059b9.zip
hardware_libhardware-69d5ea5dac279296156944be06673d8983b059b9.tar.gz
hardware_libhardware-69d5ea5dac279296156944be06673d8983b059b9.tar.bz2
Add HAL capabilities for GPS Measurements and Navigation Messages.
Change-Id: I2ed41f2c048cfe82a539b3a4e955305787731a95
Diffstat (limited to 'include/hardware/gps.h')
-rw-r--r--include/hardware/gps.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/hardware/gps.h b/include/hardware/gps.h
index 5747faa..eb44d5c 100644
--- a/include/hardware/gps.h
+++ b/include/hardware/gps.h
@@ -110,6 +110,10 @@ typedef uint16_t GpsLocationFlags;
#define GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010
/** GPS supports Geofencing */
#define GPS_CAPABILITY_GEOFENCING 0x0000020
+/** GPS supports Measurements */
+#define GPS_CAPABILITY_MEASUREMENTS 0x0000040
+/** GPS supports Navigation Messages */
+#define GPS_CAPABILITY_NAV_MESSAGES 0x0000080
/** Flags used to specify which aiding data to delete
when calling delete_aiding_data(). */
@@ -1690,7 +1694,7 @@ typedef struct {
/**
* 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.
- * i.e. for L1 C/A the size of the sub-frame will be 40 bytes (10 words).
+ * 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.
*/
@@ -1699,6 +1703,9 @@ typedef struct {
/**
* The data of the reported GPS message.
* The bytes (or words) specified using big endian format (MSB first).
+ *
+ * For L1 C/A, each subframe contains 10 30-bit GPS words. Each GPS word (30 bits) should be
+ * fitted into the last 30 bits in a 4-byte word (skip B31 and B32), with MSB first.
*/
uint8_t* data;