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