From bb1d7ec1a28bd83fc580ef8bbcf545f7277c3bab Mon Sep 17 00:00:00 2001 From: Harikrishnan Hariharan Date: Sun, 13 Aug 2017 01:39:36 +0530 Subject: [PATCH] Passing correct LPPe parameters Passing correct LPPe parameters to modem for SRN AP measurement and Sensor Baro measurements. Change-Id: Id56f9bf050df82444a8698cad7cda85b4e9fbe78 CRs-Fixed: 2092158 --- gnss/GnssAdapter.cpp | 24 ++++++++++++++++++++++++ location/LocationAPI.h | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp index 6c9e212b..810ee4d0 100644 --- a/gnss/GnssAdapter.cpp +++ b/gnss/GnssAdapter.cpp @@ -342,6 +342,12 @@ GnssAdapter::convertLppeCp(const GnssConfigLppeControlPlaneMask lppeControlPlane if (GNSS_CONFIG_LPPE_CONTROL_PLANE_WLAN_AP_MEASUREMENTS_BIT & lppeControlPlaneMask) { mask |= (1<<1); } + if (GNSS_CONFIG_LPPE_CONTROL_PLANE_SRN_AP_MEASUREMENTS_BIT & lppeControlPlaneMask) { + mask |= (1<<2); + } + if (GNSS_CONFIG_LPPE_CONTROL_PLANE_SENSOR_BARO_MEASUREMENTS_BIT & lppeControlPlaneMask) { + mask |= (1<<3); + } return mask; } @@ -355,6 +361,12 @@ GnssAdapter::convertLppeCp(const uint32_t lppeControlPlaneMask) if ((1<<1) & lppeControlPlaneMask) { mask |= GNSS_CONFIG_LPPE_CONTROL_PLANE_WLAN_AP_MEASUREMENTS_BIT; } + if ((1<<2) & lppeControlPlaneMask) { + mask |= GNSS_CONFIG_LPPE_CONTROL_PLANE_SRN_AP_MEASUREMENTS_BIT; + } + if ((1<<3) & lppeControlPlaneMask) { + mask |= GNSS_CONFIG_LPPE_CONTROL_PLANE_SENSOR_BARO_MEASUREMENTS_BIT; + } return mask; } @@ -369,6 +381,12 @@ GnssAdapter::convertLppeUp(const GnssConfigLppeUserPlaneMask lppeUserPlaneMask) if (GNSS_CONFIG_LPPE_USER_PLANE_WLAN_AP_MEASUREMENTS_BIT & lppeUserPlaneMask) { mask |= (1<<1); } + if (GNSS_CONFIG_LPPE_USER_PLANE_SRN_AP_MEASUREMENTS_BIT & lppeUserPlaneMask) { + mask |= (1<<2); + } + if (GNSS_CONFIG_LPPE_USER_PLANE_SENSOR_BARO_MEASUREMENTS_BIT & lppeUserPlaneMask) { + mask |= (1<<3); + } return mask; } @@ -382,6 +400,12 @@ GnssAdapter::convertLppeUp(const uint32_t lppeUserPlaneMask) if ((1<<1) & lppeUserPlaneMask) { mask |= GNSS_CONFIG_LPPE_USER_PLANE_WLAN_AP_MEASUREMENTS_BIT; } + if ((1<<2) & lppeUserPlaneMask) { + mask |= GNSS_CONFIG_LPPE_USER_PLANE_SRN_AP_MEASUREMENTS_BIT; + } + if ((1<<3) & lppeUserPlaneMask) { + mask |= GNSS_CONFIG_LPPE_USER_PLANE_SENSOR_BARO_MEASUREMENTS_BIT; + } return mask; } diff --git a/location/LocationAPI.h b/location/LocationAPI.h index bc519273..f5cc75af 100644 --- a/location/LocationAPI.h +++ b/location/LocationAPI.h @@ -177,6 +177,9 @@ typedef uint16_t GnssConfigLppeControlPlaneMask; typedef enum { GNSS_CONFIG_LPPE_CONTROL_PLANE_DBH_BIT = (1<<0), // DBH GNSS_CONFIG_LPPE_CONTROL_PLANE_WLAN_AP_MEASUREMENTS_BIT = (1<<1), // WLAN_AP_MEASUREMENTS + GNSS_CONFIG_LPPE_CONTROL_PLANE_SRN_AP_MEASUREMENTS_BIT = (1<<2), // SRN_AP_MEASUREMENTS + GNSS_CONFIG_LPPE_CONTROL_PLANE_SENSOR_BARO_MEASUREMENTS_BIT = (1<<3), + // SENSOR_BARO_MEASUREMENTS } GnssConfigLppeControlPlaneBits; // Technology for LPPe User Plane @@ -184,6 +187,9 @@ typedef uint16_t GnssConfigLppeUserPlaneMask; typedef enum { GNSS_CONFIG_LPPE_USER_PLANE_DBH_BIT = (1<<0), // DBH GNSS_CONFIG_LPPE_USER_PLANE_WLAN_AP_MEASUREMENTS_BIT = (1<<1), // WLAN_AP_MEASUREMENTS + GNSS_CONFIG_LPPE_USER_PLANE_SRN_AP_MEASUREMENTS_BIT = (1<<2), // SRN_AP_MEASUREMENTS + GNSS_CONFIG_LPPE_USER_PLANE_SENSOR_BARO_MEASUREMENTS_BIT = (1<<3), + // SENSOR_BARO_MEASUREMENTS } GnssConfigLppeUserPlaneBits; // Positioning Protocol on A-GLONASS system