HLOS implementation for E911 LPPe BT/UBP feature

HLOS implementation for feature - E911 LPPe BT/UBP for
SUPL and LPP CP.

Change-Id: I6ec7a3ff8aaf91383832753af2d0e406938c3884
CRs-Fixed: 1088449
This commit is contained in:
Harikrishnan Hariharan 2016-11-11 00:25:45 +05:30 committed by Baili Feng
parent 06e6d68aee
commit e581b62977
2 changed files with 37 additions and 2 deletions

View file

@ -118,14 +118,18 @@ A_GLONASS_POS_PROTOCOL_SELECT = 0
##################################################
# 0x1: DBH for LPPe CP
# 0x2: WLAN AP Measurements for LPPe CP
LPPE_CP_TECHNOLOGY = 0
# 0x4: SRN AP measurement for CP
# 0x8: Sensor Barometer Measurement LPPe CP
LPPE_CP_TECHNOLOGY = 4
##################################################
# Select technology for LPPe User Plane
##################################################
# 0x1: DBH for LPPe UP
# 0x2: WLAN AP Measurements for LPPe UP
LPPE_UP_TECHNOLOGY = 0
# 0x4: SRN AP measurement for UP
# 0x8: Sensor Barometer Measurement LPPe UP
LPPE_UP_TECHNOLOGY = 4
##################################################
# AGPS_CONFIG_INJECT

View file

@ -480,6 +480,7 @@ enum loc_api_adapter_event_index {
LOC_API_ADAPTER_GNSS_MEASUREMENT, // GNSS Measurement report
LOC_API_ADAPTER_REQUEST_TIMEZONE, // Timezone injection request
LOC_API_ADAPTER_REPORT_GENFENCE_DWELL_REPORT, // Geofence dwell report
LOC_API_ADAPTER_REQUEST_SRN_DATA, // request srn data from AP
LOC_API_ADAPTER_EVENT_MAX
};
@ -512,6 +513,8 @@ enum loc_api_adapter_event_index {
#define LOC_API_ADAPTER_BIT_GNSS_MEASUREMENT (1<<LOC_API_ADAPTER_GNSS_MEASUREMENT)
#define LOC_API_ADAPTER_BIT_REQUEST_TIMEZONE (1<<LOC_API_ADAPTER_REQUEST_TIMEZONE)
#define LOC_API_ADAPTER_BIT_REPORT_GENFENCE_DWELL (1<<LOC_API_ADAPTER_REPORT_GENFENCE_DWELL_REPORT)
#define LOC_API_ADAPTER_BIT_REQUEST_SRN_DATA (1<<LOC_API_ADAPTER_REQUEST_SRN_DATA)
typedef unsigned int LOC_API_ADAPTER_EVENT_MASK_T;
@ -1124,6 +1127,34 @@ typedef struct
uint32_t enhancedIOD; /* Enhanced Reference Time */
} GnssSvPolynomial;
/* Various Short Range Node Technology type*/
typedef enum {
SRN_AP_DATA_TECH_TYPE_NONE,
SRN_AP_DATA_TECH_TYPE_BT,
SRN_AP_DATA_TECH_TYPE_BTLE,
SRN_AP_DATA_TECH_TYPE_NFC,
SRN_AP_DATA_TECH_TYPE_MOBILE_CODE,
SRN_AP_DATA_TECH_TYPE_OTHER
} Gnss_SrnTech;
/* Mac Address type requested by modem */
typedef enum {
SRN_AP_DATA_PUBLIC_MAC_ADDR_TYPE_INVALID, /* No valid mac address type send */
SRN_AP_DATA_PUBLIC_MAC_ADDR_TYPE_PUBLIC, /* SRN AP MAC Address type PUBLIC */
SRN_AP_DATA_PUBLIC_MAC_ADDR_TYPE_PRIVATE, /* SRN AP MAC Address type PRIVATE */
SRN_AP_DATA_PUBLIC_MAC_ADDR_TYPE_OTHER, /* SRN AP MAC Address type OTHER */
}Gnss_Srn_MacAddr_Type;
typedef struct
{
size_t size;
Gnss_SrnTech srnTechType; /* SRN Technology type in request */
bool srnRequest; /* scan - start(true) or stop(false) */
bool e911Mode; /* If in E911 emergency */
Gnss_Srn_MacAddr_Type macAddrType; /* SRN AP MAC Address type */
} GnssSrnDataReq;
#ifdef __cplusplus
}
#endif /* __cplusplus */