Merge "Add support for XTRA_VERSION_CHECK QMI LOC msg"
This commit is contained in:
commit
c28cb324e7
8 changed files with 158 additions and 77 deletions
|
@ -481,4 +481,8 @@ DEFAULT_IMPL(-1)
|
||||||
int LocApiBase::
|
int LocApiBase::
|
||||||
getGpsLock()
|
getGpsLock()
|
||||||
DEFAULT_IMPL(-1)
|
DEFAULT_IMPL(-1)
|
||||||
|
|
||||||
|
enum loc_api_adapter_err LocApiBase::
|
||||||
|
setXtraVersionCheck(enum xtra_version_check check)
|
||||||
|
DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS)
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
|
@ -53,6 +53,13 @@ int decodeAddress(char *addr_string, int string_size,
|
||||||
#define TO_1ST_HANDLING_ADAPTER(adapters, call) \
|
#define TO_1ST_HANDLING_ADAPTER(adapters, call) \
|
||||||
for (int i = 0; i <MAX_ADAPTERS && NULL != (adapters)[i] && !(call); i++);
|
for (int i = 0; i <MAX_ADAPTERS && NULL != (adapters)[i] && !(call); i++);
|
||||||
|
|
||||||
|
enum xtra_version_check {
|
||||||
|
DISABLED,
|
||||||
|
AUTO,
|
||||||
|
XTRA2,
|
||||||
|
XTRA3
|
||||||
|
};
|
||||||
|
|
||||||
class LocAdapterBase;
|
class LocAdapterBase;
|
||||||
struct LocSsrMsg;
|
struct LocSsrMsg;
|
||||||
struct LocOpenMsg;
|
struct LocOpenMsg;
|
||||||
|
@ -217,6 +224,7 @@ public:
|
||||||
-1 on failure
|
-1 on failure
|
||||||
*/
|
*/
|
||||||
virtual int getGpsLock(void);
|
virtual int getGpsLock(void);
|
||||||
|
virtual enum loc_api_adapter_err setXtraVersionCheck(enum xtra_version_check check);
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef LocApiBase* (getLocApi_t)(const MsgTask* msgTask,
|
typedef LocApiBase* (getLocApi_t)(const MsgTask* msgTask,
|
||||||
|
|
|
@ -4,6 +4,13 @@
|
||||||
#XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
|
#XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
|
||||||
#XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
|
#XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
|
||||||
|
|
||||||
|
#Version check for XTRA
|
||||||
|
#DISABLE = 0
|
||||||
|
#AUTO = 1
|
||||||
|
#XTRA2 = 2
|
||||||
|
#XTRA3 = 3
|
||||||
|
XTRA_VERSION_CHECK=0
|
||||||
|
|
||||||
# Error Estimate
|
# Error Estimate
|
||||||
# _SET = 1
|
# _SET = 1
|
||||||
# _CLEAR = 0
|
# _CLEAR = 0
|
||||||
|
|
|
@ -340,3 +340,25 @@ void LocEngAdapter::handleEngineUpEvent()
|
||||||
{
|
{
|
||||||
sendMsg(new LocEngUp(mOwner));
|
sendMsg(new LocEngUp(mOwner));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum loc_api_adapter_err LocEngAdapter::setXtraVersionCheck(int check)
|
||||||
|
{
|
||||||
|
enum loc_api_adapter_err ret;
|
||||||
|
ENTRY_LOG();
|
||||||
|
enum xtra_version_check eCheck;
|
||||||
|
switch (check) {
|
||||||
|
case 0:
|
||||||
|
eCheck = DISABLED;
|
||||||
|
case 1:
|
||||||
|
eCheck = AUTO;
|
||||||
|
case 2:
|
||||||
|
eCheck = XTRA2;
|
||||||
|
case 3:
|
||||||
|
eCheck = XTRA3;
|
||||||
|
defaul:
|
||||||
|
eCheck = DISABLED;
|
||||||
|
}
|
||||||
|
ret = mLocApi->setXtraVersionCheck(eCheck);
|
||||||
|
EXIT_LOG(%d, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
|
@ -256,7 +256,7 @@ public:
|
||||||
{
|
{
|
||||||
return mLocApi->getBestAvailableZppFix(zppLoc, tech_mask);
|
return mLocApi->getBestAvailableZppFix(zppLoc, tech_mask);
|
||||||
}
|
}
|
||||||
|
enum loc_api_adapter_err setXtraVersionCheck(int check);
|
||||||
virtual void handleEngineDownEvent();
|
virtual void handleEngineDownEvent();
|
||||||
virtual void handleEngineUpEvent();
|
virtual void handleEngineUpEvent();
|
||||||
virtual void reportPosition(UlpLocation &location,
|
virtual void reportPosition(UlpLocation &location,
|
||||||
|
@ -325,6 +325,7 @@ public:
|
||||||
{
|
{
|
||||||
return mLocApi->getGpsLock();
|
return mLocApi->getGpsLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //LOC_API_ENG_ADAPTER_H
|
#endif //LOC_API_ENG_ADAPTER_H
|
||||||
|
|
|
@ -118,17 +118,25 @@ static loc_param_s_type loc_parameter_table[] =
|
||||||
{"LPP_PROFILE", &gps_conf.LPP_PROFILE, NULL, 'n'},
|
{"LPP_PROFILE", &gps_conf.LPP_PROFILE, NULL, 'n'},
|
||||||
{"A_GLONASS_POS_PROTOCOL_SELECT", &gps_conf.A_GLONASS_POS_PROTOCOL_SELECT, NULL, 'n'},
|
{"A_GLONASS_POS_PROTOCOL_SELECT", &gps_conf.A_GLONASS_POS_PROTOCOL_SELECT, NULL, 'n'},
|
||||||
{"SENSOR_PROVIDER", &sap_conf.SENSOR_PROVIDER, NULL, 'n'},
|
{"SENSOR_PROVIDER", &sap_conf.SENSOR_PROVIDER, NULL, 'n'},
|
||||||
|
{"XTRA_VERSION_CHECK", &gps_conf.XTRA_VERSION_CHECK, NULL, 'n'},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void loc_default_parameters(void)
|
static void loc_default_parameters(void)
|
||||||
{
|
{
|
||||||
/* defaults */
|
/*Defaults for gps.conf*/
|
||||||
gps_conf.INTERMEDIATE_POS = 0;
|
gps_conf.INTERMEDIATE_POS = 0;
|
||||||
gps_conf.ACCURACY_THRES = 0;
|
gps_conf.ACCURACY_THRES = 0;
|
||||||
gps_conf.NMEA_PROVIDER = 0;
|
gps_conf.NMEA_PROVIDER = 0;
|
||||||
gps_conf.SUPL_VER = 0x10000;
|
gps_conf.SUPL_VER = 0x10000;
|
||||||
gps_conf.CAPABILITIES = 0x7;
|
gps_conf.CAPABILITIES = 0x7;
|
||||||
|
/* LTE Positioning Profile configuration is disable by default*/
|
||||||
|
gps_conf.LPP_PROFILE = 0;
|
||||||
|
/*By default no positioning protocol is selected on A-GLONASS system*/
|
||||||
|
gps_conf.A_GLONASS_POS_PROTOCOL_SELECT = 0;
|
||||||
|
/*XTRA version check is disabled by default*/
|
||||||
|
gps_conf.XTRA_VERSION_CHECK=0;
|
||||||
|
|
||||||
|
/*Defaults for sap.conf*/
|
||||||
sap_conf.GYRO_BIAS_RANDOM_WALK = 0;
|
sap_conf.GYRO_BIAS_RANDOM_WALK = 0;
|
||||||
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC = 2;
|
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC = 2;
|
||||||
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH = 5;
|
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH = 5;
|
||||||
|
@ -141,26 +149,17 @@ static void loc_default_parameters(void)
|
||||||
sap_conf.SENSOR_CONTROL_MODE = 0; /* AUTO */
|
sap_conf.SENSOR_CONTROL_MODE = 0; /* AUTO */
|
||||||
sap_conf.SENSOR_USAGE = 0; /* Enabled */
|
sap_conf.SENSOR_USAGE = 0; /* Enabled */
|
||||||
sap_conf.SENSOR_ALGORITHM_CONFIG_MASK = 0; /* INS Disabled = FALSE*/
|
sap_conf.SENSOR_ALGORITHM_CONFIG_MASK = 0; /* INS Disabled = FALSE*/
|
||||||
|
|
||||||
/* Values MUST be set by OEMs in configuration for sensor-assisted
|
/* Values MUST be set by OEMs in configuration for sensor-assisted
|
||||||
navigation to work. There are NO default values */
|
navigation to work. There are NO default values */
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
||||||
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
||||||
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
||||||
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY = 0;
|
||||||
|
|
||||||
sap_conf.GYRO_BIAS_RANDOM_WALK_VALID = 0;
|
sap_conf.GYRO_BIAS_RANDOM_WALK_VALID = 0;
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
||||||
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
||||||
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
||||||
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID = 0;
|
||||||
|
|
||||||
/* LTE Positioning Profile configuration is disable by default*/
|
|
||||||
gps_conf.LPP_PROFILE = 0;
|
|
||||||
|
|
||||||
/*By default no positioning protocol is selected on A-GLONASS system*/
|
|
||||||
gps_conf.A_GLONASS_POS_PROTOCOL_SELECT = 0;
|
|
||||||
|
|
||||||
/* default provider is SSC */
|
/* default provider is SSC */
|
||||||
sap_conf.SENSOR_PROVIDER = 1;
|
sap_conf.SENSOR_PROVIDER = 1;
|
||||||
}
|
}
|
||||||
|
@ -1576,52 +1575,50 @@ static int loc_eng_reinit(loc_eng_data_s_type &loc_eng_data)
|
||||||
{
|
{
|
||||||
ENTRY_LOG();
|
ENTRY_LOG();
|
||||||
int ret_val = LOC_API_ADAPTER_ERR_SUCCESS;
|
int ret_val = LOC_API_ADAPTER_ERR_SUCCESS;
|
||||||
|
LocEngAdapter* adapter = loc_eng_data.adapter;
|
||||||
|
|
||||||
if (LOC_API_ADAPTER_ERR_SUCCESS == ret_val) {
|
adapter->sendMsg(new LocEngSuplVer(adapter, gps_conf.SUPL_VER));
|
||||||
LOC_LOGD("loc_eng_reinit reinit() successful");
|
adapter->sendMsg(new LocEngLppConfig(adapter, gps_conf.LPP_PROFILE));
|
||||||
|
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));
|
||||||
|
|
||||||
LocEngAdapter* adapter = loc_eng_data.adapter;
|
/* Make sure at least one of the sensor property is specified by the user in the gps.conf file. */
|
||||||
adapter->sendMsg(new LocEngSuplVer(adapter, gps_conf.SUPL_VER));
|
if( sap_conf.GYRO_BIAS_RANDOM_WALK_VALID ||
|
||||||
adapter->sendMsg(new LocEngLppConfig(adapter, gps_conf.LPP_PROFILE));
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
||||||
adapter->sendMsg(new LocEngSensorControlConfig(adapter, sap_conf.SENSOR_USAGE,
|
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
||||||
sap_conf.SENSOR_PROVIDER));
|
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
||||||
adapter->sendMsg(new LocEngAGlonassProtocol(adapter, gps_conf.A_GLONASS_POS_PROTOCOL_SELECT));
|
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID ) {
|
||||||
|
adapter->sendMsg(new LocEngSensorProperties(adapter,
|
||||||
/* Make sure at least one of the sensor property is specified by the user in the gps.conf file. */
|
sap_conf.GYRO_BIAS_RANDOM_WALK_VALID,
|
||||||
if( sap_conf.GYRO_BIAS_RANDOM_WALK_VALID ||
|
sap_conf.GYRO_BIAS_RANDOM_WALK,
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
||||||
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY,
|
||||||
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID ||
|
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
||||||
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID )
|
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY,
|
||||||
{
|
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
||||||
adapter->sendMsg(new LocEngSensorProperties(adapter,
|
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY,
|
||||||
sap_conf.GYRO_BIAS_RANDOM_WALK_VALID,
|
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
||||||
sap_conf.GYRO_BIAS_RANDOM_WALK,
|
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY));
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
|
||||||
sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY,
|
|
||||||
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
|
||||||
sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY,
|
|
||||||
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
|
||||||
sap_conf.RATE_RANDOM_WALK_SPECTRAL_DENSITY,
|
|
||||||
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY_VALID,
|
|
||||||
sap_conf.VELOCITY_RANDOM_WALK_SPECTRAL_DENSITY));
|
|
||||||
}
|
|
||||||
|
|
||||||
adapter->sendMsg(new LocEngSensorPerfControlConfig(adapter,
|
|
||||||
sap_conf.SENSOR_CONTROL_MODE,
|
|
||||||
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH,
|
|
||||||
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC,
|
|
||||||
sap_conf.SENSOR_GYRO_SAMPLES_PER_BATCH,
|
|
||||||
sap_conf.SENSOR_GYRO_BATCHES_PER_SEC,
|
|
||||||
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH,
|
|
||||||
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC_HIGH,
|
|
||||||
sap_conf.SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH,
|
|
||||||
sap_conf.SENSOR_GYRO_BATCHES_PER_SEC_HIGH,
|
|
||||||
sap_conf.SENSOR_ALGORITHM_CONFIG_MASK));
|
|
||||||
|
|
||||||
adapter->sendMsg(new LocEngEnableData(adapter, NULL, 0, (agpsStatus ? 1:0)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adapter->sendMsg(new LocEngSensorPerfControlConfig(adapter,
|
||||||
|
sap_conf.SENSOR_CONTROL_MODE,
|
||||||
|
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH,
|
||||||
|
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC,
|
||||||
|
sap_conf.SENSOR_GYRO_SAMPLES_PER_BATCH,
|
||||||
|
sap_conf.SENSOR_GYRO_BATCHES_PER_SEC,
|
||||||
|
sap_conf.SENSOR_ACCEL_SAMPLES_PER_BATCH_HIGH,
|
||||||
|
sap_conf.SENSOR_ACCEL_BATCHES_PER_SEC_HIGH,
|
||||||
|
sap_conf.SENSOR_GYRO_SAMPLES_PER_BATCH_HIGH,
|
||||||
|
sap_conf.SENSOR_GYRO_BATCHES_PER_SEC_HIGH,
|
||||||
|
sap_conf.SENSOR_ALGORITHM_CONFIG_MASK));
|
||||||
|
|
||||||
|
adapter->sendMsg(new LocEngEnableData(adapter, NULL, 0, (agpsStatus ? 1:0)));
|
||||||
|
|
||||||
|
loc_eng_xtra_version_check(loc_eng_data, gps_conf.XTRA_VERSION_CHECK);
|
||||||
|
|
||||||
|
LOC_LOGD("loc_eng_reinit reinit() successful");
|
||||||
EXIT_LOG(%d, ret_val);
|
EXIT_LOG(%d, ret_val);
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,6 +146,7 @@ typedef struct loc_gps_cfg_s
|
||||||
unsigned long LPP_PROFILE;
|
unsigned long LPP_PROFILE;
|
||||||
uint8_t NMEA_PROVIDER;
|
uint8_t NMEA_PROVIDER;
|
||||||
unsigned long A_GLONASS_POS_PROTOCOL_SELECT;
|
unsigned long A_GLONASS_POS_PROTOCOL_SELECT;
|
||||||
|
unsigned long XTRA_VERSION_CHECK;
|
||||||
} loc_gps_cfg_s_type;
|
} loc_gps_cfg_s_type;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -177,6 +178,7 @@ typedef struct
|
||||||
extern loc_gps_cfg_s_type gps_conf;
|
extern loc_gps_cfg_s_type gps_conf;
|
||||||
extern loc_sap_cfg_s_type sap_conf;
|
extern loc_sap_cfg_s_type sap_conf;
|
||||||
|
|
||||||
|
//loc_eng functions
|
||||||
int loc_eng_init(loc_eng_data_s_type &loc_eng_data,
|
int loc_eng_init(loc_eng_data_s_type &loc_eng_data,
|
||||||
LocCallbacks* callbacks,
|
LocCallbacks* callbacks,
|
||||||
LOC_API_ADAPTER_EVENT_MASK_T event,
|
LOC_API_ADAPTER_EVENT_MASK_T event,
|
||||||
|
@ -196,6 +198,12 @@ int loc_eng_set_position_mode(loc_eng_data_s_type &loc_eng_data,
|
||||||
LocPosMode ¶ms);
|
LocPosMode ¶ms);
|
||||||
const void* loc_eng_get_extension(loc_eng_data_s_type &loc_eng_data,
|
const void* loc_eng_get_extension(loc_eng_data_s_type &loc_eng_data,
|
||||||
const char* name);
|
const char* name);
|
||||||
|
int loc_eng_set_server_proxy(loc_eng_data_s_type &loc_eng_data,
|
||||||
|
LocServerType type, const char *hostname, int port);
|
||||||
|
void loc_eng_mute_one_session(loc_eng_data_s_type &loc_eng_data);
|
||||||
|
int loc_eng_read_config(void);
|
||||||
|
|
||||||
|
//loc_eng_agps functions
|
||||||
void loc_eng_agps_init(loc_eng_data_s_type &loc_eng_data,
|
void loc_eng_agps_init(loc_eng_data_s_type &loc_eng_data,
|
||||||
AGpsExtCallbacks* callbacks);
|
AGpsExtCallbacks* callbacks);
|
||||||
int loc_eng_agps_open(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType,
|
int loc_eng_agps_open(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType,
|
||||||
|
@ -203,28 +211,18 @@ int loc_eng_agps_open(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType,
|
||||||
int loc_eng_agps_closed(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType);
|
int loc_eng_agps_closed(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType);
|
||||||
int loc_eng_agps_open_failed(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType);
|
int loc_eng_agps_open_failed(loc_eng_data_s_type &loc_eng_data, AGpsExtType agpsType);
|
||||||
|
|
||||||
int loc_eng_set_server_proxy(loc_eng_data_s_type &loc_eng_data,
|
|
||||||
LocServerType type, const char *hostname, int port);
|
|
||||||
|
|
||||||
|
|
||||||
void loc_eng_agps_ril_update_network_availability(loc_eng_data_s_type &loc_eng_data,
|
void loc_eng_agps_ril_update_network_availability(loc_eng_data_s_type &loc_eng_data,
|
||||||
int avaiable, const char* apn);
|
int avaiable, const char* apn);
|
||||||
|
|
||||||
|
//loc_eng_xtra functions
|
||||||
bool loc_eng_inject_raw_command(loc_eng_data_s_type &loc_eng_data,
|
int loc_eng_xtra_init (loc_eng_data_s_type &loc_eng_data,
|
||||||
char* command, int length);
|
|
||||||
|
|
||||||
|
|
||||||
void loc_eng_mute_one_session(loc_eng_data_s_type &loc_eng_data);
|
|
||||||
|
|
||||||
int loc_eng_xtra_init (loc_eng_data_s_type &loc_eng_data,
|
|
||||||
GpsXtraExtCallbacks* callbacks);
|
GpsXtraExtCallbacks* callbacks);
|
||||||
|
int loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data,
|
||||||
int loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data,
|
|
||||||
char* data, int length);
|
char* data, int length);
|
||||||
|
int loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data);
|
||||||
|
void loc_eng_xtra_version_check(loc_eng_data_s_type &loc_eng_data, int check);
|
||||||
|
|
||||||
int loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data);
|
//loc_eng_ni functions
|
||||||
|
|
||||||
extern void loc_eng_ni_init(loc_eng_data_s_type &loc_eng_data,
|
extern void loc_eng_ni_init(loc_eng_data_s_type &loc_eng_data,
|
||||||
GpsNiExtCallbacks *callbacks);
|
GpsNiExtCallbacks *callbacks);
|
||||||
extern void loc_eng_ni_respond(loc_eng_data_s_type &loc_eng_data,
|
extern void loc_eng_ni_respond(loc_eng_data_s_type &loc_eng_data,
|
||||||
|
@ -233,8 +231,6 @@ extern void loc_eng_ni_request_handler(loc_eng_data_s_type &loc_eng_data,
|
||||||
const GpsNiNotification *notif,
|
const GpsNiNotification *notif,
|
||||||
const void* passThrough);
|
const void* passThrough);
|
||||||
extern void loc_eng_ni_reset_on_engine_restart(loc_eng_data_s_type &loc_eng_data);
|
extern void loc_eng_ni_reset_on_engine_restart(loc_eng_data_s_type &loc_eng_data);
|
||||||
int loc_eng_read_config(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
|
@ -82,6 +82,25 @@ struct LocEngInjectXtraData : public LocMsg {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct LocEngSetXtraVersionCheck : public LocMsg {
|
||||||
|
LocEngAdapter *mAdapter;
|
||||||
|
int mCheck;
|
||||||
|
inline LocEngSetXtraVersionCheck(LocEngAdapter* adapter,
|
||||||
|
int check):
|
||||||
|
mAdapter(adapter), mCheck(check) {}
|
||||||
|
inline virtual void proc() const {
|
||||||
|
locallog();
|
||||||
|
mAdapter->setXtraVersionCheck(mCheck);
|
||||||
|
}
|
||||||
|
inline void locallog() const {
|
||||||
|
LOC_LOGD("%s:%d]: mCheck: %d",
|
||||||
|
__func__, __LINE__, mCheck);
|
||||||
|
}
|
||||||
|
inline virtual void log() const {
|
||||||
|
locallog();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
FUNCTION loc_eng_xtra_init
|
FUNCTION loc_eng_xtra_init
|
||||||
|
|
||||||
|
@ -103,6 +122,7 @@ int loc_eng_xtra_init (loc_eng_data_s_type &loc_eng_data,
|
||||||
{
|
{
|
||||||
int ret_val = -1;
|
int ret_val = -1;
|
||||||
loc_eng_xtra_data_s_type *xtra_module_data_ptr;
|
loc_eng_xtra_data_s_type *xtra_module_data_ptr;
|
||||||
|
ENTRY_LOG();
|
||||||
|
|
||||||
if(callbacks == NULL) {
|
if(callbacks == NULL) {
|
||||||
LOC_LOGE("loc_eng_xtra_init: failed, cb is NULL");
|
LOC_LOGE("loc_eng_xtra_init: failed, cb is NULL");
|
||||||
|
@ -113,6 +133,7 @@ int loc_eng_xtra_init (loc_eng_data_s_type &loc_eng_data,
|
||||||
|
|
||||||
ret_val = 0;
|
ret_val = 0;
|
||||||
}
|
}
|
||||||
|
EXIT_LOG(%d, ret_val);
|
||||||
return ret_val;
|
return ret_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,8 +147,7 @@ DEPENDENCIES
|
||||||
N/A
|
N/A
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
0: success
|
0
|
||||||
>0: failure
|
|
||||||
|
|
||||||
SIDE EFFECTS
|
SIDE EFFECTS
|
||||||
N/A
|
N/A
|
||||||
|
@ -136,9 +156,10 @@ SIDE EFFECTS
|
||||||
int loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data,
|
int loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data,
|
||||||
char* data, int length)
|
char* data, int length)
|
||||||
{
|
{
|
||||||
|
ENTRY_LOG();
|
||||||
LocEngAdapter* adapter = loc_eng_data.adapter;
|
LocEngAdapter* adapter = loc_eng_data.adapter;
|
||||||
adapter->sendMsg(new LocEngInjectXtraData(adapter, data, length));
|
adapter->sendMsg(new LocEngInjectXtraData(adapter, data, length));
|
||||||
|
EXIT_LOG(%d, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
|
@ -151,7 +172,7 @@ DEPENDENCIES
|
||||||
N/A
|
N/A
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
length of server string
|
0
|
||||||
|
|
||||||
SIDE EFFECTS
|
SIDE EFFECTS
|
||||||
N/A
|
N/A
|
||||||
|
@ -159,9 +180,34 @@ SIDE EFFECTS
|
||||||
===========================================================================*/
|
===========================================================================*/
|
||||||
int loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data)
|
int loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data)
|
||||||
{
|
{
|
||||||
|
ENTRY_LOG();
|
||||||
LocEngAdapter* adapter = loc_eng_data.adapter;
|
LocEngAdapter* adapter = loc_eng_data.adapter;
|
||||||
adapter->sendMsg(new LocEngRequestXtraServer(adapter));
|
adapter->sendMsg(new LocEngRequestXtraServer(adapter));
|
||||||
|
EXIT_LOG(%d, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
/*===========================================================================
|
||||||
|
FUNCTION loc_eng_xtra_version_check
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
Injects the enable/disable value for checking XTRA version
|
||||||
|
that is specified in gps.conf
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
N/A
|
||||||
|
|
||||||
|
RETURN VALUE
|
||||||
|
none
|
||||||
|
|
||||||
|
SIDE EFFECTS
|
||||||
|
N/A
|
||||||
|
|
||||||
|
===========================================================================*/
|
||||||
|
void loc_eng_xtra_version_check(loc_eng_data_s_type &loc_eng_data,
|
||||||
|
int check)
|
||||||
|
{
|
||||||
|
ENTRY_LOG();
|
||||||
|
LocEngAdapter *adapter = loc_eng_data.adapter;
|
||||||
|
adapter->sendMsg(new LocEngSetXtraVersionCheck(adapter, check));
|
||||||
|
EXIT_LOG(%d, 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue