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
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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEABECAAYFAlTQKUkACgkQoUgPZYCpAfGAUgCgyH0kEyUtVhZ09+T3w4VfnZqK
Id8An3JkWK9QhlXZ9Q2zT8T7LR5/T2ls
=8mx/
-----END PGP SIGNATURE-----
Merge tag 'AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175' into 111
AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175 based on quic/aosp/LA.AF.1.1
* tag 'AU_LINUX_ANDROID_LA.AF.1.1.05.00.02.164.175':
GNSS measurement
Added new events and masks for GDT AP
gps.conf parameters are in sap.conf table
Enable "auto" target for APQ8960 Automotive ADP platform
support reinjecting supl url for sim hot swap
Remove Redundant Log
Report 2D speed rather than 3D speed.
Conflicts:
core/gps_extended_c.h
Change-Id: Ibe1207ac07a2931003f5fa34ae68d8c1e6512eeb
Change Summary:
* Changes taken from change#812357;
* Structure definitions for GNSS SV Measurement and GNSS SV
Polynomial to report it to ULP and to external DR module;
* New function additions in LocApiBase, LocAdapterBase and
LocEngAdapter to report SV Measurement and SV Polynomial;
* definition and changes to detect "auto" platform in loc_target;
* enable SV Measurement and SV Polynomial report for "auto"
platform;
Change-Id: I5ac5ee5c44e72e657b16515e37637c9a5c64e638
Implementation of GNSS Measurements support.
In GPS HAL, Only GPS Measurements report
will be collected from modem.
CRs-fixed: 771496
Change-Id: Ief4368099df4ff573ad1a764f4156d63685e936d
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
It contains the following changes:
- porting from AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.040
- updated package loc-api files according to the merge
- rename loc-api to loc-hal
- dynamically load liblbs_core.so.1 file for LE platforms
- print a warning message when loading the lbs_core library fails
CRs-fixed: 605821
Change-Id: I54e1a9c742d1734ffa29e6864901119e0ee600c8
This change removes redundant log
printing, including SV info and
position report.
Change-Id: Ifcf827f73e6c940e3fcb93402bc7a4b22e9a9d4e
CRs-fixed: 765333
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
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
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
-----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
-----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
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
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
-----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
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
Remove dependence on android_runtime and
return invalid value if gps daemon is not
responding
CRs-fixed: 649065
Change-Id: I16dbf1bffe6193114c1da08730f0627377179a2a
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
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
ULP Should be informed of all sessions in progress.
-Added methods to ULP Proxy for the purpose of reporting
batching sessions to ULP
CRs-fixed: 657554
Change-Id: I6e1d9728a0462b86c4ffe73bd5a6ac98e7c0fafe
If MsgTask thread is created before context that
has associator is initialized, the associator
callback was not getting called.
CRs-fixed: 650061
Change-Id: I45d81e1b49fc8dcbc93d1ceef4fef38468ecb4f8
It is useful for LocApiBase derived classes to have
access to sending messages to the message handling
thread without going through an adapter
Change-Id: If60c473bfb504aab68ec661ecdfb012ef410c9cf
CRs-fixed: 615958
This change is for the new added emergency
SUPL session. Adding a new field in gps.conf
named SUPL_ES, which is for emergency supl NI.
CRs-fixed: 600375
Change-Id: I7c21c5589259df4f1cb7ec2f850e708b2c4faa1a
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
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
QMI_LOC added a new msg that sends geofence
breach reports in batches instead of individual
breach reports. This change adds constants to
support this new msg
Change-Id: Ic2f0bb66181ceda371a8a7a8d8681d62207835d1
CRs-fixed: 604766
This change is for the new added emergency
SUPL session. Adding a new field in gps.conf
named SUPL_ES, which is for emergency supl NI.
CRs-fixed: 600375
Change-Id: I7c21c5589259df4f1cb7ec2f850e708b2c4faa1a
LocAdapterProxyBase bridges the LocAdapterBase and
IzatAdapterBase to communicate SSR events.
CRs-Fixed: 598430
Change-Id: I8aa54f207e474974fa6fd5330c1545f94720a5cb
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
The default implementation print was being printed
at warning level, which can create log spam.
Change-Id: I2d8c15fa0b8c647da57fbec6d0b7016117a82d7b
CRs-fixed: 576609
Modem released new batching location feature, which adds
new masks for batching. this change is corresponding
to new masks.
Change-Id: I8bd8e978a0f1066130049b8b2fc669298691d935
Provide function for qca1530 detection. Rename 'get_target' to
'loc_get_target'. Fix loc_get_target state detection to avoid double
detection. Fix few minor code defects.
Change-Id: I3daaff99598771742572aab407475474fad41e93
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
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
Added new module liblbs_core to make
LocApiV02 independent of pre-built binaries.
This patch provies the necessary changes to
support the new module
CRs-fixed: 538124
Change-Id: I716cf169de9dae164a141651af971793099a927d
Added get zpp fix API so that different other features can
make use of this feature in the AP space.
Change-Id: I32e750626704c5d0069723ee1ca949fda4a5505e
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE needs to be
checked inside all gps hal module makefiles.
libloc_core was missing this check.
Change-Id: Ica508bcd2dc0747e354f43d7d87af5b2b06d1437
Changes to ensure the code breaks out of the adapter session
check loop once any one of them is in session.
Change-Id: I73b3a5f4954050abf5ce3d4c5a04245c894725f2
CRs-Fixed: 534811
Masks for deleting aiding data
of Glonass satellites have been
moved to gps.h. Also added NAME_VAL
pairs for BDS
Change-Id: I6b5e427e3bac3936f98137ddc1c25cb35f324231
CRs-fixed: 498642
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)
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)
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