Fix to report bearing and speed accuracy

1. Validity bit for vertical uncertainity was conflicting
with the validity bit of location source, hence had
to change the bit.
2. Modify ZPP API to report speed and bearing accuracy.

CRs-Fixed:2064017

Change-Id: I8b09ecab3d67557ad7c2451fee71dbc0e1f14371
This commit is contained in:
Bhavna Sharma 2017-07-03 18:46:41 -07:00
parent 86786d166a
commit be7f077122
4 changed files with 9 additions and 5 deletions

View file

@ -541,10 +541,12 @@ enum loc_api_adapter_err LocApiBase::
}
enum loc_api_adapter_err LocApiBase::
getBestAvailableZppFix(LocGpsLocation & zppLoc, LocPosTechMask & tech_mask)
getBestAvailableZppFix(LocGpsLocation & zppLoc, GpsLocationExtended & locationExtended,
LocPosTechMask & tech_mask)
{
memset(&zppLoc, 0, sizeof(zppLoc));
memset(&tech_mask, 0, sizeof(tech_mask));
memset(&locationExtended, 0, sizeof (locationExtended));
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
}

View file

@ -209,7 +209,8 @@ public:
virtual enum loc_api_adapter_err
getBestAvailableZppFix(LocGpsLocation & zppLoc);
virtual enum loc_api_adapter_err
getBestAvailableZppFix(LocGpsLocation & zppLoc, LocPosTechMask & tech_mask);
getBestAvailableZppFix(LocGpsLocation & zppLoc, GpsLocationExtended & locationExtended,
LocPosTechMask & tech_mask);
virtual int initDataServiceClient(bool isDueToSsr);
virtual int openAndStartDataCall();
virtual void stopDataCall();

View file

@ -1616,7 +1616,8 @@ GnssAdapter::getZppCommand()
GpsLocationExtended locationExtended = {};
locationExtended.size = sizeof(locationExtended);
mApi.getBestAvailableZppFix(location.gpsLocation, techMask);
mApi.getBestAvailableZppFix(location.gpsLocation, locationExtended,
techMask);
//Mark the location source as from ZPP
location.gpsLocation.flags |= LOCATION_HAS_SOURCE_INFO;
location.position_source = ULP_LOCATION_IS_FROM_ZPP;

View file

@ -99,7 +99,7 @@ typedef uint16_t LocGpsLocationFlags;
/** LocGpsLocation has valid accuracy. */
#define LOC_GPS_LOCATION_HAS_ACCURACY 0x0010
/** LocGpsLocation has valid vertical uncertainity */
#define LOC_GPS_LOCATION_HAS_VERT_UNCERTAINITY 0x0020
#define LOC_GPS_LOCATION_HAS_VERT_UNCERTAINITY 0x0040
/** Flags for the loc_gps_set_capabilities callback. */
@ -541,7 +541,7 @@ typedef struct {
* Represents altitude in meters above the WGS 84 reference ellipsoid.
*/
double altitude;
/** Represents speed in meters per second. */
/** Represents horizontal speed in meters per second. */
float speed;
/** Represents heading in degrees. */
float bearing;