summaryrefslogtreecommitdiff
path: root/loc_api
diff options
context:
space:
mode:
authorVineeta Srivastava <vsrivastava@google.com>2014-11-11 19:48:50 +0000
committerVineeta Srivastava <vsrivastava@google.com>2014-11-11 19:49:24 +0000
commita8f9a02a2cd44c6074bf331eb244e546018643ab (patch)
treec54442872f7b879c798747496238f938145838b1 /loc_api
parentaf0c0cc82699ddd8d50bf8a2fa60c4bc923a4ebe (diff)
downloadgps-a8f9a02a2cd44c6074bf331eb244e546018643ab.tar.gz
Revert "GNSS measurement"
This reverts commit af0c0cc82699ddd8d50bf8a2fa60c4bc923a4ebe. Bug: 18314406 Change-Id: I41638b8bfb6820c41c70af633f3f6c42efacf71c
Diffstat (limited to 'loc_api')
-rw-r--r--loc_api/libloc_api_50001/LocEngAdapter.cpp33
-rw-r--r--loc_api/libloc_api_50001/LocEngAdapter.h12
-rw-r--r--loc_api/libloc_api_50001/loc.cpp63
-rw-r--r--loc_api/libloc_api_50001/loc_eng.cpp223
-rw-r--r--loc_api/libloc_api_50001/loc_eng.h5
-rw-r--r--loc_api/libloc_api_50001/loc_eng_msg.h10
6 files changed, 15 insertions, 331 deletions
diff --git a/loc_api/libloc_api_50001/LocEngAdapter.cpp b/loc_api/libloc_api_50001/LocEngAdapter.cpp
index 16a150d..184f83d 100644
--- a/loc_api/libloc_api_50001/LocEngAdapter.cpp
+++ b/loc_api/libloc_api_50001/LocEngAdapter.cpp
@@ -345,36 +345,3 @@ void LocEngAdapter::handleEngineUpEvent()
{
sendMsg(new LocEngUp(mOwner));
}
-
-void LocEngAdapter::reportGpsMeasurementData(GpsData &gpsMeasurementData)
-{
- sendMsg(new LocEngReportGpsMeasurement(mOwner,
- gpsMeasurementData));
-}
-
-/*
- Update Registration Mask
- */
-void LocEngAdapter::updateRegistrationMask(LOC_API_ADAPTER_EVENT_MASK_T event,
- loc_registration_mask_status isEnabled)
-{
- LOC_LOGD("entering %s", __func__);
- int result = LOC_API_ADAPTER_ERR_FAILURE;
- result = mLocApi->updateRegistrationMask(event, isEnabled);
- if (result == LOC_API_ADAPTER_ERR_SUCCESS) {
- LOC_LOGD("%s] update registration mask succeed.", __func__);
- } else {
- LOC_LOGE("%s] update registration mask failed.", __func__);
- }
-}
-
-/*
- Set Gnss Constellation Config
- */
-bool LocEngAdapter::gnssConstellationConfig()
-{
- LOC_LOGD("entering %s", __func__);
- bool result = false;
- result = mLocApi->gnssConstellationConfig();
- return result;
-}
diff --git a/loc_api/libloc_api_50001/LocEngAdapter.h b/loc_api/libloc_api_50001/LocEngAdapter.h
index fe5df3c..1a1159d 100644
--- a/loc_api/libloc_api_50001/LocEngAdapter.h
+++ b/loc_api/libloc_api_50001/LocEngAdapter.h
@@ -286,7 +286,6 @@ public:
virtual bool requestSuplES(int connHandle);
virtual bool reportDataCallOpened();
virtual bool reportDataCallClosed();
- virtual void reportGpsMeasurementData(GpsData &gpsMeasurementData);
inline const LocPosMode& getPositionMode() const
{return mFixCriteria;}
@@ -336,17 +335,6 @@ public:
{
return mLocApi->getGpsLock();
}
-
- /*
- Update Registration Mask
- */
- void updateRegistrationMask(LOC_API_ADAPTER_EVENT_MASK_T event,
- loc_registration_mask_status isEnabled);
-
- /*
- Set Gnss Constellation Config
- */
- bool gnssConstellationConfig();
};
#endif //LOC_API_ENG_ADAPTER_H
diff --git a/loc_api/libloc_api_50001/loc.cpp b/loc_api/libloc_api_50001/loc.cpp
index eb11f0b..87a878e 100644
--- a/loc_api/libloc_api_50001/loc.cpp
+++ b/loc_api/libloc_api_50001/loc.cpp
@@ -127,15 +127,6 @@ static const GpsNiInterface sLocEngNiInterface =
// For shutting down MDM in fusion devices
static int mdm_fd = -1;
-static int loc_gps_measurement_init(GpsMeasurementCallbacks* callbacks);
-static void loc_gps_measurement_close();
-
-static const GpsMeasurementInterface sLocEngGpsMeasurementInterface =
-{
- sizeof(GpsMeasurementInterface),
- loc_gps_measurement_init,
- loc_gps_measurement_close
-};
static void loc_agps_ril_init( AGpsRilCallbacks* callbacks );
static void loc_agps_ril_set_ref_location(const AGpsRefLocation *agps_reflocation, size_t sz_struct);
@@ -731,10 +722,6 @@ const void* loc_get_extension(const char* name)
{
ret_val = &sLocEngConfigInterface;
}
- else if (strcmp(name, GPS_MEASUREMENT_INTERFACE) == 0)
- {
- ret_val = &sLocEngGpsMeasurementInterface;
- }
else
{
LOC_LOGE ("get_extension: Invalid interface passed in\n");
@@ -987,56 +974,6 @@ static int loc_xtra_inject_data(char* data, int length)
}
/*===========================================================================
-FUNCTION loc_gps_measurement_init
-
-DESCRIPTION
- This function initializes the gps measurement interface
-
-DEPENDENCIES
- NONE
-
-RETURN VALUE
- None
-
-SIDE EFFECTS
- N/A
-
-===========================================================================*/
-static int loc_gps_measurement_init(GpsMeasurementCallbacks* callbacks)
-{
- ENTRY_LOG();
- int ret_val = loc_eng_gps_measurement_init(loc_afw_data,
- callbacks);
-
- EXIT_LOG(%d, ret_val);
- return ret_val;
-}
-
-/*===========================================================================
-FUNCTION loc_gps_measurement_close
-
-DESCRIPTION
- This function closes the gps measurement interface
-
-DEPENDENCIES
- NONE
-
-RETURN VALUE
- None
-
-SIDE EFFECTS
- N/A
-
-===========================================================================*/
-static void loc_gps_measurement_close()
-{
- ENTRY_LOG();
- loc_eng_gps_measurement_close(loc_afw_data);
-
- EXIT_LOG(%s, VOID_RET);
-}
-
-/*===========================================================================
FUNCTION loc_ni_init
DESCRIPTION
diff --git a/loc_api/libloc_api_50001/loc_eng.cpp b/loc_api/libloc_api_50001/loc_eng.cpp
index 92f7d0e..8bbf8be 100644
--- a/loc_api/libloc_api_50001/loc_eng.cpp
+++ b/loc_api/libloc_api_50001/loc_eng.cpp
@@ -1334,33 +1334,6 @@ struct LocEngEnableData : public LocMsg {
// case LOC_ENG_MSG_INJECT_XTRA_DATA:
// loc_eng_xtra.cpp
-// case LOC_ENG_MSG_SET_CAPABILITIES:
-struct LocEngSetCapabilities : public LocMsg {
- loc_eng_data_s_type* mLocEng;
- inline LocEngSetCapabilities(loc_eng_data_s_type* locEng) :
- LocMsg(), mLocEng(locEng)
- {
- locallog();
- }
- inline virtual void proc() const {
- if (NULL != mLocEng->set_capabilities_cb) {
- LOC_LOGV("calling set_capabilities_cb 0x%x",
- gps_conf.CAPABILITIES);
- mLocEng->set_capabilities_cb(gps_conf.CAPABILITIES);
- } else {
- LOC_LOGV("set_capabilities_cb is NULL.\n");
- }
- }
- inline void locallog() const
- {
- LOC_LOGV("LocEngSetCapabilities");
- }
- inline virtual void log() const
- {
- locallog();
- }
-};
-
// case LOC_ENG_MSG_LOC_INIT:
struct LocEngInit : public LocMsg {
loc_eng_data_s_type* mLocEng;
@@ -1371,8 +1344,6 @@ struct LocEngInit : public LocMsg {
}
inline virtual void proc() const {
loc_eng_reinit(*mLocEng);
- // set the capabilities
- mLocEng->adapter->sendMsg(new LocEngSetCapabilities(mLocEng));
}
inline void locallog() const
{
@@ -1562,99 +1533,6 @@ struct LocEngInstallAGpsCert : public LocMsg {
}
};
-struct LocEngUpdateRegistrationMask : public LocMsg {
- loc_eng_data_s_type* mLocEng;
- LOC_API_ADAPTER_EVENT_MASK_T mMask;
- loc_registration_mask_status mIsEnabled;
- inline LocEngUpdateRegistrationMask(loc_eng_data_s_type* locEng,
- LOC_API_ADAPTER_EVENT_MASK_T mask,
- loc_registration_mask_status isEnabled) :
- LocMsg(), mLocEng(locEng), mMask(mask), mIsEnabled(isEnabled) {
- locallog();
- }
- inline virtual void proc() const {
- loc_eng_data_s_type *locEng = (loc_eng_data_s_type *)mLocEng;
- locEng->adapter->updateRegistrationMask(mMask,
- mIsEnabled);
- }
- void locallog() const {
- LOC_LOGV("LocEngUpdateRegistrationMask\n");
- }
- virtual void log() const {
- locallog();
- }
-};
-
-struct LocEngGnssConstellationConfig : public LocMsg {
- LocEngAdapter* mAdapter;
- inline LocEngGnssConstellationConfig(LocEngAdapter* adapter) :
- LocMsg(), mAdapter(adapter) {
- locallog();
- }
- inline virtual void proc() const {
- if (mAdapter->gnssConstellationConfig()) {
- LOC_LOGV("Modem supports GNSS measurements\n");
- gps_conf.CAPABILITIES |= GPS_CAPABILITY_MEASUREMENTS;
- } else {
- LOC_LOGV("Modem does not support GNSS measurements\n");
- }
- }
- void locallog() const {
- LOC_LOGV("LocEngGnssConstellationConfig\n");
- }
- virtual void log() const {
- locallog();
- }
-};
-
-// case LOC_ENG_MSG_REPORT_GNSS_MEASUREMENT:
-LocEngReportGpsMeasurement::LocEngReportGpsMeasurement(void* locEng,
- GpsData &gpsData) :
- LocMsg(), mLocEng(locEng), mGpsData(gpsData)
-{
- locallog();
-}
-void LocEngReportGpsMeasurement::proc() const {
- loc_eng_data_s_type* locEng = (loc_eng_data_s_type*) mLocEng;
- if (locEng->mute_session_state != LOC_MUTE_SESS_IN_SESSION)
- {
- if (locEng->gps_measurement_cb != NULL) {
- locEng->gps_measurement_cb((GpsData*)&(mGpsData));
- }
- }
-}
-void LocEngReportGpsMeasurement::locallog() const {
- IF_LOC_LOGV {
- LOC_LOGV("%s:%d]: Received in GPS HAL."
- "GNSS Measurements count: %d \n",
- __func__, __LINE__, mGpsData.measurement_count);
- for (int i =0; i< mGpsData.measurement_count && i < GPS_MAX_SVS; i++) {
- LOC_LOGV(" GNSS measurement data in GPS HAL: \n"
- " GPS_HAL => Measurement ID | prn | time_offset_ns | state |"
- " received_gps_tow_ns| c_n0_dbhz | pseudorange_rate_mps |"
- " pseudorange_rate_uncertainty_mps |"
- " accumulated_delta_range_state | flags \n"
- " GPS_HAL => %d | %d | %f | %d | %lld | %f | %f | %f | %d | %d \n",
- i,
- mGpsData.measurements[i].prn,
- mGpsData.measurements[i].time_offset_ns,
- mGpsData.measurements[i].state,
- mGpsData.measurements[i].received_gps_tow_ns,
- mGpsData.measurements[i].c_n0_dbhz,
- mGpsData.measurements[i].pseudorange_rate_mps,
- mGpsData.measurements[i].pseudorange_rate_uncertainty_mps,
- mGpsData.measurements[i].accumulated_delta_range_state,
- mGpsData.measurements[i].flags);
- }
- LOC_LOGV(" GPS_HAL => Clocks Info: type | time_ns \n"
- " GPS_HAL => Clocks Info: %d | %lld", mGpsData.clock.type,
- mGpsData.clock.time_ns);
- }
-}
-inline void LocEngReportGpsMeasurement::log() const {
- locallog();
-}
-
/*********************************************************************
* Initialization checking macros
*********************************************************************/
@@ -1704,6 +1582,10 @@ int loc_eng_init(loc_eng_data_s_type &loc_eng_data, LocCallbacks* callbacks,
memset(&loc_eng_data, 0, sizeof (loc_eng_data));
+ if (NULL != callbacks->set_capabilities_cb) {
+ callbacks->set_capabilities_cb(gps_conf.CAPABILITIES);
+ }
+
// Save callbacks
loc_eng_data.location_cb = callbacks->location_cb;
loc_eng_data.sv_status_cb = callbacks->sv_status_cb;
@@ -1755,7 +1637,6 @@ static int loc_eng_reinit(loc_eng_data_s_type &loc_eng_data)
LOC_LOGD("loc_eng_reinit reinit() successful");
LocEngAdapter* adapter = loc_eng_data.adapter;
- adapter->sendMsg(new LocEngGnssConstellationConfig(adapter));
adapter->sendMsg(new LocEngSuplVer(adapter, gps_conf.SUPL_VER));
adapter->sendMsg(new LocEngLppConfig(adapter, gps_conf.LPP_PROFILE));
adapter->sendMsg(new LocEngSensorControlConfig(adapter, sap_conf.SENSOR_USAGE,
@@ -2687,28 +2568,31 @@ void loc_eng_configuration_update (loc_eng_data_s_type &loc_eng_data,
ENTRY_LOG_CALLFLOW();
if (config_data && length > 0) {
- loc_gps_cfg_s_type gps_conf_tmp = gps_conf;
+ loc_gps_cfg_s_type gps_conf_old = gps_conf;
UTIL_UPDATE_CONF(config_data, length, gps_conf_table);
LocEngAdapter* adapter = loc_eng_data.adapter;
// it is possible that HAL is not init'ed at this time
if (adapter) {
- if (gps_conf_tmp.SUPL_VER != gps_conf.SUPL_VER) {
+ if (gps_conf_old.SUPL_VER != gps_conf.SUPL_VER) {
adapter->sendMsg(new LocEngSuplVer(adapter, gps_conf.SUPL_VER));
}
- if (gps_conf_tmp.LPP_PROFILE != gps_conf.LPP_PROFILE) {
+ if (gps_conf_old.LPP_PROFILE != gps_conf.LPP_PROFILE) {
adapter->sendMsg(new LocEngLppConfig(adapter, gps_conf.LPP_PROFILE));
}
- if (gps_conf_tmp.A_GLONASS_POS_PROTOCOL_SELECT != gps_conf.A_GLONASS_POS_PROTOCOL_SELECT) {
+ if (gps_conf_old.A_GLONASS_POS_PROTOCOL_SELECT != gps_conf.A_GLONASS_POS_PROTOCOL_SELECT) {
adapter->sendMsg(new LocEngAGlonassProtocol(adapter,
gps_conf.A_GLONASS_POS_PROTOCOL_SELECT));
}
+ if (NULL != loc_eng_data.set_capabilities_cb) {
+ gps_conf.CAPABILITIES &= gps_conf_old.CAPABILITIES;
+ if (gps_conf.CAPABILITIES != gps_conf_old.CAPABILITIES) {
+ loc_eng_data.set_capabilities_cb(gps_conf.CAPABILITIES);
+ }
+ }
}
- gps_conf_tmp.SUPL_VER = gps_conf.SUPL_VER;
- gps_conf_tmp.LPP_PROFILE = gps_conf.LPP_PROFILE;
- gps_conf_tmp.A_GLONASS_POS_PROTOCOL_SELECT = gps_conf.A_GLONASS_POS_PROTOCOL_SELECT;
- gps_conf = gps_conf_tmp;
+ gps_conf.CAPABILITIES = gps_conf_old.CAPABILITIES;
}
EXIT_LOG(%s, VOID_RET);
@@ -2918,80 +2802,3 @@ void loc_eng_handle_shutdown(loc_eng_data_s_type &locEng)
locEng.shutdown_cb();
EXIT_LOG(%d, 0);
}
-
-/*===========================================================================
-FUNCTION loc_eng_gps_measurement_init
-
-DESCRIPTION
- Initialize gps measurement module.
-
-DEPENDENCIES
- N/A
-
-RETURN VALUE
- 0: success
-
-SIDE EFFECTS
- N/A
-
-===========================================================================*/
-int loc_eng_gps_measurement_init(loc_eng_data_s_type &loc_eng_data,
- GpsMeasurementCallbacks* callbacks)
-{
- ENTRY_LOG_CALLFLOW();
-
- STATE_CHECK((NULL == loc_eng_data.gps_measurement_cb),
- "gps measurement already initialized",
- return GPS_MEASUREMENT_ERROR_ALREADY_INIT);
- STATE_CHECK((callbacks != NULL),
- "callbacks can not be NULL",
- return GPS_MEASUREMENT_ERROR_GENERIC);
- STATE_CHECK(loc_eng_data.adapter,
- "GpsInterface must be initialized first",
- return GPS_MEASUREMENT_ERROR_GENERIC);
-
- // updated the mask
- LOC_API_ADAPTER_EVENT_MASK_T event = LOC_API_ADAPTER_BIT_GNSS_MEASUREMENT;
- loc_eng_data.adapter->sendMsg(new LocEngUpdateRegistrationMask(
- &loc_eng_data,
- event,
- LOC_REGISTRATION_MASK_ENABLED));
- // set up the callback
- loc_eng_data.gps_measurement_cb = callbacks->measurement_callback;
- LOC_LOGD ("%s, event masks updated successfully", __func__);
-
- return GPS_MEASUREMENT_OPERATION_SUCCESS;
-}
-
-/*===========================================================================
-FUNCTION loc_eng_gps_measurement_close
-
-DESCRIPTION
- Close gps measurement module.
-
-DEPENDENCIES
- N/A
-
-RETURN VALUE
- N/A
-
-SIDE EFFECTS
- N/A
-
-===========================================================================*/
-void loc_eng_gps_measurement_close(loc_eng_data_s_type &loc_eng_data)
-{
- ENTRY_LOG_CALLFLOW();
-
- INIT_CHECK(loc_eng_data.adapter, return);
-
- // updated the mask
- LOC_API_ADAPTER_EVENT_MASK_T event = LOC_API_ADAPTER_BIT_GNSS_MEASUREMENT;
- loc_eng_data.adapter->sendMsg(new LocEngUpdateRegistrationMask(
- &loc_eng_data,
- event,
- LOC_REGISTRATION_MASK_DISABLED));
- // set up the callback
- loc_eng_data.gps_measurement_cb = NULL;
- EXIT_LOG(%d, 0);
-}
diff --git a/loc_api/libloc_api_50001/loc_eng.h b/loc_api/libloc_api_50001/loc_eng.h
index fa3f19b..b3e2bd1 100644
--- a/loc_api/libloc_api_50001/loc_eng.h
+++ b/loc_api/libloc_api_50001/loc_eng.h
@@ -92,7 +92,6 @@ typedef struct loc_eng_data_s
gps_acquire_wakelock acquire_wakelock_cb;
gps_release_wakelock release_wakelock_cb;
gps_request_utc_time request_utc_time_cb;
- gps_measurement_callback gps_measurement_cb;
boolean intermediateFix;
AGpsStatusValue agps_status;
loc_eng_xtra_data_s_type xtra_module_data;
@@ -247,7 +246,6 @@ extern void loc_eng_ni_request_handler(loc_eng_data_s_type &loc_eng_data,
const GpsNiNotification *notif,
const void* passThrough);
extern void loc_eng_ni_reset_on_engine_restart(loc_eng_data_s_type &loc_eng_data);
-
int loc_eng_read_config(void);
int loc_eng_agps_install_certificates(loc_eng_data_s_type &loc_eng_data,
@@ -256,9 +254,6 @@ int loc_eng_agps_install_certificates(loc_eng_data_s_type &loc_eng_data,
void loc_eng_configuration_update (loc_eng_data_s_type &loc_eng_data,
const char* config_data, int32_t length);
-int loc_eng_gps_measurement_init(loc_eng_data_s_type &loc_eng_data,
- GpsMeasurementCallbacks* callbacks);
-void loc_eng_gps_measurement_close(loc_eng_data_s_type &loc_eng_data);
#ifdef __cplusplus
}
diff --git a/loc_api/libloc_api_50001/loc_eng_msg.h b/loc_api/libloc_api_50001/loc_eng_msg.h
index e3c48fb..b767dc5 100644
--- a/loc_api/libloc_api_50001/loc_eng_msg.h
+++ b/loc_api/libloc_api_50001/loc_eng_msg.h
@@ -289,16 +289,6 @@ struct LocEngGetZpp : public LocMsg {
void send() const;
};
-struct LocEngReportGpsMeasurement : public LocMsg {
- void* mLocEng;
- const GpsData mGpsData;
- LocEngReportGpsMeasurement(void* locEng,
- GpsData &gpsData);
- virtual void proc() const;
- void locallog() const;
- virtual void log() const;
-};
-
struct LocEngShutdown : public LocMsg {
LocEngAdapter* mAdapter;
LocEngShutdown(LocEngAdapter* adapter);