sm8450-common: gps: Update to LA.VENDOR.1.0.r1-21900-WAIPIO.0

Change-Id: Ib431364a902ecd9b068e672978f5e24ecbf42160
This commit is contained in:
Arian
2024-02-27 23:45:03 +01:00
parent 36c55874bb
commit f518e7ef8f
29 changed files with 1500 additions and 168 deletions

View File

@@ -349,12 +349,20 @@ LocationAPI::updateCallbacks(LocationCallbacks& locationCallbacks)
pthread_mutex_lock(&gDataMutex);
LocationCallbacks currentCallbacks = {};
auto it = gData.clientData.find(this);
if (it != gData.clientData.end()) {
currentCallbacks = gData.clientData[this];
}
if (isGnssClient(locationCallbacks)) {
loadLibGnss();
if (NULL != gData.gnssInterface) {
// either adds new Client or updates existing Client
gData.gnssInterface->addClient(this, locationCallbacks);
}
} else if (NULL != gData.gnssInterface && isGnssClient(currentCallbacks)) {
gData.gnssInterface->removeClient(this, nullptr);
}
if (isBatchingClient(locationCallbacks)) {
@@ -363,6 +371,8 @@ LocationAPI::updateCallbacks(LocationCallbacks& locationCallbacks)
// either adds new Client or updates existing Client
gData.batchingInterface->addClient(this, locationCallbacks);
}
} else if (NULL != gData.batchingInterface && isBatchingClient(currentCallbacks)) {
gData.batchingInterface->removeClient(this, nullptr);
}
if (isGeofenceClient(locationCallbacks)) {
@@ -371,6 +381,8 @@ LocationAPI::updateCallbacks(LocationCallbacks& locationCallbacks)
// either adds new Client or updates existing Client
gData.geofenceInterface->addClient(this, locationCallbacks);
}
} else if (NULL != gData.geofenceInterface && isGeofenceClient(currentCallbacks)) {
gData.geofenceInterface->removeClient(this, nullptr);
}
gData.clientData[this] = locationCallbacks;

View File

@@ -354,6 +354,8 @@ typedef enum {
LOCATION_CAPABILITIES_QWES_QDR3 = (1<<26),
// This mask indicates DGNSS license bundle is enabled.
LOCATION_CAPABILITIES_QWES_DGNSS = (1<<27),
// This mask indicates engine debug data enabled.
LOCATION_CAPABILITIES_ENGINE_DEBUG_DATA_BIT = (1<<28)
} LocationCapabilitiesBits;
typedef uint8_t LocationQwesFeatureType;
@@ -881,7 +883,9 @@ typedef enum {
GNSS_LOC_SIGNAL_TYPE_SBAS_L1_CA = 17, /**< SBAS L1_CA RF Band */
GNSS_LOC_SIGNAL_TYPE_NAVIC_L5 = 18, /**< NAVIC L5 RF Band */
GNSS_LOC_SIGNAL_TYPE_BEIDOU_B2A_Q = 19, /**< BEIDOU B2A_Q RF Band */
GNSS_LOC_MAX_NUMBER_OF_SIGNAL_TYPES = 20 /**< Maximum number of signal types */
GNSS_LOC_SIGNAL_TYPE_BEIDOU_B2B_I = 20, /**< BeiDou B2B_I RF band (data) */
GNSS_LOC_SIGNAL_TYPE_BEIDOU_B2B_Q = 21, /**< BeiDou B2B_Q RF band (Pilot)*/
GNSS_LOC_MAX_NUMBER_OF_SIGNAL_TYPES = 22 /**< Maximum number of signal types */
} Gnss_LocSignalEnumType;
typedef uint32_t PositioningEngineMask;