diff options
author | Xin Li <delphij@google.com> | 2019-09-05 16:53:34 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-09-05 16:53:34 +0000 |
commit | 13b776ec49fa6302a0f1111c958123450388c29a (patch) | |
tree | b42f0a828680dbe21eed093d0cf9a794686a365d | |
parent | 8d6e3a709f10e90f17e244d5084e4588e1e96bea (diff) | |
parent | af2055045181e434ca9fdd4ca08001885f6b9de3 (diff) | |
download | gps-13b776ec49fa6302a0f1111c958123450388c29a.tar.gz |
Merge "DO NOT MERGE - Merge Android 10 into master"
-rw-r--r-- | msm8909/core/Android.mk | 3 | ||||
-rw-r--r-- | msm8909/etc/Android.mk | 2 | ||||
-rw-r--r-- | msm8909/loc_api/libloc_api_50001/Android.mk | 2 | ||||
-rw-r--r-- | msm8909/loc_api/libloc_api_50001/loc.cpp | 4 | ||||
-rw-r--r-- | msm8909/loc_api/libloc_api_50001/loc_eng.cpp | 4 | ||||
-rw-r--r-- | msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h | 10 | ||||
-rw-r--r-- | msm8909/utils/Android.mk | 3 | ||||
-rw-r--r-- | msm8996/loc_api/libloc_api_50001/loc.cpp | 2 | ||||
-rw-r--r-- | msm8998/android/AGnss.cpp | 5 | ||||
-rw-r--r-- | msm8998/utils/loc_nmea.cpp | 66 |
10 files changed, 55 insertions, 46 deletions
diff --git a/msm8909/core/Android.mk b/msm8909/core/Android.mk index f99d9aa..d07f544 100644 --- a/msm8909/core/Android.mk +++ b/msm8909/core/Android.mk @@ -6,6 +6,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libloc_core +LOCAL_VENDOR_MODULE := true LOCAL_MODULE_OWNER := qcom LOCAL_MODULE_TAGS := optional @@ -40,6 +41,8 @@ LOCAL_C_INCLUDES:= \ $(TARGET_OUT_HEADERS)/gps.utils \ $(TARGET_OUT_HEADERS)/libflp +LOCAL_HEADER_LIBRARIES := libutils_headers + LOCAL_COPY_HEADERS_TO:= libloc_core/ LOCAL_COPY_HEADERS:= \ LocApiBase.h \ diff --git a/msm8909/etc/Android.mk b/msm8909/etc/Android.mk index 33287df..112658d 100644 --- a/msm8909/etc/Android.mk +++ b/msm8909/etc/Android.mk @@ -7,7 +7,7 @@ include $(CLEAR_VARS) LOCAL_MODULE := gps.conf LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := ETC -LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/ +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) LOCAL_SRC_FILES := gps.conf include $(BUILD_PREBUILT) diff --git a/msm8909/loc_api/libloc_api_50001/Android.mk b/msm8909/loc_api/libloc_api_50001/Android.mk index ef9accb..1d66b41 100644 --- a/msm8909/loc_api/libloc_api_50001/Android.mk +++ b/msm8909/loc_api/libloc_api_50001/Android.mk @@ -6,6 +6,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libloc_eng +LOCAL_VENDOR_MODULE := true LOCAL_MODULE_OWNER := qcom LOCAL_MODULE_TAGS := optional @@ -64,6 +65,7 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := gps.$(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE) +LOCAL_VENDOR_MODULE := true LOCAL_MODULE_OWNER := qcom LOCAL_MODULE_TAGS := optional diff --git a/msm8909/loc_api/libloc_api_50001/loc.cpp b/msm8909/loc_api/libloc_api_50001/loc.cpp index fbc66b0..70f9931 100644 --- a/msm8909/loc_api/libloc_api_50001/loc.cpp +++ b/msm8909/loc_api/libloc_api_50001/loc.cpp @@ -546,9 +546,7 @@ static void loc_delete_aiding_data(GpsAidingData f) { ENTRY_LOG(); -#ifndef TARGET_BUILD_VARIANT_USER loc_eng_delete_aiding_data(loc_afw_data, f); -#endif EXIT_LOG(%s, VOID_RET); } @@ -1000,7 +998,7 @@ static inline int createSocket() { LOC_LOGE("create socket error. reason:%s", strerror(errno)); } else { - const char* socketPath = "/data/misc/location/xtra/socket_hal_xtra"; + const char* socketPath = "/data/vendor/location/xtra/socket_hal_xtra"; struct sockaddr_un addr = { .sun_family = AF_UNIX }; snprintf(addr.sun_path, sizeof(addr.sun_path), "%s", socketPath); diff --git a/msm8909/loc_api/libloc_api_50001/loc_eng.cpp b/msm8909/loc_api/libloc_api_50001/loc_eng.cpp index 98a3c49..5b5a83c 100644 --- a/msm8909/loc_api/libloc_api_50001/loc_eng.cpp +++ b/msm8909/loc_api/libloc_api_50001/loc_eng.cpp @@ -77,11 +77,11 @@ #define FAILURE FALSE #ifndef GPS_CONF_FILE -#define GPS_CONF_FILE "/etc/gps.conf" //??? platform independent +#define GPS_CONF_FILE "/vendor/etc/gps.conf" //??? platform independent #endif #ifndef SAP_CONF_FILE -#define SAP_CONF_FILE "/etc/sap.conf" +#define SAP_CONF_FILE "/vendor/etc/sap.conf" #endif #define XTRA1_GPSONEXTRA "xtra1.gpsonextra.net" diff --git a/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h b/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h index 1d8c142..712fc2d 100644 --- a/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h +++ b/msm8909/loc_api/libloc_api_50001/loc_eng_dmn_conn.h @@ -33,11 +33,11 @@ #ifdef _ANDROID_ -#define GPSONE_LOC_API_Q_PATH "/data/misc/location/gpsone_d/gpsone_loc_api_q" -#define GPSONE_LOC_API_RESP_Q_PATH "/data/misc/location/gpsone_d/gpsone_loc_api_resp_q" -#define QUIPC_CTRL_Q_PATH "/data/misc/location/gpsone_d/quipc_ctrl_q" -#define MSAPM_CTRL_Q_PATH "/data/misc/location/gpsone_d/msapm_ctrl_q" -#define MSAPU_CTRL_Q_PATH "/data/misc/location/gpsone_d/msapu_ctrl_q" +#define GPSONE_LOC_API_Q_PATH "/data/vendor/location/gpsone_d/gpsone_loc_api_q" +#define GPSONE_LOC_API_RESP_Q_PATH "/data/vendor/location/gpsone_d/gpsone_loc_api_resp_q" +#define QUIPC_CTRL_Q_PATH "/data/vendor/location/gpsone_d/quipc_ctrl_q" +#define MSAPM_CTRL_Q_PATH "/data/vendor/location/gpsone_d/msapm_ctrl_q" +#define MSAPU_CTRL_Q_PATH "/data/vendor/location/gpsone_d/msapu_ctrl_q" #else diff --git a/msm8909/utils/Android.mk b/msm8909/utils/Android.mk index 0f9b05f..386f767 100644 --- a/msm8909/utils/Android.mk +++ b/msm8909/utils/Android.mk @@ -41,6 +41,8 @@ LOCAL_LDFLAGS += -Wl,--export-dynamic LOCAL_C_INCLUDES:= \ $(LOCAL_PATH)/platform_lib_abstractions +LOCAL_HEADER_LIBRARIES := libutils_headers + LOCAL_COPY_HEADERS_TO:= gps.utils/ LOCAL_COPY_HEADERS:= \ loc_log.h \ @@ -60,6 +62,7 @@ LOCAL_COPY_HEADERS:= \ platform_lib_abstractions/platform_lib_macros.h \ loc_misc_utils.h +LOCAL_VENDOR_MODULE := true LOCAL_MODULE := libgps.utils LOCAL_MODULE_TAGS := optional diff --git a/msm8996/loc_api/libloc_api_50001/loc.cpp b/msm8996/loc_api/libloc_api_50001/loc.cpp index 781df6e..db4a971 100644 --- a/msm8996/loc_api/libloc_api_50001/loc.cpp +++ b/msm8996/loc_api/libloc_api_50001/loc.cpp @@ -610,9 +610,7 @@ static void loc_delete_aiding_data(GpsAidingData f) { ENTRY_LOG(); -#ifndef TARGET_BUILD_VARIANT_USER loc_eng_delete_aiding_data(loc_afw_data, f); -#endif EXIT_LOG(%s, VOID_RET); } diff --git a/msm8998/android/AGnss.cpp b/msm8998/android/AGnss.cpp index c497ed4..51a6ff6 100644 --- a/msm8998/android/AGnss.cpp +++ b/msm8998/android/AGnss.cpp @@ -38,7 +38,10 @@ AGnss::AGnss(Gnss* gnss) : mGnss(gnss) { void AGnss::agnssStatusIpV4Cb(IAGnssCallback::AGnssStatusIpV4 status){ - sAGnssCbIface->agnssStatusIpV4Cb(status); + auto r = sAGnssCbIface->agnssStatusIpV4Cb(status); + if (!r.isOk()) { + LOC_LOGE("Error invoking AGNSS status cb %s", r.description().c_str()); + } } Return<void> AGnss::setCallback(const sp<IAGnssCallback>& callback) { diff --git a/msm8998/utils/loc_nmea.cpp b/msm8998/utils/loc_nmea.cpp index 9fbed98..b0cd9ea 100644 --- a/msm8998/utils/loc_nmea.cpp +++ b/msm8998/utils/loc_nmea.cpp @@ -71,8 +71,6 @@ typedef struct loc_sv_cache_info_s float vdop; } loc_sv_cache_info; -static loc_sv_cache_info sv_cache_info; - /*=========================================================================== FUNCTION loc_nmea_sv_meta_init @@ -90,6 +88,7 @@ SIDE EFFECTS ===========================================================================*/ static loc_nmea_sv_meta* loc_nmea_sv_meta_init(loc_nmea_sv_meta& sv_meta, + loc_sv_cache_info& sv_cache_info, GnssSvType svType, bool needCombine) { @@ -495,7 +494,20 @@ void loc_nmea_generate_pos(const UlpLocation &location, int utcMinutes = pTm->tm_min; int utcSeconds = pTm->tm_sec; int utcMSeconds = (location.gpsLocation.timestamp)%1000; - + loc_sv_cache_info sv_cache_info = {}; + + if (GPS_LOCATION_EXTENDED_HAS_GNSS_SV_USED_DATA & locationExtended.flags) { + sv_cache_info.gps_used_mask = + (uint32_t)locationExtended.gnss_sv_used_ids.gps_sv_used_ids_mask; + sv_cache_info.glo_used_mask = + (uint32_t)locationExtended.gnss_sv_used_ids.glo_sv_used_ids_mask; + sv_cache_info.gal_used_mask = + (uint32_t)locationExtended.gnss_sv_used_ids.gal_sv_used_ids_mask; + sv_cache_info.qzss_used_mask = + (uint32_t)locationExtended.gnss_sv_used_ids.qzss_sv_used_ids_mask; + sv_cache_info.bds_used_mask = + (uint32_t)locationExtended.gnss_sv_used_ids.bds_sv_used_ids_mask; + } if (generate_nmea) { char talker[3] = {'G', 'P', '\0'}; uint32_t svUsedCount = 0; @@ -506,7 +518,8 @@ void loc_nmea_generate_pos(const UlpLocation &location, // ------------------- count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GPS, true), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GPS, true), + nmeaArraystr); if (count > 0) { svUsedCount += count; @@ -519,7 +532,8 @@ void loc_nmea_generate_pos(const UlpLocation &location, // ------------------- count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GLONASS, true), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GLONASS, true), + nmeaArraystr); if (count > 0) { svUsedCount += count; @@ -532,7 +546,8 @@ void loc_nmea_generate_pos(const UlpLocation &location, // ------------------- count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GALILEO, true), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GALILEO, true), + nmeaArraystr); if (count > 0) { svUsedCount += count; @@ -545,7 +560,8 @@ void loc_nmea_generate_pos(const UlpLocation &location, // -------------------------- count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_QZSS, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_QZSS, false), + nmeaArraystr); if (count > 0) { svUsedCount += count; @@ -556,7 +572,8 @@ void loc_nmea_generate_pos(const UlpLocation &location, // ---$PQGSA/$GNGSA (BEIDOU)--- // ---------------------------- count = loc_nmea_generate_GSA(locationExtended, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_BEIDOU, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_BEIDOU, false), + nmeaArraystr); if (count > 0) { svUsedCount += count; @@ -920,13 +937,6 @@ void loc_nmea_generate_pos(const UlpLocation &location, length = loc_nmea_put_checksum(sentence, sizeof(sentence)); nmeaArraystr.push_back(sentence); - - // clear the cache so they can't be used again - sv_cache_info.gps_used_mask = 0; - sv_cache_info.glo_used_mask = 0; - sv_cache_info.gal_used_mask = 0; - sv_cache_info.qzss_used_mask = 0; - sv_cache_info.bds_used_mask = 0; } //Send blank NMEA reports for non-final fixes else { @@ -989,20 +999,9 @@ void loc_nmea_generate_sv(const GnssSvNotification &svNotify, int sentenceCount = 0; int sentenceNumber = 1; int svNumber = 1; + loc_sv_cache_info sv_cache_info = {}; //Count GPS SVs for saparating GPS from GLONASS and throw others - - sv_cache_info.gps_used_mask = 0; - sv_cache_info.glo_used_mask = 0; - sv_cache_info.gal_used_mask = 0; - sv_cache_info.qzss_used_mask = 0; - sv_cache_info.bds_used_mask = 0; - - sv_cache_info.gps_count = 0; - sv_cache_info.glo_count = 0; - sv_cache_info.gal_count = 0; - sv_cache_info.qzss_count = 0; - sv_cache_info.bds_count = 0; for(svNumber=1; svNumber <= svCount; svNumber++) { if (GNSS_SV_TYPE_GPS == svNotify.gnssSvs[svNumber - 1].type) { @@ -1072,35 +1071,38 @@ void loc_nmea_generate_sv(const GnssSvNotification &svNotify, // ------------------ loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GPS, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GPS, false), nmeaArraystr); // ------------------ // ------$GLGSV------ // ------------------ loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GLONASS, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GLONASS, false), + nmeaArraystr); // ------------------ // ------$GAGSV------ // ------------------ loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_GALILEO, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_GALILEO, false), + nmeaArraystr); // ------------------------- // ------$PQGSV (QZSS)------ // ------------------------- loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_QZSS, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_QZSS, false), nmeaArraystr); // --------------------------- // ------$PQGSV (BEIDOU)------ // --------------------------- loc_nmea_generate_GSV(svNotify, sentence, sizeof(sentence), - loc_nmea_sv_meta_init(sv_meta, GNSS_SV_TYPE_BEIDOU, false), nmeaArraystr); + loc_nmea_sv_meta_init(sv_meta, sv_cache_info, GNSS_SV_TYPE_BEIDOU, false), + nmeaArraystr); EXIT_LOG(%d, 0); } |