Commit graph

193 commits

Author SHA1 Message Date
Mike Cailean
64514a5734 SV used in fix satellites are not updated for B2A-Q
Change-Id: If9d6f4ff694572f22b95b3ccb6015ebcb6310ffa
CRs-fixed: 2468528
2019-06-10 15:26:01 -07:00
Saurabh Srivastava
c7cbd60fb5 Removing benign error message
Removing error message from GNSS update
SV Type config method for onDeviceUp
scenario.

Change-Id: I7a93f9ea2fd5f8c1182c9ce10d298fc5971bc1e3
CRs-Fixed: 2461765
2019-05-31 01:09:17 +05:30
Kevin Tang
7490804ed9 fixed a potential race condition in managing gps lock
gnssConfigRequested in setConfigCommand handling currently gets
data into gnssConfigRequested in LocApi thread. This introduces
race condition that adapter.getAfwControlId() could be called
from a different thread than where adapter.setAfwControlId() is
called.

CRs-fixed: 2453439

Change-Id: I75ce482a4a87436dff04972ffd82b48db3af62c1
2019-05-21 09:08:59 -07:00
qctecmdr
051bea2282 Merge "Fix few ASAN issues reported" 2019-05-17 10:36:24 -07:00
Dante Russo
61b7ed6bf0 Fix few ASAN issues reported
- Fix a Use After Free issue in Gnss Update Config
If Engine Capabilities are not known yet at the time
of the MsgGnssUpdateConfig, the ids arrray will be freed
but the ids pointer will be copied into a new
MsgGnssUpdateConfig that will access the ids array again

- Issue in NetworkInfoDataItemBase which will result in
array out of bound access which might result in heap
buffer overflow.

Change-Id: Ib5a6dc29fef9eb6676d4605f92d60f26a47d1d90
CRs-fixed: 2449980
2019-05-15 15:09:39 -07:00
Saurabh Srivastava
331c6d9893 Adding NAVIC support
NAVIC constellation support added.

Change-Id: I30a61f53089177d4e02b617dc9b785c13e2ef6ee
CRs-Fixed: 2399619
2019-05-09 10:20:33 -07:00
qctecmdr
7e44d36979 Merge "Process CP_MTLR in emergency in different conditions" 2019-05-09 05:22:10 -07:00
qctecmdr
f5634ec21a Merge "Gnss adapter: retrieve pdop, hdop and vdop from extended struct" 2019-05-09 02:42:42 -07:00
qctecmdr
9391fe52a4 Merge "GPS: add numSVUsedInFix in location api" 2019-05-09 01:39:27 -07:00
Wei Chen
2dab397e35 Gnss adapter: retrieve pdop, hdop and vdop from extended struct
For none-SPE engine, pdop, hdop and vdop are set in the extDop
struct. Update code to retrieve it from there.

Change-Id: I698e960cd90f3d72210cfd0a885080f1546c0c7d
Crs-fixed: 2439750
2019-05-06 10:25:44 -07:00
qctecmdr
82c8af81ee Merge "SV "in-use" flags are not being set correctly for multiband enabled devices" 2019-05-04 19:20:02 -07:00
Mike Cailean
aa95ca27f8 Process CP_MTLR in emergency in different conditions
Prcess CP_MTLR based on a new configuration item

Change-Id: I9351f574f0b1a4bad2b88f2627ab188ac1522e92
CRs-fixed: 2444954
2019-05-03 09:09:03 -07:00
qctecmdr
9b6103421b Merge "feat: Add timeuncNs in PQWM1 message" 2019-05-02 14:14:59 -07:00
qctecmdr
697ee570fe Merge "GNSS HIDL 2.0 updates" 2019-05-02 13:45:05 -07:00
Mike Cailean
76e761da5a SV "in-use" flags are not being set correctly for
multiband enabled devices

Change-Id: I875b535063c6aa6ecb713c7b6abff123d8402d62
CRs-fixed: 2443087
2019-05-01 17:03:17 -07:00
Katz Yamada
2c71ec9e02 feat: Add timeuncNs in PQWM1 message
Add timeuncNs field in PQWM1 of debug NMEA
message generated by modem. SystemStaus to
parse it. GnssDebug adds this value in
timeunc when it generates GNSS debug report.

Change-Id: I649915f95730dc8db22e8b4cb88008edc6d8b9d0
CRs-Fixed: 2236950
2019-05-01 13:42:21 -07:00
Dante Russo
e7c30fa882 GNSS HIDL 2.0 updates
Implement new GNSS HIDL 2.0 functions and callbacks
gnssRequestLocationCb_2_0, getExtensionGnssBatching_2_0,
getExtensionGnssDebug_2_0, getDebugData_2_0,
injectBestLocation_2_0, gnssSetCapabilitiesCb_2_0,
gnssLocationCb_2_0, gnssSvStatusCb_2_0, and
gnssMeasurementCb_2_0.
Fix VTS test failures from deprecated functions
setGpsLock, setSuplEs, V1:0::getExtensionAGnss, and
V1.0::getExtensionGnssNi

CRs-fixed: 2433957
Change-Id: Id10cb41c32d6c50144b0501eb2d2eaf9c9a9aaec
2019-05-01 12:40:40 -07:00
qctecmdr
4d6bb2da93 Merge "Send SUPL notification to the framework for E911 sessions only (older modems)" 2019-05-01 11:37:59 -07:00
Wei Chen
3e62412eb0 Gnss interface: add position injection for extended info
Add position injection interface with extended info, e.g.:
GnssLocationInfoNotification

Change-Id: I6ba8f1111d1511c7071fe358687a478b26e8f9a4
CRs-fixed: 2417450
2019-05-01 09:45:04 -07:00
Wei Chen
81f47db3f2 GPS: add numSVUsedInFix in location api
Add a count in location API for number of SV used in fix

Change-Id: I3b396170948fa6c93a88d0fdcf17e28eff5ed5dc
CRs-fixed: 2425599
2019-04-30 15:13:26 -07:00
Wei Chen
0330e79d4a Gnss adapter: fill in proper std deviation in position report
The north and east standard deviation fields are not filled in
properly in position report

Change-Id: Ic243a6862f3fa4e723b507d391c9a904d65d3c30
CRs-fixed: 2426344
2019-04-30 14:54:33 -07:00
Mike Cailean
d6d55a4948 Send SUPL notification to the framework for
E911 sessions only (older modems)

Change-Id: Icd317f6e4b042c31afc63011596689d5fb35135f
CRs-fixed: 2441292
2019-04-30 09:27:41 -07:00
Nilesh Gharde
0802cf6644 LTE Positioning Profile is not reflecting properly
Added the GNSS_CONFIG_FLAGS_LPP_PROFILE_VALID_BIT flag.
So that the NV value of LPP profile provided in gps.conf can be refelected
to modem.

Change-Id: I6429a4a79cb83d5991c8a1328ab5daa4ef49619a
CRs-fixed: 2439533
2019-04-24 21:43:27 -07:00
Mike Cailean
b95f05cc73 Streamline measurements processing
Consolidate the translation from QMI LOC into one
place in order to minimize traffic

Change-Id: I73c2f25e94544a2b69d4227c63548ef11b6a4d91
CRs-fixed: 2430668
2019-04-08 11:17:31 -07:00
qctecmdr
3e614934d1 Merge "Integer overflow leading to a buffer overflow" 2019-04-01 22:11:09 -07:00
Dante Russo
5c1e23cf02 Batching and Geofence moved to GNSS HAL
Addition of BatchingAdapter and GeofenceAdapter.
Deprecated Background LOC QMI Client and renamed
LocDualContext renamed to LocContext.
Moved some common Adapter functions into LocAdapterBase.
Added Distance Based Tracking logic into GnssAdapter.
Addition of flp.conf
Deprecated GEOFENCE capabilities configuration in
gps.conf

CRs-fixed: 2342200
Change-Id: I6b6257c4cf296e5a8c56bc0b149e4de77cf6cdf9
2019-03-27 14:54:49 -07:00
Nilesh Gharde
b47ee496e5 Integer overflow leading to a buffer overflow
Added a length check in to avoid integer overflow
in dataConnOpenCommand and set APN methods.
As the APN name is like few 100bytes so
using the micro defined int gps_extended_c.h

Change-Id: Idb5ebbf2e3647de5fa07673f248c0c256d6c1b52
CRs-fixed: 2419292
2019-03-27 07:02:19 -07:00
qctecmdr Service
01869b4004 Merge "Improved Location NI Privacy" 2019-03-22 17:36:07 -07:00
Mike Cailean
b046241ec2 Improved Location NI Privacy
Changes to be made starting in Android Q in the way
that Location requests made by Location clients
other than the Android FrameWork (e.g. Network
Initiated AGNSS clients, modem-based clients such
as MDT) are handled

CRs-fixed: 2397454

Change-Id: Ibb5b9429a1ec1e14ee59d89763d8a78607997615
2019-03-21 14:57:28 -07:00
qctecmdr Service
3774ea547f Merge "clear magic number for GPS_LOCK" 2019-03-21 08:02:45 -07:00
qctecmdr Service
7d34cea4ca Merge "Remove tracking redundanty and assure min interval" 2019-03-19 11:16:00 -07:00
Hoss Zhou
1839fb1140 clear magic number for GPS_LOCK
Change-Id: I3c1b5a18ab16382a436098f8af541bf7f125783e
CRs-fixed: 2370451
2019-03-18 16:33:52 -07:00
Yingjie Wang
6b687ef48e Combine updateConfig in GnssAdapter
Adjust setConfigCommand and gnssUpdateConfigCommand
to use one gnssUpdateConfig method.

CRs-fixed: 2402752
Change-Id: I6a9ec474bd9ffed52edd2422574af0f6d41493c4
2019-03-08 17:38:07 +08:00
Dante Russo
e22619060b Remove tracking redundanty and assure min interval
A tracking interval should not be less than 100ms
If tracking interval or power mode is updated to
the same value, then start tracking should not be
sent to the modem again.
Fix some issues with multiplex with powerMode

Change-Id: I91e5d0577569b96179a5337af0fc91641dc126db
CRs-fixed: 2190953
2019-02-26 12:33:25 -08:00
Bhavna Sharma
7445c50730 New structures and handling of new data in the pipe
1. KlobucharIonoModel
2. Additional parameters for Glonass
3. Add gps system time to ephemeris reports.

CRs-Fixed: 2388931

Change-Id: Ibd08496c8eda2ce7571cbdd71ff0c179f7376aa7
2019-02-06 12:58:00 -08:00
Wei Chen
8e04d01cd2 GPS SV meas: new structure to support 10Hz
(1) revise struct of GnssSvMeasurementSet so it can be used
    to send only valid SV measurement via IPC
(2) remove reference to COMPASS system, as COMPASS named is
    replaced by BEIDOU system
(3) correct typo in GNSS_GLOS_MSEC_VALID to GNSS_GLO_MSEC_VALID

CRs-fixed: 2337832

Change-Id: I325346fa414e3a94422cb8ab4cc5b77d6efaf485
2019-01-30 14:29:30 -08:00
qctecmdr Service
7d9edb3c22 Merge "Fix KW P1 related issues" 2019-01-15 10:36:14 -08:00
qctecmdr Service
f575c9c0d1 Merge "fix multiple GPS_LOCK request" 2019-01-04 21:25:14 -08:00
Yingjie Wang
abfeea182d Fix KW P1 related issues
Change-Id: Ifc3cb9dcabf2e07439fd596b5ad33b46ea562b3d
CRs-fixed: 2375836
2019-01-04 16:19:24 +08:00
Hoss Zhou
f7c6bf552a fix multiple GPS_LOCK request
donot send GPS_LOCK request when new gpsLock is the
same as last one.

Change-Id: Ifb87018d11aef0383762b9b132742faf3d4d7e79
CRs-fixed: 2360896
2018-12-24 15:23:55 +08:00
Linux Build Service Account
372ec44be0 Merge "GPS location API: support destroy with callback for completion" 2018-11-28 20:43:25 -08:00
Wei Chen
e232986d84 GPS location API: support destroy with callback for completion
Support Location API destroy function with callback. Location
API client that passes callback to Location API need to wait
for the destroy complete callback to be invoked before releasing
the memory that holds the callback

Change-Id: I29b1c6d46feb79c789e6f1ec1500c941b022a3ac
CRs-fixed: 2349398
2018-11-27 17:07:19 -08:00
Wei Chen
730abcc3d4 GPS NMEA: generate proper nmea during leap second transition
During leap second transition, the hour, minute and seconds
displayed need to be in the format of 23:59:60 to denote
the extra leap second

Change-Id: Ice7c6f934b1251990ba26e2b7e399554a2862eb4
CRs-fixed: 2335188
2018-11-27 14:46:25 -08:00
Saurabh Srivastava
b00c1c26c9 Invoking dlclose in error case
Invoking dlclose for loc_net_iface
library dlopen call in error case.

Change-Id: Ib8d4b05904214ebaa83608309679bc055bd7abe5
CRs-Fixed: 2347372
2018-11-15 22:33:51 -08:00
Wei Chen
21b9c4e47e FR48381: Support leap second change event
Support leap second change event
(1) Info will be available in location api and location
    client api
(2) Engine hub aggregator will use the info to calculate
    UTC timestamp

Change-Id: Ie79c1a38301fa094134a4a31af424487758343f6
CRs-fixed: 2289457
2018-10-08 12:26:06 -07:00
Katz Yamada
5b53be1d9e perf: Reduce NMEA traffic over client IPC
Improve hal daemon performance by reducing
number of NMEA callbacks on IPC. Position and
sv NMEA sentences, generated during one TBF
will be concatenated by hal and sent over
one IPC, then client lib disassemble it into
multiple sentences.

Change-Id: I522e293d7e26fb8a25edb6ed931c4d69186223e8
CRs-Fixed: 2299008
2018-10-05 16:26:02 -07:00
Linux Build Service Account
837f245997 Merge "New additions for Ephemeris and Poly handling" 2018-10-05 12:51:44 -07:00
Bhavna Sharma
5a8d171181 New additions for Ephemeris and Poly handling
1. Add new data structures to hold the Ephemeris reports.
2. Modifications to SV Poly structure to include delete flags.
3. Add SV_POLY bit to GnssAidingDataSvMask to support
delete commands from modem for poly and ephemeris per constellation.
4. Define LocApiBase and LocAdapter functions to report the
ephemeris content, request for complete valid ephemeris and
Poly content at any time and report delete commands from modem
on Ephemeris and Poly content.

CRs-Fixed: 2301149

Change-Id: If36e87c410c3204c94a6ed7db30f297edba95508
2018-10-02 09:26:43 -07:00
Mike Cailean
6700088d79 Set SV in use mask based on final fixes
Do not set SV in use mask based on intermediate
position update from modem since it might contain
stale information. Reset the flag indicating SV
are used in fix for intermediate fixes.

Change-Id: I10a324a160b20a6ced94c689acf9fc9d77f6e826
CRs-fixed: 2318041
2018-10-01 09:56:09 -07:00
Dante Russo
2bef34e8b2 FR47184: tunc constrained and position assisted time estimator
(1) Configure tunc constrained module on modem via gps.conf
(2) Configure position assisted time estimator and inject
    DRE position with additional info to modem
(3) Support get total energy consumption API by GNSS engine
    since device first bootup

Change-Id: I1e73057df090c1d356c55a498f06eed45839ca8f
CRs-fixed: 2276355
2018-09-26 14:17:30 -07:00