summaryrefslogtreecommitdiff
path: root/location/LocationAPI.h
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-03-24 06:31:25 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-03-24 06:31:24 -0700
commitf9c8471eff0bae702ad3a3e7d802fd014a502b8e (patch)
treebf3263a08c2d2e4a2f3d8aedcb76d154f2e816f8 /location/LocationAPI.h
parent50952f03affca0286b7ce5a5cefe1b97e70ae32f (diff)
parentaf318504e25fc5c980441208e8fa4640872c8253 (diff)
downloadgps-f9c8471eff0bae702ad3a3e7d802fd014a502b8e.tar.gz
Merge "Addition of vertical/speed/bearing accuracy feilds"
Diffstat (limited to 'location/LocationAPI.h')
-rw-r--r--location/LocationAPI.h32
1 files changed, 16 insertions, 16 deletions
diff --git a/location/LocationAPI.h b/location/LocationAPI.h
index 6c718f7..a41d772 100644
--- a/location/LocationAPI.h
+++ b/location/LocationAPI.h
@@ -53,11 +53,14 @@ typedef enum {
// Flags to indicate which values are valid in a Location
typedef uint16_t LocationFlagsMask;
typedef enum {
- LOCATION_HAS_LAT_LONG_BIT = (1<<0), // location has valid latitude and longitude
- LOCATION_HAS_ALTITUDE_BIT = (1<<1), // location has valid altitude
- LOCATION_HAS_SPEED_BIT = (1<<2), // location has valid speed
- LOCATION_HAS_BEARING_BIT = (1<<3), // location has valid bearing
- LOCATION_HAS_ACCURACY_BIT = (1<<4), // location has valid accuracy
+ LOCATION_HAS_LAT_LONG_BIT = (1<<0), // location has valid latitude and longitude
+ LOCATION_HAS_ALTITUDE_BIT = (1<<1), // location has valid altitude
+ LOCATION_HAS_SPEED_BIT = (1<<2), // location has valid speed
+ LOCATION_HAS_BEARING_BIT = (1<<3), // location has valid bearing
+ LOCATION_HAS_ACCURACY_BIT = (1<<4), // location has valid accuracy
+ LOCATION_HAS_VERTICAL_ACCURACY_BIT = (1<<5), // location has valid vertical accuracy
+ LOCATION_HAS_SPEED_ACCURACY_BIT = (1<<6), // location has valid speed accuracy
+ LOCATION_HAS_BEARING_ACCURACY_BIT = (1<<7), // location has valid bearing accuracy
} LocationFlagsBits;
typedef uint16_t LocationTechnologyMask;
@@ -81,14 +84,11 @@ typedef enum {
GNSS_LOCATION_INFO_ALTITUDE_MEAN_SEA_LEVEL_BIT = (1<<0), // valid altitude mean sea level
GNSS_LOCATION_INFO_DOP_BIT = (1<<1), // valid pdop, hdop, and vdop
GNSS_LOCATION_INFO_MAGNETIC_DEVIATION_BIT = (1<<2), // valid magnetic deviation
- GNSS_LOCATION_INFO_VER_ACCURACY_BIT = (1<<3), // valid vertical accuracy
- GNSS_LOCATION_INFO_SPEED_ACCURACY_BIT = (1<<4), // valid speed accuracy
- GNSS_LOCATION_INFO_BEARING_ACCURACY_BIT = (1<<5), // valid bearing accuracy
- GNSS_LOCATION_INFO_HOR_RELIABILITY_BIT = (1<<6), // valid horizontal reliability
- GNSS_LOCATION_INFO_VER_RELIABILITY_BIT = (1<<7), // valid vertical reliability
- GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_SEMI_MAJOR_BIT = (1<<8), // valid elipsode semi major
- GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_SEMI_MINOR_BIT = (1<<9), // valid elipsode semi minor
- GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_AZIMUTH_BIT = (1<<10),// valid accuracy elipsode azimuth
+ GNSS_LOCATION_INFO_HOR_RELIABILITY_BIT = (1<<3), // valid horizontal reliability
+ GNSS_LOCATION_INFO_VER_RELIABILITY_BIT = (1<<4), // valid vertical reliability
+ GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_SEMI_MAJOR_BIT = (1<<5), // valid elipsode semi major
+ GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_SEMI_MINOR_BIT = (1<<6), // valid elipsode semi minor
+ GNSS_LOCATION_INFO_HOR_ACCURACY_ELIP_AZIMUTH_BIT = (1<<7),// valid accuracy elipsode azimuth
} GnssLocationInfoFlagBits;
typedef enum {
@@ -394,6 +394,9 @@ typedef struct {
float speed; // in meters per second
float bearing; // in degrees; range [0, 360)
float accuracy; // in meters
+ float verticalAccuracy; // in meters
+ float speedAccuracy; // in meters/second
+ float bearingAccuracy; // in degrees (0 to 359.999)
LocationTechnologyMask techMask;
} Location;
@@ -442,9 +445,6 @@ typedef struct {
float hdop; // horizontal dilusion of precision
float vdop; // vertical dilusion of precision
float magneticDeviation; // magnetic deviation
- float verAccuracy; // vertical accuracy in meters
- float speedAccuracy; // speed accuracy in meters/second
- float bearingAccuracy; // bearing accuracy in degrees (0 to 359.999)
LocationReliability horReliability; // horizontal reliability
LocationReliability verReliability; // vertical reliability
float horUncEllipseSemiMajor; // horizontal elliptical accuracy semi-major axis