From fd7b78112e4fef25c3d6c0a0c189baea4c5704c7 Mon Sep 17 00:00:00 2001 From: Vamana Murthi Date: Mon, 23 Nov 2015 19:46:50 +0530 Subject: [PATCH] gps: enable measurement/poly reports only when AP DR enabled GNSS Measurements and Polynomial reports need to be enabled only when AP DR (EXTERNAL_DR_ENABLED=1) is enabled in gps.conf Change-Id: I13437d997e96a6403923d49f62f1e7c2f70e9c04 CRs-Fixed: 937944 --- loc_api/libloc_api_50001/loc.cpp | 6 ++++-- loc_api/libloc_api_50001/loc_eng.cpp | 1 + loc_api/libloc_api_50001/loc_eng.h | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp index ed9ff9b9..50110bbc 100644 --- a/loc_api/libloc_api_50001/loc.cpp +++ b/loc_api/libloc_api_50001/loc.cpp @@ -294,8 +294,10 @@ static int loc_init(GpsCallbacks* callbacks) target = loc_get_target(); - /*For "auto" platform enable Measurement report and SV Polynomial report*/ - if(GNSS_AUTO == getTargetGnssType(target)) + /* If platform is "auto" and external dr enabled then enable + ** Measurement report and SV Polynomial report + */ + if((1 == gps_conf.EXTERNAL_DR_ENABLED) && (GNSS_AUTO == getTargetGnssType(target))) { event |= LOC_API_ADAPTER_BIT_GNSS_MEASUREMENT_REPORT | LOC_API_ADAPTER_BIT_GNSS_SV_POLYNOMIAL_REPORT; diff --git a/loc_api/libloc_api_50001/loc_eng.cpp b/loc_api/libloc_api_50001/loc_eng.cpp index 258db3e9..7114a9d7 100644 --- a/loc_api/libloc_api_50001/loc_eng.cpp +++ b/loc_api/libloc_api_50001/loc_eng.cpp @@ -111,6 +111,7 @@ static loc_param_s_type gps_conf_table[] = {"XTRA_SERVER_2", &gps_conf.XTRA_SERVER_2, NULL, 's'}, {"XTRA_SERVER_3", &gps_conf.XTRA_SERVER_3, NULL, 's'}, {"USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL", &gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL, NULL, 'n'}, + {"EXTERNAL_DR_ENABLED", &gps_conf.EXTERNAL_DR_ENABLED, NULL, 'n'}, }; static loc_param_s_type sap_conf_table[] = diff --git a/loc_api/libloc_api_50001/loc_eng.h b/loc_api/libloc_api_50001/loc_eng.h index a203e6bb..23f93762 100644 --- a/loc_api/libloc_api_50001/loc_eng.h +++ b/loc_api/libloc_api_50001/loc_eng.h @@ -160,6 +160,7 @@ typedef struct loc_gps_cfg_s uint32_t GPS_LOCK; uint32_t A_GLONASS_POS_PROTOCOL_SELECT; uint32_t AGPS_CERT_WRITABLE_MASK; + uint32_t EXTERNAL_DR_ENABLED; } loc_gps_cfg_s_type; /* NOTE: the implementaiton of the parser casts number