summaryrefslogtreecommitdiff
path: root/gnss/GnssAdapter.cpp
AgeCommit message (Collapse)Author
2019-06-18Merge remote-tracking branch ↵ChengYou Ho
'goog/qcom/release/LA.UM.8.1.R1.09.00.00.529.047' into qt-r1-dev Bug: 134895605 Change-Id: Ib4de7f6ea1deece59fb67713f411aa4a88402425
2019-06-14Fix few ASAN issues reportedDante Russo
- 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. Test: GNSS sanity test Bug: 134993377 Change-Id: Ib5a6dc29fef9eb6676d4605f92d60f26a47d1d90 CRs-fixed: 2449980
2019-05-09Adding NAVIC supportSaurabh Srivastava
NAVIC constellation support added. Change-Id: I30a61f53089177d4e02b617dc9b785c13e2ef6ee CRs-Fixed: 2399619
2019-05-09Merge "Process CP_MTLR in emergency in different conditions"qctecmdr
2019-05-09Merge "Gnss adapter: retrieve pdop, hdop and vdop from extended struct"qctecmdr
2019-05-09Merge "GPS: add numSVUsedInFix in location api"qctecmdr
2019-05-06Gnss adapter: retrieve pdop, hdop and vdop from extended structWei Chen
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-04Merge "SV "in-use" flags are not being set correctly for multiband enabled ↵qctecmdr
devices"
2019-05-03Process CP_MTLR in emergency in different conditionsMike Cailean
Prcess CP_MTLR based on a new configuration item Change-Id: I9351f574f0b1a4bad2b88f2627ab188ac1522e92 CRs-fixed: 2444954
2019-05-02Merge "feat: Add timeuncNs in PQWM1 message"qctecmdr
2019-05-02Merge "GNSS HIDL 2.0 updates"qctecmdr
2019-05-01SV "in-use" flags are not being set correctly forMike Cailean
multiband enabled devices Change-Id: I875b535063c6aa6ecb713c7b6abff123d8402d62 CRs-fixed: 2443087
2019-05-01feat: Add timeuncNs in PQWM1 messageKatz Yamada
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-01GNSS HIDL 2.0 updatesDante Russo
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-01Merge "Send SUPL notification to the framework for E911 sessions only (older ↵qctecmdr
modems)"
2019-05-01Gnss interface: add position injection for extended infoWei Chen
Add position injection interface with extended info, e.g.: GnssLocationInfoNotification Change-Id: I6ba8f1111d1511c7071fe358687a478b26e8f9a4 CRs-fixed: 2417450
2019-04-30GPS: add numSVUsedInFix in location apiWei Chen
Add a count in location API for number of SV used in fix Change-Id: I3b396170948fa6c93a88d0fdcf17e28eff5ed5dc CRs-fixed: 2425599
2019-04-30Gnss adapter: fill in proper std deviation in position reportWei Chen
The north and east standard deviation fields are not filled in properly in position report Change-Id: Ic243a6862f3fa4e723b507d391c9a904d65d3c30 CRs-fixed: 2426344
2019-04-30Send SUPL notification to the framework forMike Cailean
E911 sessions only (older modems) Change-Id: Icd317f6e4b042c31afc63011596689d5fb35135f CRs-fixed: 2441292
2019-04-24LTE Positioning Profile is not reflecting properlyNilesh Gharde
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-08Streamline measurements processingMike Cailean
Consolidate the translation from QMI LOC into one place in order to minimize traffic Change-Id: I73c2f25e94544a2b69d4227c63548ef11b6a4d91 CRs-fixed: 2430668
2019-04-01Merge "Integer overflow leading to a buffer overflow"qctecmdr
2019-03-27Batching and Geofence moved to GNSS HALDante Russo
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-27Integer overflow leading to a buffer overflowNilesh Gharde
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-22Merge "Improved Location NI Privacy"qctecmdr Service
2019-03-21Improved Location NI PrivacyMike Cailean
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-21Merge "clear magic number for GPS_LOCK"qctecmdr Service
2019-03-19Merge "Remove tracking redundanty and assure min interval"qctecmdr Service
2019-03-18clear magic number for GPS_LOCKHoss Zhou
Change-Id: I3c1b5a18ab16382a436098f8af541bf7f125783e CRs-fixed: 2370451
2019-03-08Combine updateConfig in GnssAdapterYingjie Wang
Adjust setConfigCommand and gnssUpdateConfigCommand to use one gnssUpdateConfig method. CRs-fixed: 2402752 Change-Id: I6a9ec474bd9ffed52edd2422574af0f6d41493c4
2019-02-26Remove tracking redundanty and assure min intervalDante Russo
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-06New structures and handling of new data in the pipeBhavna Sharma
1. KlobucharIonoModel 2. Additional parameters for Glonass 3. Add gps system time to ephemeris reports. CRs-Fixed: 2388931 Change-Id: Ibd08496c8eda2ce7571cbdd71ff0c179f7376aa7
2019-01-30GPS SV meas: new structure to support 10HzWei Chen
(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-15Merge "Fix KW P1 related issues"qctecmdr Service
2019-01-04Merge "fix multiple GPS_LOCK request"qctecmdr Service
2019-01-04Fix KW P1 related issuesYingjie Wang
Change-Id: Ifc3cb9dcabf2e07439fd596b5ad33b46ea562b3d CRs-fixed: 2375836
2018-12-24fix multiple GPS_LOCK requestHoss Zhou
donot send GPS_LOCK request when new gpsLock is the same as last one. Change-Id: Ifb87018d11aef0383762b9b132742faf3d4d7e79 CRs-fixed: 2360896
2018-11-28Merge "GPS location API: support destroy with callback for completion"Linux Build Service Account
2018-11-27GPS location API: support destroy with callback for completionWei Chen
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-27GPS NMEA: generate proper nmea during leap second transitionWei Chen
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-15Invoking dlclose in error caseSaurabh Srivastava
Invoking dlclose for loc_net_iface library dlopen call in error case. Change-Id: Ib8d4b05904214ebaa83608309679bc055bd7abe5 CRs-Fixed: 2347372
2018-10-08FR48381: Support leap second change eventWei Chen
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-05perf: Reduce NMEA traffic over client IPCKatz Yamada
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-05Merge "New additions for Ephemeris and Poly handling"Linux Build Service Account
2018-10-02New additions for Ephemeris and Poly handlingBhavna Sharma
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-01Set SV in use mask based on final fixesMike Cailean
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-09-26FR47184: tunc constrained and position assisted time estimatorDante Russo
(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-16Merge "Fixed KW issues such as uninitialized variables"Linux Build Service Account
2018-09-11Merge "Set SV in use mask based on final fixes"Linux Build Service Account
2018-09-10Fixed KW issues such as uninitialized variablesMike Cailean
Change-Id: I24093a79fe0befc4484a9538110d44f667d1cbd6 CRs-fixed: 2312583