Use regular ATL callflow for SUPL ES
Added a new gps.conf parameter which can be used to decide whether or not to use data services to bring up call using emergency PDN or use default SUPL PDN Change-Id: I604a1489e66339eb2c27019dafab640f7a15cd84 CRs-fixed: 685639
This commit is contained in:
parent
e3900d7339
commit
a55881f51b
3 changed files with 26 additions and 4 deletions
|
@ -39,6 +39,11 @@ SUPL_VER=0x10000
|
|||
# Emergency SUPL, 1=enable, 0=disable
|
||||
SUPL_ES=1
|
||||
|
||||
#Choose PDN for Emergency SUPL
|
||||
#1 - Use emergency PDN
|
||||
#0 - Use regular SUPL PDN for Emergency SUPL
|
||||
USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1
|
||||
|
||||
# GPS Capabilities bit mask
|
||||
# SCHEDULING = 0x01
|
||||
# MSB = 0x02
|
||||
|
|
|
@ -101,6 +101,7 @@ static loc_param_s_type loc_parameter_table[] =
|
|||
{"NMEA_PROVIDER", &gps_conf.NMEA_PROVIDER, NULL, 'n'},
|
||||
{"SUPL_VER", &gps_conf.SUPL_VER, NULL, 'n'},
|
||||
{"CAPABILITIES", &gps_conf.CAPABILITIES, NULL, 'n'},
|
||||
{"USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL", &gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL, NULL, 'n'},
|
||||
{"GYRO_BIAS_RANDOM_WALK", &sap_conf.GYRO_BIAS_RANDOM_WALK, &sap_conf.GYRO_BIAS_RANDOM_WALK_VALID, 'f'},
|
||||
{"ACCEL_RANDOM_WALK_SPECTRAL_DENSITY", &sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY, &sap_conf.ACCEL_RANDOM_WALK_SPECTRAL_DENSITY_VALID, 'f'},
|
||||
{"ANGLE_RANDOM_WALK_SPECTRAL_DENSITY", &sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY, &sap_conf.ANGLE_RANDOM_WALK_SPECTRAL_DENSITY_VALID, 'f'},
|
||||
|
@ -140,6 +141,8 @@ static void loc_default_parameters(void)
|
|||
gps_conf.A_GLONASS_POS_PROTOCOL_SELECT = 0;
|
||||
/*XTRA version check is disabled by default*/
|
||||
gps_conf.XTRA_VERSION_CHECK=0;
|
||||
/*Use emergency PDN by default*/
|
||||
gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL = 1;
|
||||
|
||||
/*Defaults for sap.conf*/
|
||||
sap_conf.GYRO_BIAS_RANDOM_WALK = 0;
|
||||
|
@ -1104,7 +1107,17 @@ void LocEngRequestSuplEs::proc() const {
|
|||
AgpsStateMachine* sm = locEng->ds_nif;
|
||||
DSSubscriber s(sm, mID);
|
||||
sm->subscribeRsrc((Subscriber*)&s);
|
||||
} else {
|
||||
}
|
||||
else if (locEng->agnss_nif) {
|
||||
AgpsStateMachine *sm = locEng->agnss_nif;
|
||||
ATLSubscriber s(mID,
|
||||
sm,
|
||||
locEng->adapter,
|
||||
false);
|
||||
sm->subscribeRsrc((Subscriber*)&s);
|
||||
LOC_LOGD("%s:%d]: Using regular ATL for SUPL ES", __func__, __LINE__);
|
||||
}
|
||||
else {
|
||||
locEng->adapter->atlOpenStatus(mID, 0, NULL, -1, -1);
|
||||
}
|
||||
}
|
||||
|
@ -2142,8 +2155,9 @@ void loc_eng_agps_init(loc_eng_data_s_type &loc_eng_data, AGpsExtCallbacks* call
|
|||
false);
|
||||
|
||||
if (adapter->mSupportsAgpsRequests) {
|
||||
loc_eng_data.adapter->sendMsg(new LocEngDataClientInit(&loc_eng_data));
|
||||
|
||||
if(gps_conf.USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL) {
|
||||
loc_eng_data.adapter->sendMsg(new LocEngDataClientInit(&loc_eng_data));
|
||||
}
|
||||
loc_eng_dmn_conn_loc_api_server_launch(callbacks->create_thread_cb,
|
||||
NULL, NULL, &loc_eng_data);
|
||||
}
|
||||
|
@ -2175,7 +2189,9 @@ getAgpsStateMachine(loc_eng_data_s_type &locEng, AGpsExtType agpsType) {
|
|||
break;
|
||||
}
|
||||
case AGPS_TYPE_SUPL_ES: {
|
||||
stateMachine = locEng.ds_nif;
|
||||
locEng.ds_nif ?
|
||||
stateMachine = locEng.ds_nif:
|
||||
stateMachine = locEng.agnss_nif;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
@ -152,6 +152,7 @@ typedef struct loc_gps_cfg_s
|
|||
char XTRA_SERVER_1[MAX_XTRA_SERVER_URL_LENGTH];
|
||||
char XTRA_SERVER_2[MAX_XTRA_SERVER_URL_LENGTH];
|
||||
char XTRA_SERVER_3[MAX_XTRA_SERVER_URL_LENGTH];
|
||||
unsigned long USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL;
|
||||
} loc_gps_cfg_s_type;
|
||||
|
||||
typedef struct
|
||||
|
|
Loading…
Reference in a new issue