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:
parent
86786d166a
commit
be7f077122
4 changed files with 9 additions and 5 deletions
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue