diff options
author | Wei Chen <weic@codeaurora.org> | 2019-04-19 15:21:27 -0700 |
---|---|---|
committer | Harikrishnan Hariharan <hahariha@codeaurora.org> | 2019-06-19 15:03:39 +0530 |
commit | 49f7e15a816f9c4139ac3406374a608c2168f50b (patch) | |
tree | 8576c104b2d73918c57b7ddba83108130acd2cc8 /location/LocationDataTypes.h | |
parent | 16c0367c5b3e17d76d9a68c8057d24c50252bf84 (diff) | |
download | gps-49f7e15a816f9c4139ac3406374a608c2168f50b.tar.gz |
GnssAdapter: add support for ppe fix type and calibration info
(1) Add support to report out calibration confidence in position
report
(2) Update gps quality of GGA, mode indicator for GMC and VTG
NMEA sentences
Change-Id: Ia1aa5283deffed6638172b90a41b481c2d199229
CRs-fixed: 2438838
Diffstat (limited to 'location/LocationDataTypes.h')
-rw-r--r-- | location/LocationDataTypes.h | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/location/LocationDataTypes.h b/location/LocationDataTypes.h index 406a75c..0d0753f 100644 --- a/location/LocationDataTypes.h +++ b/location/LocationDataTypes.h @@ -172,8 +172,9 @@ typedef enum { GNSS_LOCATION_INFO_UP_VEL_UNC_BIT = (1<<21),// valid Up Velocity Uncertainty GNSS_LOCATION_INFO_LEAP_SECONDS_BIT = (1<<22),// valid leap seconds GNSS_LOCATION_INFO_TIME_UNC_BIT = (1<<23),// valid time uncertainty - GNSS_LOCATION_INFO_NUM_SV_USED_IN_POSITION_BIT = (1<<24) // number of SV used in position - + GNSS_LOCATION_INFO_NUM_SV_USED_IN_POSITION_BIT = (1<<24), // number of SV used in position + GNSS_LOCATION_INFO_CALIBRATION_CONFIDENCE_BIT = (1<<25), // valid sensor cal confidence + GNSS_LOCATION_INFO_CALIBRATION_STATUS_BIT = (1<<26), // valid sensor cal status } GnssLocationInfoFlagBits; typedef enum { @@ -601,6 +602,8 @@ typedef enum { GNSS_LOC_SV_SYSTEM_UNKNOWN = 0, /** unknown sv system. */ + GNSS_LOC_SV_SYSTEM_MIN = 1, + /**< Min enum of valid SV system. */ GNSS_LOC_SV_SYSTEM_GPS = 1, /**< GPS satellite. */ GNSS_LOC_SV_SYSTEM_GALILEO = 2, @@ -613,8 +616,10 @@ typedef enum /**< BDS satellite. */ GNSS_LOC_SV_SYSTEM_QZSS = 6, /**< QZSS satellite. */ - GNSS_LOC_SV_SYSTEM_NAVIC = 7 + GNSS_LOC_SV_SYSTEM_NAVIC = 7, /**< QZSS satellite. */ + GNSS_LOC_SV_SYSTEM_MAX = 7, + /**< Max enum of valid SV system. */ } Gnss_LocSvSystemEnumType; typedef enum { @@ -695,6 +700,20 @@ typedef struct { GnssAidingDataCommon common; // common aiding data } GnssAidingData; +typedef uint16_t DrCalibrationStatusMask; +typedef enum { + // Indicate that roll calibration is needed. Need to take more turns on level ground + DR_ROLL_CALIBRATION_NEEDED = (1<<0), + // Indicate that pitch calibration is needed. Need to take more turns on level ground + DR_PITCH_CALIBRATION_NEEDED = (1<<1), + // Indicate that yaw calibration is needed. Need to accelerate in a straight line + DR_YAW_CALIBRATION_NEEDED = (1<<2), + // Indicate that odo calibration is needed. Need to accelerate in a straight line + DR_ODO_CALIBRATION_NEEDED = (1<<3), + // Indicate that gyro calibration is needed. Need to take more turns on level ground + DR_GYRO_CALIBRATION_NEEDED = (1<<4) +} DrCalibrationStatusBits; + typedef struct { uint32_t size; // set to sizeof(Location) LocationFlagsMask flags; // bitwise OR of LocationFlagsBits to mark which params are valid @@ -975,6 +994,9 @@ typedef struct { GnssMeasUsageInfo measUsageInfo[GNSS_SV_MAX]; // GNSS Measurement Usage info uint8_t leapSeconds; // leap second float timeUncMs; // Time uncertainty in milliseconds + uint8_t calibrationConfidence; // Sensor calibration confidence percent, + // in range of [0, 100] + DrCalibrationStatusMask calibrationStatus; // Sensor calibration status } GnssLocationInfoNotification; typedef struct { |