diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-11-29 00:09:53 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-11-29 00:09:53 +0000 |
commit | 64f3680b7d35e145791a6d8ece776ae95a46f88b (patch) | |
tree | dc95a4239c3af3154314385ff157178af169977c | |
parent | 0977482b01d5a746e16f0195d3183df8946ab7bc (diff) | |
parent | 97babdb926e3def2991d9cbd83e9c7b6d3965015 (diff) | |
download | gps-oreo-m5-release.tar.gz |
Snap for 4448085 from 97babdb926e3def2991d9cbd83e9c7b6d3965015 to oc-m3-releaseandroid-8.1.0_r9android-8.1.0_r7android-8.1.0_r22android-8.1.0_r21android-8.1.0_r18android-8.1.0_r17android-8.1.0_r14android-8.1.0_r13oreo-m5-releaseoreo-m3-release
Change-Id: Ib09b608f33da8d16f505459687e43f9977ac9300
-rw-r--r-- | msm8996/loc_api/libloc_api_50001/loc.cpp | 5 | ||||
-rw-r--r-- | msm8998/android/AGnssRil.cpp | 6 | ||||
-rw-r--r-- | msm8998/gnss/GnssAdapter.cpp | 71 |
3 files changed, 45 insertions, 37 deletions
diff --git a/msm8996/loc_api/libloc_api_50001/loc.cpp b/msm8996/loc_api/libloc_api_50001/loc.cpp index 99548c6..4970915 100644 --- a/msm8996/loc_api/libloc_api_50001/loc.cpp +++ b/msm8996/loc_api/libloc_api_50001/loc.cpp @@ -170,7 +170,7 @@ static inline void closeSocket(const int socketFd) { } } -static inline bool sendConnectionEvent(const bool connected, const uint8_t type) { +static inline bool sendConnectionEvent(const bool connected, const int8_t type) { int socketFd = createSocket(); if (socketFd < 0) { LOC_LOGe("XTRA unreachable. sending failed."); @@ -1063,8 +1063,7 @@ static void loc_agps_ril_ni_message(uint8_t *msg, size_t len) {} static void loc_agps_ril_update_network_state(int connected, int type, int roaming, const char* extra_info) { ENTRY_LOG(); // for XTRA - sendConnectionEvent((connected != 0) ? true : false, - (uint8_t)type); + sendConnectionEvent((connected != 0) ? true : false, type); EXIT_LOG(%s, VOID_RET); } diff --git a/msm8998/android/AGnssRil.cpp b/msm8998/android/AGnssRil.cpp index b19f55f..f3bbe7c 100644 --- a/msm8998/android/AGnssRil.cpp +++ b/msm8998/android/AGnssRil.cpp @@ -37,7 +37,7 @@ namespace gnss { namespace V1_0 { namespace implementation { -static bool sendConnectionEvent(const bool connected, const uint8_t type); +static bool sendConnectionEvent(const bool connected, const int8_t type); AGnssRil::AGnssRil(Gnss* gnss) : mGnss(gnss) { ENTRY_LOG_CALLFLOW(); @@ -51,7 +51,7 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool ENTRY_LOG_CALLFLOW(); // for XTRA - sendConnectionEvent(connected, (uint8_t)type); + sendConnectionEvent(connected, (int8_t)type); return true; } @@ -88,7 +88,7 @@ static inline void closeSocket(const int socketFd) { } } -static inline bool sendConnectionEvent(const bool connected, const uint8_t type) { +static inline bool sendConnectionEvent(const bool connected, const int8_t type) { int socketFd = createSocket(); if (socketFd < 0) { LOC_LOGe("XTRA unreachable. sending failed."); diff --git a/msm8998/gnss/GnssAdapter.cpp b/msm8998/gnss/GnssAdapter.cpp index a697391..6202a0e 100644 --- a/msm8998/gnss/GnssAdapter.cpp +++ b/msm8998/gnss/GnssAdapter.cpp @@ -47,6 +47,8 @@ #include <vector> #include <string> +#define RAD2DEG (180.0 / M_PI) + using namespace loc_core; GnssAdapter::GnssAdapter() : @@ -1939,39 +1941,51 @@ GnssAdapter::reportSvEvent(const GnssSvNotification& svNotify, void GnssAdapter::reportSv(GnssSvNotification& svNotify) { - if (mGnssSvIdUsedInPosAvail) { - int numSv = svNotify.count; - int16_t gnssSvId = 0; - uint64_t svUsedIdMask = 0; - for (int i=0; i < numSv; i++) { - gnssSvId = svNotify.gnssSvs[i].svId; - switch(svNotify.gnssSvs[i].type) { + int numSv = svNotify.count; + int16_t gnssSvId = 0; + uint64_t svUsedIdMask = 0; + for (int i=0; i < numSv; i++) { + svUsedIdMask = 0; + gnssSvId = svNotify.gnssSvs[i].svId; + switch (svNotify.gnssSvs[i].type) { case GNSS_SV_TYPE_GPS: - svUsedIdMask = mGnssSvIdUsedInPosition.gps_sv_used_ids_mask; + if (mGnssSvIdUsedInPosAvail) { + svUsedIdMask = mGnssSvIdUsedInPosition.gps_sv_used_ids_mask; + } break; case GNSS_SV_TYPE_GLONASS: - svUsedIdMask = mGnssSvIdUsedInPosition.glo_sv_used_ids_mask; + if (mGnssSvIdUsedInPosAvail) { + svUsedIdMask = mGnssSvIdUsedInPosition.glo_sv_used_ids_mask; + } break; case GNSS_SV_TYPE_BEIDOU: - svUsedIdMask = mGnssSvIdUsedInPosition.bds_sv_used_ids_mask; + if (mGnssSvIdUsedInPosAvail) { + svUsedIdMask = mGnssSvIdUsedInPosition.bds_sv_used_ids_mask; + } break; case GNSS_SV_TYPE_GALILEO: - svUsedIdMask = mGnssSvIdUsedInPosition.gal_sv_used_ids_mask; + if (mGnssSvIdUsedInPosAvail) { + svUsedIdMask = mGnssSvIdUsedInPosition.gal_sv_used_ids_mask; + } break; case GNSS_SV_TYPE_QZSS: - svUsedIdMask = mGnssSvIdUsedInPosition.qzss_sv_used_ids_mask; - break; - case GNSS_SV_TYPE_SBAS: + if (mGnssSvIdUsedInPosAvail) { + svUsedIdMask = mGnssSvIdUsedInPosition.qzss_sv_used_ids_mask; + } + // QZSS SV id's need to reported as it is to framework, since + // framework expects it as it is. See GnssStatus.java. + // SV id passed to here by LocApi is 1-based. + svNotify.gnssSvs[i].svId += (QZSS_SV_PRN_MIN - 1); break; default: + svUsedIdMask = 0; break; - } + } - // If SV ID was used in previous position fix, then set USED_IN_FIX - // flag, else clear the USED_IN_FIX flag. - if (svUsedIdMask & (1 << (gnssSvId - 1))) { - svNotify.gnssSvs[i].gnssSvOptionsMask |= GNSS_SV_OPTIONS_USED_IN_FIX_BIT; - } + // If SV ID was used in previous position fix, then set USED_IN_FIX + // flag, else clear the USED_IN_FIX flag. + if (svUsedIdMask & (1 << (gnssSvId - 1))) { + svNotify.gnssSvs[i].gnssSvOptionsMask |= GNSS_SV_OPTIONS_USED_IN_FIX_BIT; } } @@ -2785,16 +2799,12 @@ bool GnssAdapter::getDebugReport(GnssDebugReport& r) } else if(!reports.mBestPosition.empty() && reports.mBestPosition.back().mValid) { r.mLocation.mValid = true; - r.mLocation.mLocation.latitude = - (double)(reports.mBestPosition.back().mBestLat); + r.mLocation.mLocation.latitude = + (double)(reports.mBestPosition.back().mBestLat) * RAD2DEG; r.mLocation.mLocation.longitude = - (double)(reports.mBestPosition.back().mBestLon); - r.mLocation.mLocation.altitude = - reports.mBestPosition.back().mBestAlt; - - r.mLocation.mLocation.timestamp = - reports.mBestPosition.back().mUtcReported.tv_sec * 1000ULL + - reports.mBestPosition.back().mUtcReported.tv_nsec / 1000000ULL; + (double)(reports.mBestPosition.back().mBestLon) * RAD2DEG; + r.mLocation.mLocation.altitude = reports.mBestPosition.back().mBestAlt; + r.mLocation.mUtcReported = reports.mBestPosition.back().mUtcReported; } else { r.mLocation.mValid = false; @@ -2840,5 +2850,4 @@ bool GnssAdapter::getDebugReport(GnssDebugReport& r) LOC_LOGV("getDebugReport - satellite=%lu", r.mSatelliteInfo.size()); return true; -} - +}
\ No newline at end of file |