Changes to inject sensor provider info to modem

Changes to inject the sensor provider config info
to modem.

CRs-fixed: 604557

Change-Id: I3875e295f30d863a540efe22d6daf264d8d81476
This commit is contained in:
Hema Iyer Sankaranarayanan 2014-02-13 11:10:26 -08:00
parent 7a08af9585
commit e767a55d87
5 changed files with 19 additions and 10 deletions

View file

@ -404,7 +404,8 @@ enum loc_api_adapter_err LocApiBase::
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
enum loc_api_adapter_err LocApiBase::
setSensorControlConfig(int sensorUsage)
setSensorControlConfig(int sensorUsage,
int sensorProvider)
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
enum loc_api_adapter_err LocApiBase::

View file

@ -158,7 +158,7 @@ public:
virtual enum loc_api_adapter_err
setLPPConfig(uint32_t profile);
virtual enum loc_api_adapter_err
setSensorControlConfig(int sensorUsage);
setSensorControlConfig(int sensorUsage, int sensorProvider);
virtual enum loc_api_adapter_err
setSensorProperties(bool gyroBiasVarianceRandomWalk_valid,
float gyroBiasVarianceRandomWalk,

View file

@ -185,9 +185,9 @@ public:
return mLocApi->setLPPConfig(profile);
}
inline enum loc_api_adapter_err
setSensorControlConfig(int sensorUsage)
setSensorControlConfig(int sensorUsage, int sensorProvider)
{
return mLocApi->setSensorControlConfig(sensorUsage);
return mLocApi->setSensorControlConfig(sensorUsage, sensorProvider);
}
inline enum loc_api_adapter_err
setSensorProperties(bool gyroBiasVarianceRandomWalk_valid, float gyroBiasVarianceRandomWalk,

View file

@ -118,6 +118,7 @@ static loc_param_s_type loc_parameter_table[] =
{"QUIPC_ENABLED", &gps_conf.QUIPC_ENABLED, NULL, 'n'},
{"LPP_PROFILE", &gps_conf.LPP_PROFILE, NULL, 'n'},
{"A_GLONASS_POS_PROTOCOL_SELECT", &gps_conf.A_GLONASS_POS_PROTOCOL_SELECT, NULL, 'n'},
{"SENSOR_PROVIDER", &sap_conf.SENSOR_PROVIDER, NULL, 'n'},
};
static void loc_default_parameters(void)
@ -160,6 +161,9 @@ static void loc_default_parameters(void)
/*By default no positioning protocol is selected on A-GLONASS system*/
gps_conf.A_GLONASS_POS_PROTOCOL_SELECT = 0;
/* default provider is SSC */
sap_conf.SENSOR_PROVIDER = 1;
}
// 2nd half of init(), singled out for
@ -497,18 +501,20 @@ struct LocEngLppConfig : public LocMsg {
struct LocEngSensorControlConfig : public LocMsg {
LocEngAdapter* mAdapter;
const int mSensorsDisabled;
const int mSensorProvider;
inline LocEngSensorControlConfig(LocEngAdapter* adapter,
int sensorsDisabled) :
LocMsg(), mAdapter(adapter), mSensorsDisabled(sensorsDisabled)
int sensorsDisabled, int sensorProvider) :
LocMsg(), mAdapter(adapter), mSensorsDisabled(sensorsDisabled),
mSensorProvider(sensorProvider)
{
locallog();
}
inline virtual void proc() const {
mAdapter->setSensorControlConfig(mSensorsDisabled);
mAdapter->setSensorControlConfig(mSensorsDisabled, mSensorProvider);
}
inline void locallog() const {
LOC_LOGV("LocEngSensorControlConfig - Sensors Disabled: %d",
mSensorsDisabled);
LOC_LOGV("LocEngSensorControlConfig - Sensors Disabled: %d, Sensor Provider: %d",
mSensorsDisabled, mSensorProvider);
}
inline virtual void log() const {
locallog();
@ -1554,7 +1560,8 @@ static int loc_eng_reinit(loc_eng_data_s_type &loc_eng_data)
LocEngAdapter* adapter = loc_eng_data.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));
adapter->sendMsg(new LocEngSensorControlConfig(adapter, sap_conf.SENSOR_USAGE,
sap_conf.SENSOR_PROVIDER));
adapter->sendMsg(new LocEngAGlonassProtocol(adapter, gps_conf.A_GLONASS_POS_PROTOCOL_SELECT));
/* Make sure at least one of the sensor property is specified by the user in the gps.conf file. */

View file

@ -171,6 +171,7 @@ typedef struct
double RATE_RANDOM_WALK_SPECTRAL_DENSITY;
uint8_t VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID;
double VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY;
unsigned long SENSOR_PROVIDER;
} loc_sap_cfg_s_type;
extern loc_gps_cfg_s_type gps_conf;