Commit graph

26 commits

Author SHA1 Message Date
Dante Russo
2572d24770 Move modem power vote out of hal.
The modem power vote feature needs to move
out of hal as it has non-aosp dependency.

CRs-fixed: 831075

Change-Id: Ic83276e9d3c0d125a01f50719102fcd7c0455385
2015-07-16 10:07:49 -07:00
Dante Russo
dd823bc93e Add glo and bds to used-in-fix mask
The used-in-fix mask is only keeping track
of GPS SVs, so add a used-in-fix mask for
GlONASS SVs and BDS SVs as well to avoid
NMEA generation issues

CRs-fixed: 826152

Change-Id: I33862cf8d40db1d667179ef68d18703edc359843
2015-06-22 17:43:36 -07:00
Tushar Janefalkar
f4d8e902f7 Fix bug with switch case
The switch case inside setXtraVersionCheck
does not have breaks after the cases and
the default label is misspelled. This
will always cause the check to be disabled

Change-Id: Ibcc3703c98e561e0bdfbcc5c8802d1b45c9a511a
CRs-Fixed: 790623
2015-02-05 02:37:46 -08:00
Dante Russo
407848e5cf GNSS measurement
Implementation of GNSS Measurements support.
In GPS HAL, Only GPS Measurements report
will be collected from modem.

CRs-fixed: 771496

Change-Id: Ief4368099df4ff573ad1a764f4156d63685e936d
2015-01-16 13:22:20 -08:00
Kevin Tang
af2762ceca GPS_LOCK configuration support
GPS_LOCK is defined as a bit mask in the higher layer
defined in gps.conf. GPS HAL reads from gps.conf, yet
this can be reconfigured by gps.h defined new API to
a different value. The current value will be used at
cleanup() time, to optionally lock gps modem to the
configured mode.

This changs also sets SUPL URL to NULL if hostname
comes with set_server() API is a NULL string.

Also optimized configuration_update() implementation
so that no all items will go through the reconfigu
scan.

Also added SUPL_MODE as a parameter in gps.conf which
can be uncommented to over-write the value from config.xml.
This can be used for testing purposes

Bug: 16131208
Bug: 17288144

CRs-fixed: 736966
Change-Id: I12a89b12ff82b6efd7b5567d2fcd6a7e79414c71
2014-10-20 15:00:31 -07:00
Jiafei Wen
fab550522a Ignore the first time inject if it is form Afw.
The first time injection is ignored from
an adapter that doesn't support CPI Extended
Capabilities to prevent time from being
injected twice on startup.

CRs-fixed: 720540
Change-Id: If786cf2c750906093f21272aae928e4d9fc4dea8
2014-09-16 18:17:07 -07:00
Tushar Janefalkar
c091f138ef Add support for XTRA_VERSION_CHECK QMI LOC msg
A new QMI LOC msg is introduced which injects into
the modem a value that determines whether or not
the version of XTRA is to be checked

Change-Id: I0ef579332d064713ce73d80e66dc8c6fef1c1638
CRs-fixed: 649860
2014-07-21 10:45:06 -07:00
Dante Russo
f9a26b2a68 Inject location only on CPI disabled
Includes inject API from GPS HAL and FLP HAL

CRs-fixed: 640452

Change-Id: Ied947e2862fb9ecca0142f9608cdcc889cac8a2b
2014-04-03 14:41:53 -07:00
Tushar Janefalkar
25244b3660 Close MDM node on shutdown
Added call to close mdm power node
as part of procedure to shutdown

CRs-fixed: 640576

Change-Id: Ie0c05272249401f6cf13e9443417b0ba5de1be52
2014-04-01 14:38:34 -07:00
Valeri Atamaniouk
ec1fa23bc5 Adds power voting for QCA1530 SoC
When ALM is enabled, GPS HAL performs power vote for QCA1530 SoC
using engine lock mechanics.

Change-Id: I97c5c0460843fc1ad995932f97eeadb7b83fcb3b
2014-03-26 21:31:37 +02:00
Pandari Sabhapathi
6645560aba Renaming class members for improved readability
Renaming class members to reflect their true purpose

CRs-fixed: 601353

Change-Id: I1eb2bc111a52845c515d1b9ca10fb800402c7c3d
2014-02-24 11:23:58 -08:00
Tushar Janefalkar
e620608cd7 Copy position mode to dummy ULP proxy
To avoid the race condition between
when the fix criteria is set and checked,
the position mode is copied to the dummy
ULP proxy and it is used to inform ULP
when a true proxy is registered

Change-Id: I72285c7926814ec85dae64e6634f0c79ea5e6c51
CRs-fixed: 604905
2014-02-10 16:46:39 -08:00
Satheesh Jayakumar
6fc806515a Adds ZPP Feature Implementation
Changes for enabling Zero Power positioning feature in the
location services subsystem.It involves modifications to
HAL and ULP engine.
CRs-Fixed: 457060

Change-Id: I62187e66d44c5b40e1b2a41cafc0cb3e7c94f6d8
2013-11-26 18:10:03 -08:00
Hema Iyer Sankaranarayanan
b5ed3d8505 Changes to conditionally check and inject coarse position
Changes to GPS HAL to determine if wiper available before it does
CPI injection.

Change-Id: Ic481c020bf51ae55b001ab28a0b1caaa5de47cdd
2013-11-19 17:40:52 -08:00
Satheesh Jayakumar
e9d4048168 Fixes loc_ext and AFW concurrency issues
Part of changes so that loc_ext stack gets its own QMI_LOC client.
CRs-Fixed: 565281

Change-Id: I7dda3cd8e90e699f11391ea621a785f775978e41
2013-11-15 15:36:43 -08:00
Linux Build Service Account
0561631818 Merge "Send status report msg through ULP" 2013-10-24 21:38:13 -07:00
Tushar Janefalkar
82159c5002 Check mAgpsEnabled for data call
Check AGPS flag to ensure the request
is handled by the right adapter

Change-Id: I6fb7271ec0be5aec14e9d667c07e5b01b1736c1d
CRs-fixed: 551808
2013-10-23 10:58:06 -07:00
Kevin Tang
7546fd88b9 enhance ulp handshake
send ULP the position mode if it is valid when ULP handle
is first received. This helps handling a race condition
where ULP handshake happens when a GPS session is about
to happen or already happening.

Change-Id: I029e5c3bbb9d8e89b220ca44e9704b5a1d1451ff
CRs-Fixed: 554340
2013-10-21 13:36:28 -07:00
Tushar Janefalkar
e0e4cde06b Send status report msg through ULP
In order to preserve the ordering of
position reports and status reports from
the GPS engine, status reports are sent
through the ULP too

CRS-Fixed: 538143

Change-Id: I41be2121493c6a0b35a5726fd546eb0fa5e9b20c
2013-10-04 10:51:55 -07:00
Tushar Janefalkar
eb726cbd2e Add check for mAgpsEnabled
requestSuplES did not have
the check for mAgpsEnabled

Change-Id: I314fe6bc933e5201e1ac6c6632ee3b53240955b1
CRs-fixed: 543639
2013-09-23 16:56:04 -07:00
Satheesh Jayakumar
961d1bdae7 Fix for the crash that was caused when accessing UlpProxy
Changes to ensure that we dont free UlpProxy object
by mistake when loc_init is invoked twice.
CRs-Fixed: 532599
Change-Id: I0989368b67614181b3d834e61690211497663352
2013-08-21 17:54:22 -07:00
Ashwin Kumar
42211a946a Resolved On-Demand XTRA time injection issue
Resolved issue where XTRA data was being requested instead
of time during On-Demand time injection.
CRs-Fixed: 530415

Change-Id: Ibf057073dc4eddc011f5df5c13d60eb552eec8c9
2013-08-20 12:06:59 +05:30
Kevin Tang
61fedb4567 removed ulp dependency.
ULP will no longer be loaded and init'ed from loc eng
HAL. GPS HAL will look for ULP once it completes init
and waits for a msg back once it hears from ULP. This
is done with introduction of UlpProxy. Default proxy
is a no op proxy.

Change-Id: If0be0b5744f9de20f12c2f0b9704dea66aa454c0
(cherry picked from commit 2eb4ddcae94283df6c6be450c4c070ffd8ff9cd7)
2013-08-09 11:44:34 -07:00
Kevin Tang
11adbb371f Revert "Revert "Location Hal Design Level Change for FLP Requirement"".
This reverts commit 55a6841843.
(cherry picked from commit 363ed1a6b09d7426bfd3726becd2d713da57fa80)

Change-Id: I19153a904dd7587dfd517dcc86f51f4b1110289a
2013-08-09 11:44:12 -07:00
Sridhar Gujje
55a6841843 Revert "Location Hal Design Level Change for FLP Requirement"
This reverts commit a915406668

Change-Id: I7f677a9540a64a60b5f4ed898ba6bed8b3482687
2013-08-07 03:27:20 -07:00
Kevin Tang
a915406668 Location Hal Design Level Change for FLP Requirement
Changes can be highlighted with below summary:
* Split the original LocApiAdapter to LocAdapter and LocApi.
  Now different adapter implementations can flexibly connect
  to different LocApi;
* LocApi continues to abstract the API binding to RPC or QMI;
* MsgTask which creates and owns a msg Q and a thread, and it
  define a LocMsg base msg class. The handler pulls a msg out
  of the Q and calls its proc() method. This makes it possible
  for msg sender to keep the data in the msg encapsulated, as
  it no longer requires a central msg handler who must under-
  stand all data format. This used to be where all the compile
  time dependencies are tangled together;
* Added Context to bundle MsgTask and LocApi;
* Added LocDualContext specifically for the FLP Location Hal
  architecture requirement;
* Placed all the base classes of the above in loc_core folder
  / loc_core namespace / libloc_core.so, so other libraries
  can easily use derive from here without having to pull in
  the loc_eng implementation, which is a large library to
  include or link to;

Change-Id: I40abfba96dea76757c98530c1f5e076b34ba4ac7
2013-08-02 19:29:22 -07:00