Commit graph

104 commits

Author SHA1 Message Date
Valeri Atamaniouk
78bb13288e Location: reduce memory footprint
Reduce memory footprint by moving data sets into const
data segments. Update function parameters to accept const
parameters when appropriate.

CRs-fixed: 928770
Change-Id: I42955cf18de2b0541cfaed89359cdcf9ae6fea8a
2015-11-09 11:33:15 +02:00
Dante Russo
9336256027 Add support for new sockaddr_storage struct
In order to handle ipv6 requests, a new struct
is being used instead of an array to store ipv6
info

CRs-Fixed: 817295
Change-Id: I030d4206c01724f08b311697f0bbefb1f9fd10e6
2015-10-07 10:25:06 -07:00
Linux Build Service Account
9f830f906d Merge "Add 3 new fields in GPS and FLP pipe" 2015-09-24 21:35:40 -07:00
Linux Build Service Account
bd034a21f2 Merge "Sending FLP fixes to ULP" 2015-09-24 05:12:57 -07:00
Jiafei Wen
bf80dfb9e9 Add 3 new fields in GPS and FLP pipe
To support next version of GTP AP protocol,
this change adds the support for the below
3 fields in GPS pipe and FLP pipe :
  1). heading_unc
  2). horizontal_reliability
  3). vertical_reliability

Change-Id: If51c38f9159f372c2b2c12fbb55d123958cfee95
CRs-Fixed: 898876
2015-09-23 18:01:06 -07:00
Jiafei Wen
eb01e397ed Sending FLP fixes to ULP
For crowd sourcing, FLP HAL needs to share
with ULP the flp fixes in real time. This
change is making FLP HAL to send flp fixes
to ULP.

Change-Id: I1a852ec69db8eb50de5c18b03205d1b488cfd4b0
CRs-fixed: 874928 878064
2015-09-22 22:37:57 -07:00
Kevin Tang
94ecbf6804 Crash fix with MsgTask API change
Removed tCreate and tAssociate from MsgTask. LocThread
now can optionally take a tCreate method. Associator is
replaced with *firstMsg* option to MsgTask, which is a
more generic option, that can associate or do other set
up job at the create of a MsgTask.

The current MsgTask doesn't use tCreate, which exposes
a slight time window for Location HAL when its MsgTask
is NOT associated to DVM heap but a message delivery to
DVM could be attempted during this time.

Change-Id: Iafd5b91b693baacb9b7064463f8c44f74026f54c
CRs-Fixed: 902350
2015-09-21 14:45:58 -07:00
Kevin Tang
623f5a6fc5 adding dev id into xtra user agent
setting XTRA_USER_AGENT at GPS HAL init time, incorporating
Android sw version, manufacturer, model, board.

CRs-Fixed: 788356

Change-Id: I8d9dcc80a0769796a25a0477f5f1598a292fe8b0
2015-09-02 10:09:14 -07:00
Linux Build Service Account
082ad3c25d Merge "Move the flp definitions to gps-noship" 2015-08-21 08:44:22 -07:00
Jiafei Wen
87b6a3fff4 Move the flp definitions to gps-noship
This change moves those definitions related to FLP form
gps_extented_c.h to gps-noship.

Change-Id: I3da452fa3e885af509199cae9fe1b1f24ff48100
CRs-fixed: 801916
2015-08-18 14:47:47 -07:00
Tushar Janefalkar
cc9f8dc03b Add new event mask for timezone.
Modem sends this event to request for
injection of timezone and offset from
UTC

Change-Id: I664db892bf08f7df9680322405df4c38198cb465
CRs-fixed: 868532
2015-08-17 14:07:29 -07:00
Linux Build Service Account
7b819b2b03 Merge "Clear passing up memory for LocApiBase function" 2015-08-13 20:06:26 -07:00
Qiang Chen
923698ad8a Clear passing up memory for LocApiBase function
GpsLocation object need to be cleared in case
the base calss member function being called so
that no bad values will be passed up.

Change-Id: I224ecebb3e4137c1baddd99ce0211a0f60d3e5b4
CRs-fixed: 879356
2015-08-06 18:27:07 -07:00
Kevin Tang
bb5d2d4bfb Adding a number of utilities
LocHeap, LocThread, LocTimer, and moved MsgTask to
utils. Also added are LocRankable and LocRunnable
abstract classes.

Change-Id: I76975455d24f2c84a95dcc1b04f79fea562ea5ba
CRs-Fixed: 855222
2015-08-04 14:29:48 -07:00
Dante Russo
d0faf18e26 Remove DeleteAidingData additions
The additions of more Satellite types that
require gps.h changes are removed.

Change-Id: Ib0ab285af7b9bee886c5f7a256d638f2fd7fee9d
2015-07-16 10:08:11 -07:00
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
1b07337c5a LCA additions to ULP and log_util defines.
1. Add two new ulp location sources (PIP and NLP)
ULP_LOCATION_IS_FROM_NLP to mark locations from NLP
ULP_LOCATION_IS_FROM_PIP to mark locations from PIP
2. Introduce a macro for printing exit log with error

CRs-Fixed: 694343

Change-Id: Ifa11803df2ed4fc249a5c339acfeeb5d89bf55d5
2015-07-16 10:07:13 -07:00
Linux Build Service Account
e768ded5ed Merge "Fix implicit declaration errors in gps hal." into private_m_master 2015-07-15 05:01:32 -07:00
Dante Russo
fb8732c9f5 Add compile flag to disable unsupported features.
Allows compilation on builds that have no support
for certain features

Change-Id: I067bcf88432d74b49e60eaab86409f178cf45e7d
2015-07-15 15:22:08 +05:30
Dante Russo
99606eb414 Fix implicit declaration errors in gps hal.
Including string.h and stdlib.h to fix compiler
errors

Change-Id: I4e79c71b9e5691e51850adcc52f52b36f8e3d088
2015-07-15 15:18:06 +05:30
Bhavna Sharma
f72e672afe Revert "Add new event mask for timezone"
This reverts commit 4e8b3506bf

Change-Id: I09a7ec9fdbeda62636df2a43bc6f3a633b978e99
2015-06-25 21:44:50 -07:00
Linux Build Service Account
2ba5e06544 Merge "Add new event mask for timezone" 2015-06-25 02:25:44 -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
4e8b3506bf Add new event mask for timezone
Modem sends this event to request for
injection of timezone and offset from
UTC

Change-Id: Ie94f660efc3163cbde243a9bccb94d37785349b3

CRs-fixed: 846501
2015-06-01 10:42:46 -07:00
Jiafei Wen
a284b9a83b Adding Mutex for Creating Context
Adding lock for creating foreground context
and background context, preventing any possible
race condition.

CRs-fixed: 820078
Change-Id: I7ace685622904ee2aa12f317540f9c04880acc70
2015-04-09 11:00:22 -07:00
Jiafei Wen
9431a6cb33 Send GPS tracking fixes to FLP HAL
FLP HAL accepts GPS tracking fixes for tracking,
so this change sends the tracking fixes to FLP
HAL while flp tracking is undergoing. Also, this
change adds batching options flags and batching
succeed/failure definitions.

CRs-fixed: 748687
Change-Id: I11a2ba337433d9a42c903d36fc980ee1a3983a1e
2015-02-13 12:03:37 -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
Ruifeng Xu
98e1f83ff4 Added new events and masks for GDT AP
These events and masks are for bulk data transfer between AP and MP.

CRs-fixed:766059

Change-Id: Id795316a9b114d6984969ad9eadb8d2c66b1743b
2014-12-19 16:28:21 -08:00
Linux Build Service Account
3aa99e9fc5 Merge "Remove Redundant Log" 2014-12-09 20:44:38 -08:00
Jiafei Wen
a328080552 Remove Redundant Log
This change removes redundant log
printing, including SV info and
position report.

Change-Id: Ifcf827f73e6c940e3fcb93402bc7a4b22e9a9d4e
CRs-fixed: 765333
2014-12-02 12:00:51 -08:00
Kevin Tang
1ca544cfb5 SUPL_MODE needs to be factored in for ULP
GpsLocationProvider gets SUPL_MODE, and passes is to
GPS HAL along with other configs upon sim hot swap.
GPS HAL needs to parse it out and factor in that
information in for ULP so that ULP can make correct
decision w.r.t. position mode when gnss positioning
is needed.

Change-Id: I1a14dd9d9e47b5d7ea072ae08ee99bbb7c69dbe0
CRs-Fixed: 749794
2014-11-12 19:02:58 -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
90378134ea Checking messages supported or not
When device boots up, get a list of message
supported by modem, based on which some adapeters
will be able to update register masks.

CRs-fixed: 601349
Change-Id: I6af282f8e551f1f3c6bf8795e968fdbc7b0a9fa3
2014-10-04 12:27:26 -07:00
Zhoulu Luo
9fe51b7593 AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlQYPVMACgkQoUgPZYCpAfFH4gCeMO6B2RcmkK4FiGKyMAGyby70
 q1kAoKNW3qC2PpZ2TR02ASrbkjfuyjJv
 =+Hrp
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.161' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.161 based on quic/aosp/kk

Conflicts:
	loc_api/libloc_api_50001/loc_eng.cpp
	loc_api/libloc_api_50001/loc_eng.h

Change-Id: Ib51f82aa83a2aa7ea63a10efffe5e7eef8a5d135
2014-09-18 12:26:41 -07:00
Linux Build Service Account
8a5b0aaa29 Merge "add support for apq8026_lw" 2014-08-31 08:23:48 -07:00
Dante Russo
06ccada997 add support for apq8026_lw
LW gets a stripped down feature set

Change-Id: If46a2e369e8bc8adb33629a0d0bccffb60da9d10
2014-08-27 12:27:58 -07:00
Sudhir Sharma
11a39d65a8 AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlP0pJ4ACgkQoUgPZYCpAfEsUwCdGjNzYIPjaZVFcZdeL246BVXQ
 PZ8AnibMuxZm7CO5PzCHKg3tJQdA0msp
 =x/5c
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.110' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.110 based on quic/aosp/kk

Change-Id: Ibdbb06bff5d0c6bd1aec3f6243ae864b70818277
2014-08-22 16:44:20 -07:00
Linux Build Service Account
b39a4aaa01 Merge "agps cert install api implementation" 2014-08-20 10:42:12 -07:00
Sudhir Sharma
2e5ca6dde7 AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlPoLFcACgkQoUgPZYCpAfHA3gCgxHO4Ygg/L4/AivXneonD8kls
 t80AoOVB7Ts81w7Qea3Ui7jhoq/jbRui
 =UdP7
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.094' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.094 based on quic/aosp/kk

Change-Id: I0b9428f15516e1f6b6cd625caa2e4af86b9c1c5e
2014-08-11 13:38:27 -07:00
Kevin Tang
2abe41d44f Fix for CR 692085, error mapping incorrect in one of the cases
eLOC_CLIENT_FAILURE_INTERNAL returned from loc_api_v02 was mapped
to LOC_API_ADAPTER_ERR_FAILUR, however in loc_eng_start_handle it
is LOC_API_ADAPTER_ERR_GENERAL_FAILURE that is being checked for.
Created a new error ID LOC_API_ADAPTER_ERR_INTERNAL specifically
for this error case.

Change-Id: Ib2ad6e983d6c598ec57f1a2584166da2be95946b
CRs-Fixed: 706520
2014-08-07 18:14:43 -07:00
Dante Russo
5cdfc25284 agps cert install api implementation
Implementation of the install agps certificate
API for installing certificates at runtime.

Change-Id: I49239b612381e81bd8a4c0a5773783572d4b2d9a
2014-08-06 11:45:10 -07:00
Tushar Janefalkar
6925f8a04a Revert "Revert "Remove masks for Glonass""
This reverts commit 08237e52b6.

Change-Id: I4e507ef8777d45825234914841562e7f2901bae0
2014-08-05 15:00:31 -07:00
Kevin Tang
8977164eee fixing the SSR recovery race condition
There is a race condition where when startFix is
called right at the time when modem or griffon
subsystem is down, GPS HAL doesn't get the correct
error code, and therefore the right handling.

Mapped ENGINE_DOWN to ENGINE_OFFLINE, as they are
the same; and modified loc_eng_start_handler to
update the state upon the right error code.

There is a one problem though. General failure is
also handled as SSR. This is because of an unhandled
race condition in the kernel, so the error code
returned and propagated is not deterministic enough
for us to tell if this is SSR. Until that fix is in
place, we might have to treat general failure as SSR
although the side effect should be none. Only
semantically incorrect.

Change-Id: If93823f08428275da171bb22d73a06e38365585b
CR-Fixed: 692085
2014-07-30 18:02:41 -07:00
Sudhir Sharma
aa9a96e724 AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iEYEABECAAYFAlPXonYACgkQoUgPZYCpAfEVqgCg0nHy46bwOfBa0LPbxt0PTV4r
 MGsAnAlTanVV1UfX/HzMGmdNyA0D0VZ4
 =Wxhx
 -----END PGP SIGNATURE-----

Merge tag 'AU_LINUX_ANDROID_KK.04.04.04.010.073' into HEAD

AU_LINUX_ANDROID_KK.04.04.04.010.073 based on quic/aosp/kk

Change-Id: I5ae2317a9d43cde94c587cb292212f1435472607
2014-07-29 17:07:10 -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
Tushar Janefalkar
cd5c8489bc Changes for GPS HAL compilation
Remove dependence on android_runtime and
return invalid value if gps daemon is not
responding

CRs-fixed: 649065

Change-Id: I16dbf1bffe6193114c1da08730f0627377179a2a
2014-07-03 15:08:51 -07:00
Tushar Janefalkar
fd8712acd2 Add option to fallback to LocApiV02
In case the lbs or izat libs are not
present, fall back to LocApiV02 to
obtain the qmi client handle. This
change will enable basic GPS functionality
without lbs or izat lib dependencies

CRs-fixed: 649065

Change-Id: Ic2c8418d785e891ad0a660a615cd5111fafc4ff2
2014-07-03 15:07:08 -07:00
Tushar Janefalkar
c828f0a56a Changes for GPS HAL compilation
Remove dependence on android_runtime and
return invalid value if gps daemon is not
responding

Change-Id: I16dbf1bffe6193114c1da08730f0627377179a2a
2014-06-17 13:46:56 -07:00
Tushar Janefalkar
08237e52b6 Revert "Remove masks for Glonass"
This reverts commit 7d128bf31e

Change-Id: I4e8a42e253237fbf23f02da996b94555653001f5
2014-06-17 11:23:10 -07:00
Tushar Janefalkar
e8958a3aab Add option to fallback to LocApiV02
In case the lbs or izat libs are not
present, fall back to LocApiV02 to
obtain the qmi client handle. This
change will enable basic GPS functionality
without lbs or izat lib dependencies

Change-Id: Ic2c8418d785e891ad0a660a615cd5111fafc4ff2
2014-06-17 11:20:01 -07:00