Merge sc-qpr1-dev-plus-aosp-without-vendor@7810918
Bug: 205056467
Merged-In: I074cceba05c05c61c1e118d639684010faabecfc
Change-Id: Id0a35797d5016e3fb3f8d58a75ff84a55eb413e7
diff --git a/utils/loc_nmea.cpp b/utils/loc_nmea.cpp
index 6b5e60e..3cd31cd 100644
--- a/utils/loc_nmea.cpp
+++ b/utils/loc_nmea.cpp
@@ -940,7 +940,7 @@
int lengthRemaining = bufSize;
int length = 0;
int datum_type;
- char ref_datum[4] = {0};
+ char ref_datum[4] = {'W', '8', '4', '\0'};
char local_datum[4] = {0};
double lla_offset[3] = {0};
char latHem, longHem;
@@ -951,21 +951,15 @@
datum_type = loc_get_datum_type();
switch (datum_type) {
case LOC_GNSS_DATUM_WGS84:
- ref_datum[0] = 'W';
- ref_datum[1] = '8';
- ref_datum[2] = '4';
- local_datum[0] = 'P';
- local_datum[1] = '9';
- local_datum[2] = '0';
- break;
- case LOC_GNSS_DATUM_PZ90:
- ref_datum[0] = 'P';
- ref_datum[1] = '9';
- ref_datum[2] = '0';
local_datum[0] = 'W';
local_datum[1] = '8';
local_datum[2] = '4';
break;
+ case LOC_GNSS_DATUM_PZ90:
+ local_datum[0] = 'P';
+ local_datum[1] = '9';
+ local_datum[2] = '0';
+ break;
default:
break;
}
@@ -985,7 +979,7 @@
lla_offset[1] -= 360.0;
}
lla_offset[2] = local_lla.alt - ref_lla.alt;
- if (lla_offset[0] > 0.0) {
+ if (lla_offset[0] >= 0.0) {
latHem = 'N';
} else {
latHem = 'S';
@@ -1565,23 +1559,21 @@
convert_WGS84_to_PZ90(ecef_w84, ecef_p90);
convert_Ecef_to_Lla(ecef_p90, lla_p90);
+ ref_lla.lat = location.gpsLocation.latitude;
+ ref_lla.lon = location.gpsLocation.longitude;
+ ref_lla.alt = location.gpsLocation.altitude;
+
switch (datum_type) {
case LOC_GNSS_DATUM_WGS84:
- ref_lla.lat = location.gpsLocation.latitude;
- ref_lla.lon = location.gpsLocation.longitude;
- ref_lla.alt = location.gpsLocation.altitude;
- local_lla.lat = lla_p90.lat / M_PI * 180.0;
- local_lla.lon = lla_p90.lon / M_PI * 180.0;
- local_lla.alt = lla_p90.alt;
- break;
- case LOC_GNSS_DATUM_PZ90:
- ref_lla.lat = lla_p90.lat / M_PI * 180.0;
- ref_lla.lon = lla_p90.lon / M_PI * 180.0;
- ref_lla.alt = lla_p90.alt;
local_lla.lat = location.gpsLocation.latitude;
local_lla.lon = location.gpsLocation.longitude;
local_lla.alt = location.gpsLocation.altitude;
break;
+ case LOC_GNSS_DATUM_PZ90:
+ local_lla.lat = lla_p90.lat / M_PI * 180.0;
+ local_lla.lon = lla_p90.lon / M_PI * 180.0;
+ local_lla.alt = lla_p90.alt;
+ break;
default:
break;
}