Commit graph

46 commits

Author SHA1 Message Date
Kevin Tang
62743a2219 make Api ctor non public
to protect objs from falsely created, as a NULL
parameter for msgTask could eventually cause
crash.

Change-Id: Ie04fb388dab5f217f2fa520a5276dcffa5962e10
CRs-Fixed: 1026576
2016-06-14 16:27:28 -07:00
Vamana Murthi
35877af173 Merge remote-tracking branch 'origin/location.lnx.1.0-rel.1.0' into HEAD
git merge upto CRT tag location.lnx.1.0-00036 to private_n_location.lnx

Change-Id: I922daaa9a8c2745095ec9d425192d3649657e76c
CRs-Fixed: 1015000
2016-05-12 18:11:31 -07:00
Dante Russo
d30694acf6 Rename GnssSvStatus to QtiGnssSvStatus
Change-Id: Ieeeb03af37440214f4762d495d949b4ab59ed237
2016-04-14 12:28:28 -07:00
Deven Patel
a376de4826 Revert "Revert "Merging m_master changes to oe_master"."
This reverts commit a29688ff34

Change-Id: Iab525a58ddb6a00e119afe19f4f51b07b7f428f2
2016-03-15 12:20:01 -07:00
Deven Patel
a29688ff34 Revert "Merging m_master changes to oe_master".
This reverts commit 1aeb6bad84

Change-Id: Iec0a96e7cdfe55ef5836c92a2ae1cce407f6cd5e
2016-03-07 10:55:20 -08:00
Kevin Tang
1aeb6bad84 Merging m_master changes to oe_master
Merging LA m_master changes to oe_master

merge head - 89f41a9b16

Change-Id: I9010487f1d6f3d2e30a568b441bc5f9b719a0fb1
2016-02-04 10:03:40 -08: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
Dongmei Wang
836bdc4386 loc-pla: Create Platform Library Abstraction layer
Defined PLA functions to enable gps libraries to call
platform-dependent library calls transparantly. Removed
fake files and replaced the fake function with defined
PLA functions.

CRs-fixed: 605817

Change-Id: I677f658001329a10ef9b49bd963631a83fb4c85f
2014-12-05 15:15:33 -08:00
Jiafei Wen
00fd7bc33b Report 2D speed rather than 3D speed.
According to Android API standard, it should be only the
horizontal speed. Therefore, the speed should be reported
in 2D rather than 3D.

Change-Id: Ie42aa350637b56394869bac0af0207a5aceeede6
CRs-fixed: 745419
2014-12-01 01:46:52 -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
Tushar Janefalkar
9e585cb7bf Inject feature config
This change injects feature config
through using the first available
context

CRs-fixed: 616544

Change-Id: Idea5bd8acfff729589c071f20bec18679c89ab25
2014-05-05 12:10:59 -07:00
Tushar Janefalkar
112751962e Add API to read and write GPS lock values
This change adds an interface to set and get
values for the GPS lock

Change-Id: I8c83b693fe4c3e6edc9cc5c8c5cbf8471e332c86
2013-08-22 18:28:02 -07:00
Kevin Tang
3535edcfb0 corresponding to izat_core and LBSAdapter changes.
Removed makefile dependency to AndrodRuntime; Renamed
library to be loaded from liblocation to libizat_core;
Made some class private access to protected for the
needs of inheritance; piggy bagged some optimizations.

Change-Id: Id7e3127baa1833cbad7739f50808941c733b87f2
(cherry picked from commit c039ceaec84b25573d710b31831c9b06d4f3d1c6)
2013-08-09 11:44:27 -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
Gohulan Balachandran
efd4e124a6 Merge up to MR1 tip
Point merged in is cc92e0ccd4

Change-Id: I3b782716fee9ed519b77a4e415fa08155bdce76a
2013-07-23 20:12:17 -06:00
Kevin Tang
cb119e6f52 Make Loc Init Asynchronous
GPS-enable gets too heavy at powerup, when loc_init is
synchronous, where loc goes to get the hardware handle
if AP init happens faster than the GPS hardware. The
loc init calling thread is from Android framework, and
it locks a mutex that in turn could lock up system server
main thread upon race conditions.

The second half of loc init, i.e. the reinit, is now moved
to loc worker thread. This should help release some of the
powerup timing pressure on the framework threads.

Added a message just for asynchrous Loc Init so as to execute
init specifically.

Change-Id: I369e461ca4ca61cea3a9729c84d24af4ffa8e51d
CRs-fixed: 472843
2013-07-23 20:05:58 -06:00
Satheesh Jayakumar
0590a64deb hardware/qcom/gps: Porting HAL and Loc API 2.0
- Wrote makefiles, config and other files
- Made code changes to minimize android dependencies

Change-Id: I350de6378684f5db81a36cc4c6d014c5a8189d4c
2013-07-03 17:08:14 -07:00
Dante Russo
399f53047e gps: Added xtra server query loc api
In order to prevent the issue where the xtra server url
that stored in gps.conf is incorrect (like xtra.bin instead
of xtra2.bin) for a particular modem, I've made this change
so that the xtra server url can be queried through loc api.
CRs-fixed: 366599

Change-Id: If65de98d837f068fd61a235cbf1104026246e5a9
2013-06-11 15:02:29 -07:00
Dante Russo
926d20ad77 gps: moving agps/ni/xtra/time features out of afw
Moving these features out of afw allows these
features to still work on platforms that do not
allow changes to afw and it also gives us more
control.

Change-Id: I6923b302f93222dc10189c3a6a7b6ba2ec1a3378
2013-06-11 15:00:57 -07:00
Dante Russo
85f672fa71 Merge branch jb_mr1 into jb_2.6
Merged from from label
AU_LINUX_ANDROID_JB_MR1.04.02.02.049.306

Change-Id: Ie2f7fd3d25f8f28f5d1b6e733974bb5f75999ee8
2013-06-11 14:58:24 -07:00
Kevin Tang
b05358920c Make Loc Init Asynchronous
GPS-enable gets too heavy at powerup, when loc_init is
synchronous, where loc goes to get the hardware handle
if AP init happens faster than the GPS hardware. The
loc init calling thread is from Android framework, and
it locks a mutex that in turn could lock up system server
main thread upon race conditions.

The second half of loc init, i.e. the reinit, is now moved
to loc worker thread. This should help release some of the
powerup timing pressure on the framework threads.

Add a message just for asynchrous Loc Init so as to execute
init specifically.

Change-Id: I369e461ca4ca61cea3a9729c84d24af4ffa8e51d
CRs-fixed: 472843
2013-06-07 13:39:24 -07:00
Kevin Tang
0a760c9f3b GPS HAL: expose altitude and speed uncertainty
Expose altitude and speed uncertainty from GPS fix via extended
info.

Change-Id: I0a478aa25d4b0a98793c946ba5fb883520a4ce58
2013-05-06 18:40:33 -07:00
Kevin Tang
b2490777c1 removed exe bit of the file access mod
find . -type f -executable -exec chmod -x {} \;

Change-Id: Ib6e09bc4bf1d8e4cde63c1df0b15877bf42525b8
2013-04-05 11:12:28 -07:00
Kevin Tang
52f4c8ca93 add LOCAL_MODULE_OWNER := qcom to gps modules
Port back of an earlier patch applied to the GPS HAL
that was moved out of aosp (change id of the patch was
Icc302c91da4104679d2548e4527d0aee430f3761

Change-Id: I133f92e316872c60830df5553f31d34ecd9d7a84
2013-03-26 14:58:19 -07:00
Kevin Tang
34ee095517 Revert "remove loc_api from hardware/qcom/gps"
This reverts commit 0d257cc5d3.

Change-Id: I80c00022b5ab562ade9a9c8ca5abd0087d897c9e
2013-03-26 14:45:46 -07:00
Linux Build Service Account
87e24ecf53 Merge "gps: fix nmea altitude for rpc" 2013-02-20 21:35:49 -08:00
Iliyan Malchev
0d257cc5d3 remove loc_api from hardware/qcom/gps
Change-Id: I2a1e928dc38de45c7421e2ef7a406ca969eafc97
Signed-off-by: Iliyan Malchev <malchev@google.com>
2013-02-06 22:49:06 -08:00
Satheesh Jayakumar
9f8bcc3b14 Ulp: Adds interfacing b/w FusedLocationProv & ULP engine
Changes for providing the plumbing from UlpService down
to the native UlpEngine.
Change-Id: I67e48fad47675d9fa9a3026763daa0f248369f60
CRs-Fixed: 443444
2013-01-29 17:24:01 -08:00
Dante Russo
b7b14cb1c6 gps: fix nmea altitude for rpc
Change-Id: Ifcbde28717178b76bde03d02d3f9ffa8dae114fd
2013-01-21 18:00:45 -08:00
Duy Truong
a987332d29 Update copyright to The Linux Foundation
Change-Id: I727bdeb29904eebf15b7ef8eb0070d69107537a8
2013-01-10 08:07:21 -08:00
Dante Russo
7118024952 Merge jb into jb_2.5
Features ULP, IPV6, DELEXT disabled

Conflicts:
	loc_api/Android.mk
	loc_api/libloc_api-rpc-50001/*
	loc_api/libloc_api_50001/*
	loc_api/loc_api_v02/*
	loc_api/ulp/inc/ulp.h
	utils/*

Change-Id: I846352d0addca89d4ffc3b114b774926b23e930d
2012-12-14 16:45:15 -08:00
Kevin Tang
e065604f30 OTDOA support
(must have CR 370306 as dependency)
CRs-Fixed: 402746

Change-Id: I505becab45f643b352e8ff3aeb242b15b623cb7b
2012-11-15 15:42:13 -08:00
Dante Russo
9fd717a6ae gps: do not lock mutex during loc_ioctl
Locking the slot mutext during a loc_ioctl call
can cause deadlock in some rare cases.

Change-Id: I09aa2ad7c67c326fee90447db960895d7f1fb149
CRs-fixed: 412208
2012-11-07 09:45:23 -08:00
Iliyan Malchev
c74962df0d chmod uga-x
find -type f -perm +111 -name \*.[ch]\* -exec chmod uga-x {} \;

Bug: 7428209
Change-Id: I991e3fb62a46f4b4cd727ef4b6a4472b4015ce33
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-10-27 14:22:13 -07:00
Linux Build Service Account
48cd8b423b Merge "gps: AP NMEA generation" 2012-09-19 13:33:15 -07:00
Dante Russo
a3409617b6 gps: AP NMEA generation
Generate NMEA sentences on the AP

Change-Id: Ifc9e9263868ab4dec450bef35c53c441c881a072
2012-09-17 07:34:08 -07:00
Ajay Dudani
197fe088f7 dynamically build and load adapter libs
This is to support bringup efforts. This change will decouple
the dependencies between GPS HAL and proprietary QMI headers,
so that we can build HAL without any proprietary repos.

Change-Id: I7b836d09f4ac6b1a1bdb38f8d6a2bfb90bb5bf01
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-09-15 13:44:20 -07:00
Linux Build Service Account
24d928186f Merge "gps: control session state evt from HAL, not modem" 2012-09-15 12:15:05 -07:00
Ajay Dudani
ac8fa07a02 gps: control session state evt from HAL, not modem
Suppress the registering for QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02
event from modem, that is normally responsible for generating
GPS_STATUS_SESSION_BEGIN and GPS_STATUS_SESSION_END, and instead
initiate these events from hal from when we get GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF.

Change-Id: I9d220bef7ee4f989a3982d888ed46279861f612d
2012-09-14 17:49:49 -07:00
Vineela Tummalapalli
06ce79b8fa GPS: fix the issue that GNSS position report are dropped in PPC based target
Change-Id: I94fb2bd12ac8751cbd2366a4cc5fde4b52d17f64
CRs-Fixed: 395398
2012-09-11 18:35:28 +05:30
Dante Russo
02d13cc646 gps: control session state evt from HAL, not modem
Suppress the registering for QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02
event from modem, that is normally responsible for generating
GPS_STATUS_SESSION_BEGIN and GPS_STATUS_SESSION_END, and instead
initiate these events from hal from when we get GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF

Change-Id: I9d220bef7ee4f989a3982d888ed46279861f612d
CRs-fixed: 370904
2012-09-10 16:58:40 -07:00
Dante Russo
3088fe9117 gps: jb porting with qcom enhanced features
based from AU_LINUX_ANDROID_ICS.04.00.04.00.205

Change-Id: I0af1da1438a136e98b59110641ce5c7714da220b
2012-07-18 15:13:16 -07:00
Dante Russo
3c2630ef2a gps: initial merge to jb
based from AU_LINUX_ANDROID_ICS.04.00.01.00.007
with qcom enhanced features flagged out

Change-Id: I2bc03fe4447047fd7c9a7d000040dadb8bb34647
2012-07-12 21:58:21 -07:00
Ajay Dudani
f77c85bb51 gps: Initial implementation of msm gps hal
Change-Id: Icf126a0bbb9dec414144b9b405694e41777920d5
2012-07-09 15:43:56 -07:00