Loc api v02 support for QMI_LOC rev 2.17

changes to suuport pedometer and motion data control API

Change-Id: I56c87adaa1f717c76bf1ff6eb2d195c92acbd38d
This commit is contained in:
Nitin Singh 2012-11-01 14:34:36 -07:00
parent 353911d007
commit 5f45c04c89
5 changed files with 11780 additions and 10970 deletions

View file

@ -159,7 +159,17 @@ static locClientEventIndTableStructT locClientEventIndTable[]= {
//Geofence Breach event
{ QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_IND_V02,
sizeof(qmiLocEventGeofenceBreachIndMsgT_v02),
QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION_V02}
QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION_V02},
//Pedometer Control event
{ QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02,
sizeof(qmiLocEventPedometerControlIndMsgT_v02),
QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL_V02 },
//Motion Data Control event
{ QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02,
sizeof(qmiLocEventMotionDataControlIndMsgT_v02),
QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL_V02 }
};
/* table to relate the respInd Id with its size */
@ -384,7 +394,7 @@ static locClientRespIndTableStructT locClientRespIndTable[]= {
//Inject GSM Cell Info
{ QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02,
sizeof(qmiLocInjectNetworkInitiatedMessageIndMsgT_v02)},
sizeof(qmiLocInjectGSMCellInfoIndMsgT_v02)},
//Inject Network Initiated Message
{ QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02,
@ -392,7 +402,11 @@ static locClientRespIndTableStructT locClientRespIndTable[]= {
//WWAN Out of Service Notification
{ QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02,
sizeof(qmiLocWWANOutOfServiceNotificationIndMsgT_v02)}
sizeof(qmiLocWWANOutOfServiceNotificationIndMsgT_v02)},
//Pedomete Report
{ QMI_LOC_PEDOMETER_REPORT_IND_V02,
sizeof(qmiLocPedometerReportIndMsgT_v02)}
};
@ -824,6 +838,20 @@ static bool locClientHandleIndication(
break;
}
case QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02 :
{
//locClientHandlePedometerControlInd(user_handle, msg_id, ind_buf, ind_buf_len);
status = true;
break;
}
case QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02:
{
//locClientHandleMotionDataControlInd(user_handle, msg_id, ind_buf, ind_buf_len);
status = true;
break;
}
//-------------------------------------------------------------------------
// handle the response indications
@ -995,6 +1023,12 @@ static bool locClientHandleIndication(
break;
}
case QMI_LOC_PEDOMETER_REPORT_IND_V02:
{
status = true;
break;
}
// for indications that only have a "status" field
case QMI_LOC_NI_USER_RESPONSE_IND_V02:
case QMI_LOC_INJECT_UTC_TIME_IND_V02:
@ -1534,6 +1568,7 @@ static bool validateRequest(
*pOutLen = sizeof(qmiLocGetBestAvailablePositionReqMsgT_v02);
break;
}
case QMI_LOC_INJECT_MOTION_DATA_REQ_V02:
{
*pOutLen = sizeof(qmiLocInjectMotionDataReqMsgT_v02);
@ -1558,6 +1593,11 @@ static bool validateRequest(
break;
}
case QMI_LOC_PEDOMETER_REPORT_REQ_V02:
{
*pOutLen = sizeof(qmiLocPedometerReportReqMsgT_v02);
break;
}
// ALL requests with no payload
case QMI_LOC_GET_SERVICE_REVISION_REQ_V02:

View file

@ -600,6 +600,16 @@ typedef union
QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02 */
const void *pWWANOutOfServiceNotificationReq;
const qmiLocPedometerReportReqMsgT_v02 *pPedometerReportReq;
/**< Send pedometer data to the location engine. If the request is
accepted by the service, the client receives the following
indication containing a response:
QMI_LOC_PEDOMETER_REPORT_IND_V02
To send this request, set the reqId field in locClientSendReq() to
QMI_LOC_PEDOMETER_REPORT_REQ_V02 */
}locClientReqUnionType;
@ -750,6 +760,18 @@ typedef union
The eventIndId field in the event indication callback is set to
QMI_LOC_EVENT_GEOFENCE_BREACH_NOTIFICATION_IND_V02. @newpagetable */
const qmiLocEventPedometerControlIndMsgT_v02* pPedometerControlEvent;
/**< Sent by the engine to recommend how pedometer data is sent to the
location engine.
The eventIndId field in the event indication callback is set to
QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02. @newpagetable */
const qmiLocEventMotionDataControlIndMsgT_v02* pMotionDataControlEvent;
/**< Sent by the engine to recommend how motion data is sent to the
location engine.
The eventIndId field in the event indication callback is set to
QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02. @newpagetable */
}locClientEventIndUnionType;
@ -1124,6 +1146,12 @@ typedef union
The respIndId field in the response indication callback is set to
QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02. */
const qmiLocPedometerReportIndMsgT_v02* pPedometerReportInd;
/**< Response to the QMI_LOC_PEDOMETER_REPORT_REQ_V02 request.
The respIndId field in the response indication callback is set to
QMI_LOC_PEDOMETER_REPORT_IND_V02. */
}locClientRespIndUnionType;
/** @} */ /* end_addtogroup data_types */

View file

@ -209,6 +209,26 @@ static loc_name_val_s_type loc_v02_event_name[] =
NAME_VAL(QMI_LOC_GET_BEST_AVAILABLE_POSITION_REQ_V02),
NAME_VAL(QMI_LOC_GET_BEST_AVAILABLE_POSITION_RESP_V02),
NAME_VAL(QMI_LOC_GET_BEST_AVAILABLE_POSITION_IND_V02),
NAME_VAL(QMI_LOC_INJECT_MOTION_DATA_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_MOTION_DATA_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_MOTION_DATA_IND_V02),
NAME_VAL(QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02),
NAME_VAL(QMI_LOC_GET_NI_GEOFENCE_ID_LIST_RESP_V02),
NAME_VAL(QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02),
NAME_VAL(QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_GSM_CELL_INFO_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02),
NAME_VAL(QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02),
NAME_VAL(QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_RESP_V02),
NAME_VAL(QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02),
NAME_VAL(QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02),
NAME_VAL(QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_RESP_V02),
NAME_VAL(QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02),
NAME_VAL(QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02),
NAME_VAL(QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_REQ_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_RESP_V02),
NAME_VAL(QMI_LOC_PEDOMETER_REPORT_IND_V02)
};
static int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type);

View file

@ -26,20 +26,12 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
L O C A T I O N _ S E R V I C E _ V 0 2 . C
GENERAL DESCRIPTION
This is the file which defines the loc service Data structures.
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
*THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
/* This file was generated with Tool version 5.5
It was generated on: Thu Sep 27 2012
/* This file was generated with Tool version 5.6
It was generated on: Fri Oct 26 2012
From IDL File: location_service_v02.idl */
#include "stdint.h"
@ -620,6 +612,39 @@ static const uint8_t qmiLocGSMCellIdStructT_data_v02[] = {
QMI_IDL_FLAG_END_VALUE
};
static const uint8_t qmiLocEmergencyNotificationStructT_data_v02[] = {
QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN |QMI_IDL_STRING,
QMI_IDL_OFFSET8(qmiLocEmergencyNotificationStructT_v02, eslpUrl),
QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02,
QMI_IDL_FLAG_END_VALUE
};
static const uint8_t qmiLocSensorTemperatureSampleStructT_data_v02[] = {
QMI_IDL_GENERIC_2_BYTE,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleStructT_v02, timeOffset),
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleStructT_v02, temperature),
QMI_IDL_FLAG_END_VALUE
};
static const uint8_t qmiLocSensorTemperatureSampleListStructT_data_v02[] = {
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, timeSource),
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, timeOfFirstSample),
QMI_IDL_FLAGS_IS_ARRAY | QMI_IDL_FLAGS_IS_VARIABLE_LEN | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData),
QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02,
QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData) - QMI_IDL_OFFSET8(qmiLocSensorTemperatureSampleListStructT_v02, temperatureData_len),
36, 0,
QMI_IDL_FLAG_END_VALUE
};
/*Message Definitions*/
static const uint8_t qmiLocGenRespMsgT_data_v02[] = {
QMI_IDL_TLV_FLAGS_LAST_TLV | 0x02,
@ -888,11 +913,17 @@ static const uint8_t qmiLocEventNiNotifyVerifyReqIndMsgT_data_v02[] = {
QMI_IDL_OFFSET16ARRAY(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiVxServiceInteractionInd),
14, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiSuplVer2ExtInd) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiSuplVer2ExtInd_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiSuplVer2ExtInd) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiSuplVer2ExtInd_valid)),
0x14,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, NiSuplVer2ExtInd),
15, 0
15, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, suplEmergencyNotification) - QMI_IDL_OFFSET16RELATIVE(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, suplEmergencyNotification_valid)),
0x15,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocEventNiNotifyVerifyReqIndMsgT_v02, suplEmergencyNotification),
35, 0
};
static const uint8_t qmiLocEventInjectTimeReqIndMsgT_data_v02[] = {
@ -969,10 +1000,22 @@ static const uint8_t qmiLocEventSensorStreamingReadyStatusIndMsgT_data_v02[] = {
QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, accelReady),
21, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroReady) - QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroReady_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroReady) - QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroReady_valid)),
0x11,
QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroReady),
21, 0,
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, accelTemperatureReady) - QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, accelTemperatureReady_valid)),
0x12,
QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, accelTemperatureReady),
21, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroTemperatureReady) - QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroTemperatureReady_valid)),
0x13,
QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET8(qmiLocEventSensorStreamingReadyStatusIndMsgT_v02, gyroTemperatureReady),
21, 0
};
@ -1134,11 +1177,17 @@ static const uint8_t qmiLocNiUserRespReqMsgT_data_v02[] = {
QMI_IDL_OFFSET16ARRAY(qmiLocNiUserRespReqMsgT_v02, NiVxServiceInteractionPayload),
14, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, NiSuplVer2ExtPayload) - QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, NiSuplVer2ExtPayload_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, NiSuplVer2ExtPayload) - QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, NiSuplVer2ExtPayload_valid)),
0x14,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocNiUserRespReqMsgT_v02, NiSuplVer2ExtPayload),
15, 0
15, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, suplEmergencyNotification) - QMI_IDL_OFFSET16RELATIVE(qmiLocNiUserRespReqMsgT_v02, suplEmergencyNotification_valid)),
0x15,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocNiUserRespReqMsgT_v02, suplEmergencyNotification),
35, 0
};
static const uint8_t qmiLocNiUserRespIndMsgT_data_v02[] = {
@ -1689,11 +1738,33 @@ static const uint8_t qmiLocInjectSensorDataReqMsgT_data_v02[] = {
QMI_IDL_OFFSET8(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelData),
30, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData_valid)),
0x12,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroData),
30, 0
30, 0,
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelDataTimeSource) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelDataTimeSource_valid)),
0x13,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, threeAxisAccelDataTimeSource),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroDataTimeSource) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroDataTimeSource_valid)),
0x14,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, threeAxisGyroDataTimeSource),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, accelTemperatureData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, accelTemperatureData_valid)),
0x15,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, accelTemperatureData),
37, 0,
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData) - QMI_IDL_OFFSET16RELATIVE(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData_valid)),
0x16,
QMI_IDL_FLAGS_OFFSET_IS_16 | QMI_IDL_AGGREGATE,
QMI_IDL_OFFSET16ARRAY(qmiLocInjectSensorDataReqMsgT_v02, gyroTemperatureData),
37, 0
};
static const uint8_t qmiLocInjectSensorDataIndMsgT_data_v02[] = {
@ -1711,10 +1782,20 @@ static const uint8_t qmiLocInjectSensorDataIndMsgT_data_v02[] = {
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisAccelSamplesAccepted),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted) - QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted) - QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted_valid)),
0x12,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted)
QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, threeAxisGyroSamplesAccepted),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, accelTemperatureSamplesAccepted) - QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, accelTemperatureSamplesAccepted_valid)),
0x13,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, accelTemperatureSamplesAccepted),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, gyroTemperatureSamplesAccepted) - QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, gyroTemperatureSamplesAccepted_valid)),
0x14,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocInjectSensorDataIndMsgT_v02, gyroTemperatureSamplesAccepted)
};
static const uint8_t qmiLocInjectTimeSyncDataReqMsgT_data_v02[] = {
@ -1852,10 +1933,25 @@ static const uint8_t qmiLocSetProtocolConfigParametersReqMsgT_data_v02[] = {
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, lppConfig),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask) - QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask) - QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask_valid)),
0x14,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask)
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, assistedGlonassProtocolMask),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplHashAlgo) - QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplHashAlgo_valid)),
0x15,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplHashAlgo),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplTlsVersion) - QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplTlsVersion_valid)),
0x16,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, suplTlsVersion),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, emergencyProtocol) - QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, emergencyProtocol_valid)),
0x17,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocSetProtocolConfigParametersReqMsgT_v02, emergencyProtocol)
};
static const uint8_t qmiLocSetProtocolConfigParametersIndMsgT_data_v02[] = {
@ -1900,10 +1996,25 @@ static const uint8_t qmiLocGetProtocolConfigParametersIndMsgT_data_v02[] = {
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, lppConfig),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask) - QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask_valid)),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask) - QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask_valid)),
0x14,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask)
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, assistedGlonassProtocolMask),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplHashAlgo) - QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplHashAlgo_valid)),
0x15,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplHashAlgo),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplTlsVersion) - QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplTlsVersion_valid)),
0x16,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, suplTlsVersion),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, emergencyProtocol) - QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, emergencyProtocol_valid)),
0x17,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocGetProtocolConfigParametersIndMsgT_v02, emergencyProtocol)
};
static const uint8_t qmiLocSetSensorControlConfigReqMsgT_data_v02[] = {
@ -2600,6 +2711,67 @@ static const uint8_t qmiLocWWANOutOfServiceNotificationIndMsgT_data_v02[] = {
QMI_IDL_OFFSET8(qmiLocWWANOutOfServiceNotificationIndMsgT_v02, status)
};
static const uint8_t qmiLocEventPedometerControlIndMsgT_data_v02[] = {
0x01,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, requestPedometerData),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, resetStepCount) - QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, resetStepCount_valid)),
0x10,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, resetStepCount),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, stepCountThreshold) - QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, stepCountThreshold_valid)),
0x11,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocEventPedometerControlIndMsgT_v02, stepCountThreshold)
};
static const uint8_t qmiLocEventMotionDataControlIndMsgT_data_v02[] = {
QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocEventMotionDataControlIndMsgT_v02, requestMotionData)
};
static const uint8_t qmiLocPedometerReportReqMsgT_data_v02[] = {
0x01,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, timeSource),
0x02,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, timestamp),
0x03,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, timeInterval),
0x04,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepCount),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepConfidence) - QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepConfidence_valid)),
0x10,
QMI_IDL_GENERIC_1_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepConfidence),
QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepCountUncertainty) - QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepCountUncertainty_valid)),
0x11,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepCountUncertainty),
QMI_IDL_TLV_FLAGS_LAST_TLV | QMI_IDL_TLV_FLAGS_OPTIONAL | (QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepRate) - QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepRate_valid)),
0x12,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportReqMsgT_v02, stepRate)
};
static const uint8_t qmiLocPedometerReportIndMsgT_data_v02[] = {
QMI_IDL_TLV_FLAGS_LAST_TLV | 0x01,
QMI_IDL_GENERIC_4_BYTE,
QMI_IDL_OFFSET8(qmiLocPedometerReportIndMsgT_v02, status)
};
/* Type Table */
static const qmi_idl_type_table_entry loc_type_table_v02[] = {
{sizeof(qmiLocApplicationIdStructT_v02), qmiLocApplicationIdStructT_data_v02},
@ -2636,7 +2808,10 @@ static const qmi_idl_type_table_entry loc_type_table_v02[] = {
{sizeof(qmiLocApnProfilesStructT_v02), qmiLocApnProfilesStructT_data_v02},
{sizeof(qmiLocCircularGeofenceArgsStructT_v02), qmiLocCircularGeofenceArgsStructT_data_v02},
{sizeof(qmiLocMotionDataStructT_v02), qmiLocMotionDataStructT_data_v02},
{sizeof(qmiLocGSMCellIdStructT_v02), qmiLocGSMCellIdStructT_data_v02}
{sizeof(qmiLocGSMCellIdStructT_v02), qmiLocGSMCellIdStructT_data_v02},
{sizeof(qmiLocEmergencyNotificationStructT_v02), qmiLocEmergencyNotificationStructT_data_v02},
{sizeof(qmiLocSensorTemperatureSampleStructT_v02), qmiLocSensorTemperatureSampleStructT_data_v02},
{sizeof(qmiLocSensorTemperatureSampleListStructT_v02), qmiLocSensorTemperatureSampleListStructT_data_v02}
};
/* Message Table */
@ -2774,7 +2949,11 @@ static const qmi_idl_message_table_entry loc_message_table_v02[] = {
{sizeof(qmiLocInjectNetworkInitiatedMessageReqMsgT_v02), qmiLocInjectNetworkInitiatedMessageReqMsgT_data_v02},
{sizeof(qmiLocInjectNetworkInitiatedMessageIndMsgT_v02), qmiLocInjectNetworkInitiatedMessageIndMsgT_data_v02},
{0, 0},
{sizeof(qmiLocWWANOutOfServiceNotificationIndMsgT_v02), qmiLocWWANOutOfServiceNotificationIndMsgT_data_v02}
{sizeof(qmiLocWWANOutOfServiceNotificationIndMsgT_v02), qmiLocWWANOutOfServiceNotificationIndMsgT_data_v02},
{sizeof(qmiLocEventPedometerControlIndMsgT_v02), qmiLocEventPedometerControlIndMsgT_data_v02},
{sizeof(qmiLocEventMotionDataControlIndMsgT_v02), qmiLocEventMotionDataControlIndMsgT_data_v02},
{sizeof(qmiLocPedometerReportReqMsgT_v02), qmiLocPedometerReportReqMsgT_data_v02},
{sizeof(qmiLocPedometerReportIndMsgT_v02), qmiLocPedometerReportIndMsgT_data_v02}
};
/* Predefine the Type Table Object */
@ -2802,7 +2981,7 @@ static const qmi_idl_service_message_table_entry loc_service_command_messages_v0
{QMI_LOC_STOP_REQ_V02, TYPE16(0, 4), 4},
{QMI_LOC_GET_SERVICE_REVISION_REQ_V02, TYPE16(0, 22), 0},
{QMI_LOC_GET_FIX_CRITERIA_REQ_V02, TYPE16(0, 24), 0},
{QMI_LOC_NI_USER_RESPONSE_REQ_V02, TYPE16(0, 26), 1086},
{QMI_LOC_NI_USER_RESPONSE_REQ_V02, TYPE16(0, 26), 1345},
{QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02, TYPE16(0, 28), 1053},
{QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02, TYPE16(0, 30), 0},
{QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02, TYPE16(0, 32), 0},
@ -2827,14 +3006,14 @@ static const qmi_idl_service_message_table_entry loc_service_command_messages_v0
{QMI_LOC_SET_OPERATION_MODE_REQ_V02, TYPE16(0, 70), 7},
{QMI_LOC_GET_OPERATION_MODE_REQ_V02, TYPE16(0, 72), 0},
{QMI_LOC_SET_SPI_STATUS_REQ_V02, TYPE16(0, 74), 8},
{QMI_LOC_INJECT_SENSOR_DATA_REQ_V02, TYPE16(0, 76), 1425},
{QMI_LOC_INJECT_SENSOR_DATA_REQ_V02, TYPE16(0, 76), 2063},
{QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02, TYPE16(0, 78), 21},
{QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02, TYPE16(0, 82), 11},
{QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02, TYPE16(0, 80), 0},
{QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02, TYPE16(0, 86), 7},
{QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02, TYPE16(0, 84), 0},
{QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02, TYPE16(0, 88), 129},
{QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, TYPE16(0, 90), 32},
{QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, TYPE16(0, 90), 53},
{QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02, TYPE16(0, 92), 11},
{QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02, TYPE16(0, 94), 7},
{QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02, TYPE16(0, 96), 0},
@ -2855,7 +3034,8 @@ static const qmi_idl_service_message_table_entry loc_service_command_messages_v0
{QMI_LOC_GET_NI_GEOFENCE_ID_LIST_REQ_V02, TYPE16(0, 126), 7},
{QMI_LOC_INJECT_GSM_CELL_INFO_REQ_V02, TYPE16(0, 128), 23},
{QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_REQ_V02, TYPE16(0, 130), 1036},
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02, TYPE16(0, 132), 0}
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02, TYPE16(0, 132), 0},
{QMI_LOC_PEDOMETER_REPORT_REQ_V02, TYPE16(0, 136), 46}
};
static const qmi_idl_service_message_table_entry loc_service_response_messages_v02[] = {
@ -2918,21 +3098,22 @@ static const qmi_idl_service_message_table_entry loc_service_response_messages_v
{QMI_LOC_GET_NI_GEOFENCE_ID_LIST_RESP_V02, TYPE16(0, 0), 7},
{QMI_LOC_INJECT_GSM_CELL_INFO_RESP_V02, TYPE16(0, 0), 7},
{QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_RESP_V02, TYPE16(0, 0), 7},
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_RESP_V02, TYPE16(0, 0), 7}
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_RESP_V02, TYPE16(0, 0), 7},
{QMI_LOC_PEDOMETER_REPORT_RESP_V02, TYPE16(0, 0), 7}
};
static const qmi_idl_service_message_table_entry loc_service_indication_messages_v02[] = {
{QMI_LOC_EVENT_POSITION_REPORT_IND_V02, TYPE16(0, 5), 388},
{QMI_LOC_EVENT_GNSS_SV_INFO_IND_V02, TYPE16(0, 6), 2248},
{QMI_LOC_EVENT_NMEA_IND_V02, TYPE16(0, 7), 203},
{QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_IND_V02, TYPE16(0, 8), 1079},
{QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_IND_V02, TYPE16(0, 8), 1338},
{QMI_LOC_EVENT_INJECT_TIME_REQ_IND_V02, TYPE16(0, 9), 776},
{QMI_LOC_EVENT_INJECT_PREDICTED_ORBITS_REQ_IND_V02, TYPE16(0, 10), 783},
{QMI_LOC_EVENT_INJECT_POSITION_REQ_IND_V02, TYPE16(0, 11), 40},
{QMI_LOC_EVENT_ENGINE_STATE_IND_V02, TYPE16(0, 12), 7},
{QMI_LOC_EVENT_FIX_SESSION_STATE_IND_V02, TYPE16(0, 13), 11},
{QMI_LOC_EVENT_WIFI_REQ_IND_V02, TYPE16(0, 14), 12},
{QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_IND_V02, TYPE16(0, 15), 16},
{QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_IND_V02, TYPE16(0, 15), 32},
{QMI_LOC_EVENT_TIME_SYNC_REQ_IND_V02, TYPE16(0, 16), 7},
{QMI_LOC_EVENT_SET_SPI_STREAMING_REPORT_IND_V02, TYPE16(0, 17), 4},
{QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02, TYPE16(0, 18), 21},
@ -2963,7 +3144,7 @@ static const qmi_idl_service_message_table_entry loc_service_indication_messages
{QMI_LOC_SET_OPERATION_MODE_IND_V02, TYPE16(0, 71), 7},
{QMI_LOC_GET_OPERATION_MODE_IND_V02, TYPE16(0, 73), 14},
{QMI_LOC_SET_SPI_STATUS_IND_V02, TYPE16(0, 75), 7},
{QMI_LOC_INJECT_SENSOR_DATA_IND_V02, TYPE16(0, 77), 22},
{QMI_LOC_INJECT_SENSOR_DATA_IND_V02, TYPE16(0, 77), 30},
{QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02, TYPE16(0, 79), 7},
{QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02, TYPE16(0, 83), 7},
{QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02, TYPE16(0, 81), 18},
@ -2971,7 +3152,7 @@ static const qmi_idl_service_message_table_entry loc_service_indication_messages
{QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02, TYPE16(0, 85), 14},
{QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02, TYPE16(0, 89), 7},
{QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, TYPE16(0, 91), 18},
{QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, TYPE16(0, 93), 39},
{QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02, TYPE16(0, 93), 60},
{QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02, TYPE16(0, 95), 7},
{QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02, TYPE16(0, 97), 14},
{QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02, TYPE16(0, 99), 14},
@ -2994,7 +3175,10 @@ static const qmi_idl_service_message_table_entry loc_service_indication_messages
{QMI_LOC_GET_NI_GEOFENCE_ID_LIST_IND_V02, TYPE16(0, 127), 82},
{QMI_LOC_INJECT_GSM_CELL_INFO_IND_V02, TYPE16(0, 129), 7},
{QMI_LOC_INJECT_NETWORK_INITIATED_MESSAGE_IND_V02, TYPE16(0, 131), 7},
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02, TYPE16(0, 133), 7}
{QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02, TYPE16(0, 133), 7},
{QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02, TYPE16(0, 134), 15},
{QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02, TYPE16(0, 135), 4},
{QMI_LOC_PEDOMETER_REPORT_IND_V02, TYPE16(0, 137), 7}
};
/*Service Object*/
@ -3008,7 +3192,7 @@ struct qmi_idl_service_object loc_qmi_idl_service_object_v02 = {
sizeof(loc_service_indication_messages_v02)/sizeof(qmi_idl_service_message_table_entry) },
{ loc_service_command_messages_v02, loc_service_response_messages_v02, loc_service_indication_messages_v02},
&loc_qmi_idl_type_table_object_v02,
0x10,
0x11,
NULL
};

View file

@ -25,6 +25,7 @@
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef LOC_SERVICE_H
#define LOC_SERVICE_H
/**
@ -58,12 +59,13 @@
elements in the array will be accessed.
*/
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
*THIS IS AN AUTO GENERATED FILE. DO NOT ALTER IN ANY WAY
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
/* This file was generated with Tool version 5.5
It was generated on: Thu Sep 27 2012
/* This file was generated with Tool version 5.6
It was generated on: Fri Oct 26 2012
From IDL File: location_service_v02.idl */
/** @defgroup loc_qmi_consts Constant values defined in the IDL */
@ -89,11 +91,11 @@ extern "C" {
/** Major Version Number of the IDL used to generate this file */
#define LOC_V02_IDL_MAJOR_VERS 0x02
/** Revision Number of the IDL used to generate this file */
#define LOC_V02_IDL_MINOR_VERS 0x10
#define LOC_V02_IDL_MINOR_VERS 0x11
/** Major Version Number of the qmi_idl_compiler used to generate this file */
#define LOC_V02_IDL_TOOL_VERS 0x05
/** Maximum Defined Message ID */
#define LOC_V02_MAX_MESSAGE_ID 0x006C;
#define LOC_V02_MAX_MESSAGE_ID 0x006F;
/**
@}
*/
@ -272,6 +274,12 @@ typedef uint64_t qmiLocEventRegMaskT_v02;
#define QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION_V02 ((qmiLocEventRegMaskT_v02)0x00010000ull) /**< The control point must enable this mask to receive notifications when
a Geofence is breached. These events are generated when the UE enters
or leaves the perimeter of a Geofence. */
#define QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL_V02 ((qmiLocEventRegMaskT_v02)0x00020000ull) /**< The control point must enable this mask to register for Pedometer
control requests from the location engine. Location engine sends
this event out to control the injection of pedometer reports. */
#define QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL_V02 ((qmiLocEventRegMaskT_v02)0x00040000ull) /**< The control point must enable this mask to register for motion data
control requests from the location engine. Location engine sends
this event out to control the injection of motion data. */
/** @addtogroup loc_qmi_messages
@{
*/
@ -284,25 +292,54 @@ typedef struct {
qmiLocEventRegMaskT_v02 eventRegMask;
/**< Specifies the events that the control point is interested in receiving.
Refer to the definition of the following bitmasks:
\vspace{0.05in} \begin{itemize1}
\item 0x00000001 -- POSITION_REPORT
\item 0x00000002 -- GNSS_SV_INFO
\item 0x00000004 -- NMEA
\item 0x00000008 -- NI_NOTIFY_VERIFY_REQ
\item 0x00000010 -- INJECT_TIME_REQ
\item 0x00000020 -- INJECT_PREDICTED_ORBITS_REQ
\item 0x00000040 -- INJECT_POSITION_REQ
\item 0x00000080 -- ENGINE_STATE
\item 0x00000100 -- FIX_SESSION_STATE
\item 0x00000200 -- WIFI_REQ
\item 0x00000400 -- SENSOR_STREAMING_READY_STATUS
\item 0x00000800 -- TIME_SYNC_REQ
\item 0x00001000 -- SET_SPI_STREAMING_REPORT
\item 0x00002000 -- LOCATION_SERVER_CONNECTION_REQ
\item 0x00004000 -- NI_GEOFENCE_NOTIFICATION
\item 0x00008000 -- GEOFENCE_GEN_ALERT
\item 0x00010000 -- GEOFENCE_BREACH_NOTIFICATION
\end{itemize1} \vspace{0.05in}
- QMI_LOC_EVENT_MASK_POSITION_REPORT (0x00000001) -- The control point must enable this mask to receive position report
event indications.
- QMI_LOC_EVENT_MASK_GNSS_SV_INFO (0x00000002) -- The control point must enable this mask to receive satellite report
event indications. These reports are sent at a 1 Hz rate.
- QMI_LOC_EVENT_MASK_NMEA (0x00000004) -- The control point must enable this mask to receive NMEA reports for
position and satellites in view. The report is at a 1 Hz rate.
- QMI_LOC_EVENT_MASK_NI_NOTIFY_VERIFY_REQ (0x00000008) -- The control point must enable this mask to receive NI notify verify request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_TIME_REQ (0x00000010) -- The control point must enable this mask to receive time injection request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_PREDICTED_ORBITS_REQ (0x00000020) -- The control point must enable this mask to receive predicted orbits request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_POSITION_REQ (0x00000040) -- The control point must enable this mask to receive position injection request
event indications.
- QMI_LOC_EVENT_MASK_ENGINE_STATE (0x00000080) -- The control point must enable this mask to receive engine state report
event indications.
- QMI_LOC_EVENT_MASK_FIX_SESSION_STATE (0x00000100) -- The control point must enable this mask to receive fix session status report
event indications.
- QMI_LOC_EVENT_MASK_WIFI_REQ (0x00000200) -- The control point must enable this mask to receive WiFi position request
event indications.
- QMI_LOC_EVENT_MASK_SENSOR_STREAMING_READY_STATUS (0x00000400) -- The control point must enable this mask to receive notifications from the
GPS engine indicating its readiness to accept data from the
sensors (accelerometer, gyroscope, etc.).
- QMI_LOC_EVENT_MASK_TIME_SYNC_REQ (0x00000800) -- The control point must enable this mask to receive time-sync requests
from the GPS engine. Time sync enables the GPS engine to synchronize
its clock with the sensor processor's clock.
- QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT (0x00001000) -- The control point must enable this mask to receive Stationary Position
Indicator (SPI) streaming report indications.
- QMI_LOC_EVENT_MASK_LOCATION_SERVER_CONNECTION_REQ (0x00002000) -- The control point must enable this mask to receive location server
requests. These requests are generated when the service wishes to
establish a connection with a location server.
- QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION (0x00004000) -- The control point must enable this mask to receive notifications
related to network-initiated Geofences. These events notify the client
when a network-initiated Geofence is added, deleted, or edited.
- QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT (0x00008000) -- The control point must enable this mask to receive Geofence alerts.
These alerts are generated to inform the client of the changes that may
affect Geofence, e.g., if GPS is turned off or if the network is
unavailable.
- QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION (0x00010000) -- The control point must enable this mask to receive notifications when
a Geofence is breached. These events are generated when the UE enters
or leaves the perimeter of a Geofence.
- QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL (0x00020000) -- The control point must enable this mask to register for Pedometer
control requests from the location engine. Location engine sends
this event out to control the injection of pedometer reports.
- QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL (0x00040000) -- The control point must enable this mask to register for motion data
control requests from the location engine. Location engine sends
this event out to control the injection of motion data.
Multiple events can be registered by ORing the individual masks and
sending them in this TLV. All unused bits in this mask must be set to 0.
*/
@ -609,6 +646,8 @@ typedef enum {
eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING_V02 = 11, /**< Time is set by the sleep time tag provided by the WCDMA network */
eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING_V02 = 12, /**< Time is set by the sleep time tag provided by the GSM network */
eQMI_LOC_TIME_SRC_UNKNOWN_V02 = 13, /**< Source of the time is unknown */
eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK_V02 = 14, /**< Time is derived from system clock (better known as slow clock).
GNSS time is maintained irrespective of the GNSS receiver state */
QMILOCTIMESOURCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocTimeSourceEnumT_v02;
/**
@ -881,19 +920,27 @@ typedef struct {
/* Time Source */
uint8_t timeSrc_valid; /**< Must be set to true if timeSrc is being passed */
qmiLocTimeSourceEnumT_v02 timeSrc;
/**< Time source.
Valid values: \begin{itemize1}
\item 0x00000000 -- TIME_SRC_INVALID
\item 0x00000001 -- TIME_SRC_NETWORK_TIME_TRANSFER
\item 0x00000002 -- TIME_SRC_NETWORK_TIME_TAGGING
\item 0x00000003 -- TIME_SRC_EXTERNAL_INPUT
\item 0x00000004 -- TIME_SRC_TOW_DECODE
\item 0x00000005 -- TIME_SRC_TOW_CONFIRMED
\item 0x00000006 -- TIME_SRC_TOW_AND_WEEK_CONFIRMED
\item 0x00000007 -- TIME_SRC_NAV_SOLUTION
\item 0x00000008 -- TIME_SRC_SOLVE_FOR_TIME
\vspace{-0.18in} \end{itemize1} */
/**< Time source. Valid values: \n
- eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time.
- eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1x system.
- eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (i.e.,
associating network time with GPS time).
- eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection.
- eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data
from one GPS satellite.
- eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data
from multiple satellites.
- eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known.
- eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained.
- eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT.
This is done when the clock time uncertainty is large.
- eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites
- eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time
- eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network
- eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network
- eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown
- eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from system clock (better known as slow clock).
GNSS time is maintained irrespective of the GNSS receiver state */
/* Optional */
/* Sensor Data Usage */
@ -1871,6 +1918,19 @@ typedef struct {
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
typedef struct {
char eslpUrl[QMI_LOC_MAX_SERVER_ADDR_LENGTH_V02 + 1];
/**< The ESLP URL
Maximum length: 255 bytes */
}qmiLocEmergencyNotificationStructT_v02; /* Type */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
@ -1922,6 +1982,14 @@ typedef struct {
/**< \n Optional NI SUPL Version 2 Extension payload. When present,
this payload is to be used in conjunction with the SUPL
indication payload. */
/* Optional */
/* SUPL Emergency Notification */
uint8_t suplEmergencyNotification_valid; /**< Must be set to true if suplEmergencyNotification is being passed */
qmiLocEmergencyNotificationStructT_v02 suplEmergencyNotification;
/**< This specifies that the corresponding NI notification is an
emergency notification. Emergency notification
can be given even without an ESLP address */
}qmiLocEventNiNotifyVerifyReqIndMsgT_v02; /* Message */
/**
@}
@ -2277,6 +2345,22 @@ typedef struct {
/**< \n Whether the GNSS location engine is ready to accept gyroscope sensor
data.
*/
/* Optional */
/* Accelerometer Temperature Accept Ready */
uint8_t accelTemperatureReady_valid; /**< Must be set to true if accelTemperatureReady is being passed */
qmiLocSensorReadyStatusStructT_v02 accelTemperatureReady;
/**< \n Whether the GNSS location engine is ready to accept accelerometer
temperature data.
*/
/* Optional */
/* Gyroscope Temperature Accept Ready */
uint8_t gyroTemperatureReady_valid; /**< Must be set to true if gyroTemperatureReady is being passed */
qmiLocSensorReadyStatusStructT_v02 gyroTemperatureReady;
/**< \n Whether the GNSS location engine is ready to accept gyroscope
temperature data.
*/
}qmiLocEventSensorStreamingReadyStatusIndMsgT_v02; /* Message */
/**
@}
@ -2653,6 +2737,73 @@ typedef struct {
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Recommends how pedometer reports should be
sent to the location engine */
typedef struct {
/* Mandatory */
/* Request Pedometer Data */
uint8_t requestPedometerData;
/**< \n Whether GNSS location engine is requesting the client to
send pedometer data.
\begin{itemize1}
\item 0x01 (TRUE) -- GNSS location engine is requesting
pedometer data
\item 0x00 (FALSE) -- GNSS location engine is not requesting
pedometer data
\vspace{-0.18in} \end{itemize1}
*/
/* Optional */
/* Reset Step Count */
uint8_t resetStepCount_valid; /**< Must be set to true if resetStepCount is being passed */
uint8_t resetStepCount;
/**< Whether location engine desires the step count to be reset.
\begin{itemize1}
\item 0x01 (TRUE) -- Pedometer step count should be reset.
\item 0x00 (FALSE) -- Pedometer step count should not be reset.
\vspace{-0.18in} \end{itemize1} */
/* Optional */
/* Step Count Threshold */
uint8_t stepCountThreshold_valid; /**< Must be set to true if stepCountThreshold is being passed */
uint32_t stepCountThreshold;
/**< Specifies the number of steps to be sampled in a pedometer report
as recommended by the the location engine. If the threshold is set to 0
then the location engine desires a pedometer report at every step event.
*/
}qmiLocEventPedometerControlIndMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Recommends how motion data reports should be
sent to the location engine */
typedef struct {
/* Mandatory */
/* Request Motion Data */
uint8_t requestMotionData;
/**< \n Whether GNSS location engine is requesting the client to
send motion data.
\begin{itemize1}
\item 0x01 (TRUE) -- GNSS location engine is requesting
motion data
\item 0x00 (FALSE) -- GNSS location engine is not requesting
motion data
\vspace{-0.18in} \end{itemize1}
*/
}qmiLocEventMotionDataControlIndMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_enums
@{
*/
@ -2906,6 +3057,13 @@ typedef struct {
uint8_t NiSuplVer2ExtPayload_valid; /**< Must be set to true if NiSuplVer2ExtPayload is being passed */
qmiLocNiSuplVer2ExtStructT_v02 NiSuplVer2ExtPayload;
/**< \n Optional SUPL Version 2 Extension payload. */
/* Optional */
/* SUPL Emergency Notification */
uint8_t suplEmergencyNotification_valid; /**< Must be set to true if suplEmergencyNotification is being passed */
qmiLocEmergencyNotificationStructT_v02 suplEmergencyNotification;
/**< SUPL Emergency notification payload. Emergency notification
can be given even without an ESLP address */
}qmiLocNiUserRespReqMsgT_v02; /* Message */
/**
@}
@ -4648,23 +4806,54 @@ typedef struct {
uint8_t eventRegMask_valid; /**< Must be set to true if eventRegMask is being passed */
qmiLocEventRegMaskT_v02 eventRegMask;
/**< Event registration mask.
Valid bitmasks: \begin{itemize1}
\item 0x00000001 -- POSITION_REPORT
\item 0x00000002 -- GNSS_SV_INFO
\item 0x00000004 -- NMEA
\item 0x00000008 -- NI_NOTIFY_VERIFY_REQ
\item 0x00000010 -- INJECT_TIME_REQ
\item 0x00000020 -- INJECT_PREDICTED_ORBITS_REQ
\item 0x00000040 -- INJECT_POSITION_REQ
\item 0x00000080 -- ENGINE_STATE
\item 0x00000100 -- FIX_SESSION_STATE
\item 0x00000200 -- WIFI_REQ
\item 0x00000400 -- SENSOR_STREAMING_READY_STATUS
\item 0x00000800 -- TIME_SYNC_REQ
\item 0x00001000 -- SET_SPI_STREAMING_REPORT
\item 0x00002000 -- LOCATION_SERVER_CONNECTION_REQ
\vspace{-0.18in} \end{itemize1}
Valid bitmasks: \n
- QMI_LOC_EVENT_MASK_POSITION_REPORT (0x00000001) -- The control point must enable this mask to receive position report
event indications.
- QMI_LOC_EVENT_MASK_GNSS_SV_INFO (0x00000002) -- The control point must enable this mask to receive satellite report
event indications. These reports are sent at a 1 Hz rate.
- QMI_LOC_EVENT_MASK_NMEA (0x00000004) -- The control point must enable this mask to receive NMEA reports for
position and satellites in view. The report is at a 1 Hz rate.
- QMI_LOC_EVENT_MASK_NI_NOTIFY_VERIFY_REQ (0x00000008) -- The control point must enable this mask to receive NI notify verify request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_TIME_REQ (0x00000010) -- The control point must enable this mask to receive time injection request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_PREDICTED_ORBITS_REQ (0x00000020) -- The control point must enable this mask to receive predicted orbits request
event indications.
- QMI_LOC_EVENT_MASK_INJECT_POSITION_REQ (0x00000040) -- The control point must enable this mask to receive position injection request
event indications.
- QMI_LOC_EVENT_MASK_ENGINE_STATE (0x00000080) -- The control point must enable this mask to receive engine state report
event indications.
- QMI_LOC_EVENT_MASK_FIX_SESSION_STATE (0x00000100) -- The control point must enable this mask to receive fix session status report
event indications.
- QMI_LOC_EVENT_MASK_WIFI_REQ (0x00000200) -- The control point must enable this mask to receive WiFi position request
event indications.
- QMI_LOC_EVENT_MASK_SENSOR_STREAMING_READY_STATUS (0x00000400) -- The control point must enable this mask to receive notifications from the
GPS engine indicating its readiness to accept data from the
sensors (accelerometer, gyroscope, etc.).
- QMI_LOC_EVENT_MASK_TIME_SYNC_REQ (0x00000800) -- The control point must enable this mask to receive time-sync requests
from the GPS engine. Time sync enables the GPS engine to synchronize
its clock with the sensor processor's clock.
- QMI_LOC_EVENT_MASK_SET_SPI_STREAMING_REPORT (0x00001000) -- The control point must enable this mask to receive Stationary Position
Indicator (SPI) streaming report indications.
- QMI_LOC_EVENT_MASK_LOCATION_SERVER_CONNECTION_REQ (0x00002000) -- The control point must enable this mask to receive location server
requests. These requests are generated when the service wishes to
establish a connection with a location server.
- QMI_LOC_EVENT_MASK_NI_GEOFENCE_NOTIFICATION (0x00004000) -- The control point must enable this mask to receive notifications
related to network-initiated Geofences. These events notify the client
when a network-initiated Geofence is added, deleted, or edited.
- QMI_LOC_EVENT_MASK_GEOFENCE_GEN_ALERT (0x00008000) -- The control point must enable this mask to receive Geofence alerts.
These alerts are generated to inform the client of the changes that may
affect Geofence, e.g., if GPS is turned off or if the network is
unavailable.
- QMI_LOC_EVENT_MASK_GEOFENCE_BREACH_NOTIFICATION (0x00010000) -- The control point must enable this mask to receive notifications when
a Geofence is breached. These events are generated when the UE enters
or leaves the perimeter of a Geofence.
- QMI_LOC_EVENT_MASK_PEDOMETER_CONTROL (0x00020000) -- The control point must enable this mask to register for Pedometer
control requests from the location engine. Location engine sends
this event out to control the injection of pedometer reports.
- QMI_LOC_EVENT_MASK_MOTION_DATA_CONTROL (0x00040000) -- The control point must enable this mask to register for motion data
control requests from the location engine. Location engine sends
this event out to control the injection of motion data.
*/
}qmiLocGetRegisteredEventsIndMsgT_v02; /* Message */
/**
@ -4850,9 +5039,23 @@ typedef struct {
typedef uint8_t qmiLocSensorDataFlagMaskT_v02;
#define QMI_LOC_SENSOR_DATA_FLAG_SIGN_REVERSAL_V02 ((qmiLocSensorDataFlagMaskT_v02)0x01) /**< Bitmask to specify that a sign reversal is required while interpreting
the sensor data. */
the sensor data. Only applies to the accelerometer samples. */
#define QMI_LOC_SENSOR_DATA_FLAG_SENSOR_TIME_IS_MODEM_TIME_V02 ((qmiLocSensorDataFlagMaskT_v02)0x02) /**< Bitmask to specify that the sensor time stamp is the same as the modem
time stamp. */
/** @addtogroup loc_qmi_enums
@{
*/
typedef enum {
QMILOCSENSORDATATIMESOURCEENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED_V02 = 0, /**< The sensor time source is unspecified */
eQMI_LOC_SENSOR_TIME_SOURCE_COMMON_V02 = 1, /**< The time source is common between the sensors and
the location engine */
QMILOCSENSORDATATIMESOURCEENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocSensorDataTimeSourceEnumT_v02;
/**
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
@ -4860,7 +5063,7 @@ typedef struct {
uint16_t timeOffset;
/**< Sample time offset. This time offset must be
relative to the sensor time of the first sample.\n
relative to the timestamp of the first sensor data sample.\n
- Units: Milliseconds */
float xAxis;
@ -4888,8 +5091,9 @@ typedef struct {
typedef struct {
uint32_t timeOfFirstSample;
/**< Denotes a full 32-bit time tag of the first (oldest) sample in this
message. \n
/**< Denotes a full 32-bit timestamp of the first (oldest) sample in this
message.The timestamp is in the time reference scale that is
used by the sensor time source.\n
- Units: Milliseconds */
qmiLocSensorDataFlagMaskT_v02 flags;
@ -4910,6 +5114,57 @@ typedef struct {
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
typedef struct {
uint16_t timeOffset;
/**< Sample time offset. This time offset must be
relative to the timestamp of the first sensor sample.\n
- Type: Unsigned integer \n
- Units: Milliseconds */
float temperature;
/**< Sensor temperature. \n
- Type: Floating point \n
- Units: Degree Celsius \n
- Range: -50 to +100.00 Degree Celsius */
}qmiLocSensorTemperatureSampleStructT_v02; /* Type */
/**
@}
*/
/** @addtogroup loc_qmi_aggregates
@{
*/
typedef struct {
qmiLocSensorDataTimeSourceEnumT_v02 timeSource;
/**< Denotes the time source of the sensor data. Location service will use
this field to identify the time reference used in the
sensor data timestamps. Values :\n
- eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- The sensor time source is unspecified
- eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- The time source is common between the sensors and
the location engine
*/
uint32_t timeOfFirstSample;
/**< Denotes a full 32-bit timestamp of the first (oldest) sample in this
message. The timestamp is in the time reference scale that is
used by the sensor time source.\n
- Type: Unsigned integer \n
- Units: Milliseconds */
uint32_t temperatureData_len; /**< Must be set to # of elements in temperatureData */
qmiLocSensorTemperatureSampleStructT_v02 temperatureData[QMI_LOC_SENSOR_DATA_MAX_SAMPLES_V02];
/**< Variable length array to specify sensor temperature samples. \n
- Maximum length of the array: 50 */
}qmiLocSensorTemperatureSampleListStructT_v02; /* Type */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
@ -4936,6 +5191,46 @@ typedef struct {
uint8_t threeAxisGyroData_valid; /**< Must be set to true if threeAxisGyroData is being passed */
qmiLoc3AxisSensorSampleListStructT_v02 threeAxisGyroData;
/**< \n Gyroscope sensor samples. */
/* Optional */
/* 3-Axis Accelerometer Data Time Source */
uint8_t threeAxisAccelDataTimeSource_valid; /**< Must be set to true if threeAxisAccelDataTimeSource is being passed */
qmiLocSensorDataTimeSourceEnumT_v02 threeAxisAccelDataTimeSource;
/**< Time source for the 3-axis accelerometer data. Location service will use
this field to identify the time reference used in the accelerometer data
timestamps. If not specified the location service will assume that the
time source for the accelereometer data is unknown. Values: \n
- eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- The sensor time source is unspecified
- eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- The time source is common between the sensors and
the location engine
*/
/* Optional */
/* 3-Axis Gyroscope Data Time Source */
uint8_t threeAxisGyroDataTimeSource_valid; /**< Must be set to true if threeAxisGyroDataTimeSource is being passed */
qmiLocSensorDataTimeSourceEnumT_v02 threeAxisGyroDataTimeSource;
/**< Time source for the 3-axis gyroscope data. Location service will use
this field to identify the time reference used in the gyroscope data
timestamps.If not specified the locations ervice will assume that the
time source for the gyroscope data is unknown. Values: \n
- eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- The sensor time source is unspecified
- eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- The time source is common between the sensors and
the location engine
*/
/* Optional */
/* Accelerometer Temperature Data */
uint8_t accelTemperatureData_valid; /**< Must be set to true if accelTemperatureData is being passed */
qmiLocSensorTemperatureSampleListStructT_v02 accelTemperatureData;
/**< Accelerometer temperature samples. This data is optional and does not
have to be included in the message along with accelerometer data. */
/* Optional */
/* Gyroscope Temperature Data */
uint8_t gyroTemperatureData_valid; /**< Must be set to true if gyroTemperatureData is being passed */
qmiLocSensorTemperatureSampleListStructT_v02 gyroTemperatureData;
/**< Gyroscope temperature samples. This data is optional and does not
have to be included in the message along with gyroscope data. */
}qmiLocInjectSensorDataReqMsgT_v02; /* Message */
/**
@}
@ -4976,14 +5271,32 @@ typedef struct {
uint8_t threeAxisAccelSamplesAccepted_valid; /**< Must be set to true if threeAxisAccelSamplesAccepted is being passed */
uint8_t threeAxisAccelSamplesAccepted;
/**< Lets the client know how many 3-axis accelerometer samples
were accepted. */
were accepted. This field is present only if the accelerometer
samples were sent in the request. */
/* Optional */
/* Gyroscope Samples Accepted */
uint8_t threeAxisGyroSamplesAccepted_valid; /**< Must be set to true if threeAxisGyroSamplesAccepted is being passed */
uint8_t threeAxisGyroSamplesAccepted;
/**< Lets the client know how many 3-axis gyroscope samples were
accepted. */
accepted. This field is present only if the gyroscope
samples were sent in the request. */
/* Optional */
/* Accelerometer Samples Accepted */
uint8_t accelTemperatureSamplesAccepted_valid; /**< Must be set to true if accelTemperatureSamplesAccepted is being passed */
uint8_t accelTemperatureSamplesAccepted;
/**< This field lets the client know how many accelerometer temperature
samples were accepted. This field is present only if the accelerometer
temperature samples were sent in the request. */
/* Optional */
/* Gyroscope Temperature Samples Accepted */
uint8_t gyroTemperatureSamplesAccepted_valid; /**< Must be set to true if gyroTemperatureSamplesAccepted is being passed */
uint8_t gyroTemperatureSamplesAccepted;
/**< This field lets the client know how many gyroscope temperature samples
were accepted. This field is present only if the gyroscope
temperature samples were sent in the request. */
}qmiLocInjectSensorDataIndMsgT_v02; /* Message */
/**
@}
@ -5448,6 +5761,48 @@ typedef uint32_t qmiLocLppConfigMaskT_v02;
typedef uint32_t qmiLocAssistedGlonassProtocolMaskT_v02;
#define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000001) /**< Assisted GLONASS is supported over RRC in the control plane. */
#define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000002) /**< Assisted GLONASS is supported over RRLP in the user plane. */
#define QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP_V02 ((qmiLocAssistedGlonassProtocolMaskT_v02)0x00000004) /**< Assisted GLONASS is supported over LPP in the user plane.
The QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE should be set
in the LPP configuration for this to take effect. */
/** @addtogroup loc_qmi_enums
@{
*/
typedef enum {
QMILOCSUPLHASHALGOENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_SUPL_HASH_ALGO_SHA1_V02 = 0, /**< SHA1 Hash Algorithm for SUPL Version 2.0 or higher */
eQMI_LOC_SUPL_HASH_ALGO_SHA256_V02 = 1, /**< SHA-256 Hash Algorithm for SUPL Version 2.0 or higher */
QMILOCSUPLHASHALGOENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocSuplHashAlgoEnumT_v02;
/**
@}
*/
/** @addtogroup loc_qmi_enums
@{
*/
typedef enum {
QMILOCSUPLTLSVERSIONENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_SUPL_TLS_VERSION_1_0_V02 = 0, /**< SUPL TLS Version 1.0 */
eQMI_LOC_SUPL_TLS_VERSION_1_1_V02 = 1, /**< SUPL TLS Version 1.1 */
QMILOCSUPLTLSVERSIONENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocSuplTlsVersionEnumT_v02;
/**
@}
*/
/** @addtogroup loc_qmi_enums
@{
*/
typedef enum {
QMILOCEMERGENCYPROTOCOLENUMT_MIN_ENUM_VAL_V02 = -2147483647, /**< To force a 32 bit signed enum. Do not change or use*/
eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP_V02 = 0, /**< use Control plane protocol during emergency while on WCDMA */
eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP_V02 = 1, /**< use SUPL 2.0 emergency services during emergency while on WCDMA */
QMILOCEMERGENCYPROTOCOLENUMT_MAX_ENUM_VAL_V02 = 2147483647 /**< To force a 32 bit signed enum. Do not change or use*/
}qmiLocEmergencyProtocolEnumT_v02;
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
@ -5507,10 +5862,45 @@ typedef struct {
/**< Configures the protocols that the location service supports
for assisted GLONASS.
Valid bitmasks: \begin{itemize1}
\item 0x00000001 -- ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP
\item 0x00000002 -- ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP
\vspace{-0.18in} \end{itemize1}
Valid bitmasks: \n
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP (0x00000001) -- Assisted GLONASS is supported over RRC in the control plane.
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP (0x00000002) -- Assisted GLONASS is supported over RRLP in the user plane.
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP (0x00000004) -- Assisted GLONASS is supported over LPP in the user plane.
The QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE should be set
in the LPP configuration for this to take effect.
*/
/* Optional */
/* SUPL Hash Algorithm */
uint8_t suplHashAlgo_valid; /**< Must be set to true if suplHashAlgo is being passed */
qmiLocSuplHashAlgoEnumT_v02 suplHashAlgo;
/**< SUPL Hash Algorithm that needs to be used. Values: \n
- eQMI_LOC_SUPL_HASH_ALGO_SHA1 (0) -- SHA1 Hash Algorithm for SUPL Version 2.0 or higher
- eQMI_LOC_SUPL_HASH_ALGO_SHA256 (1) -- SHA-256 Hash Algorithm for SUPL Version 2.0 or higher
*/
/* Optional */
/* SUPL TLS Version */
uint8_t suplTlsVersion_valid; /**< Must be set to true if suplTlsVersion is being passed */
qmiLocSuplTlsVersionEnumT_v02 suplTlsVersion;
/**< SUPL TLS (Transport Layer Security) Version. This configuration is only
applicable to SUPL 2.0 or higher as SUPL 1.0 always uses TLS version 1.0.
Values: \n
- eQMI_LOC_SUPL_TLS_VERSION_1_0 (0) -- SUPL TLS Version 1.0
- eQMI_LOC_SUPL_TLS_VERSION_1_1 (1) -- SUPL TLS Version 1.1
*/
/* Optional */
/* Emergency Protocol */
uint8_t emergencyProtocol_valid; /**< Must be set to true if emergencyProtocol is being passed */
qmiLocEmergencyProtocolEnumT_v02 emergencyProtocol;
/**< Configures the protocol to be used during emergency.
Note: Currently only can select on WCDMA. FOR GSM and 1x UE
will always allow only Control plane NI trigger for positioning.
For LTE, UE Can allow either SUPL or Control plane NI trigger.
Values: \n
- eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP (0) -- use Control plane protocol during emergency while on WCDMA
- eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP (1) -- use SUPL 2.0 emergency services during emergency while on WCDMA
*/
}qmiLocSetProtocolConfigParametersReqMsgT_v02; /* Message */
/**
@ -5522,7 +5912,10 @@ typedef uint64_t qmiLocProtocolConfigParamMaskT_v02;
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000002ull) /**< Mask for the VX version configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000004ull) /**< Mask for the SUPL version configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000008ull) /**< Mask for the LPP configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000010ull) /**< Mask for the LPP configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000010ull) /**< Mask for the assisted glonass configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000020ull) /**< Mask for the SUPL Hash algorithm configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000040ull) /**< Mask for the SUPL TLS version configuration parameter. */
#define QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL_V02 ((qmiLocProtocolConfigParamMaskT_v02)0x0000000000000080ull) /**< Mask for the emergency protocol configuration parameter. */
/** @addtogroup loc_qmi_messages
@{
*/
@ -5553,13 +5946,15 @@ typedef struct {
/**< Identifies parameters that were not set successfully. This field
is sent only if the status is not a success.
Valid bitmasks: \begin{itemize1}
\item 0x0000000000000001 -- CONFIG_PARAM_MASK_SUPL_SECURITY
\item 0x0000000000000002 -- CONFIG_PARAM_MASK_VX_VERSION
\item 0x0000000000000004 -- CONFIG_PARAM_MASK_SUPL_VERSION
\item 0x0000000000000008 -- CONFIG_PARAM_MASK_LPP_CONFIG
\item 0x0000000000000010 -- CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL
\vspace{-0.18in} \end{itemize1}
Valid bitmasks: \n
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_SECURITY (0x0000000000000001) -- Mask for the SUPL security configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION (0x0000000000000002) -- Mask for the VX version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION (0x0000000000000004) -- Mask for the SUPL version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG (0x0000000000000008) -- Mask for the LPP configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL (0x0000000000000010) -- Mask for the assisted glonass configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO (0x0000000000000020) -- Mask for the SUPL Hash algorithm configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION (0x0000000000000040) -- Mask for the SUPL TLS version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL (0x0000000000000080) -- Mask for the emergency protocol configuration parameter.
*/
}qmiLocSetProtocolConfigParametersIndMsgT_v02; /* Message */
/**
@ -5578,13 +5973,15 @@ typedef struct {
qmiLocProtocolConfigParamMaskT_v02 getProtocolConfigParamMask;
/**< Mask denoting the configuration parameters to be retrieved.
Valid bitmasks: \begin{itemize1}
\item 0x0000000000000001 -- CONFIG_PARAM_MASK_SUPL_SECURITY
\item 0x0000000000000002 -- CONFIG_PARAM_MASK_VX_VERSION
\item 0x0000000000000004 -- CONFIG_PARAM_MASK_SUPL_VERSION
\item 0x0000000000000008 -- CONFIG_PARAM_MASK_LPP_CONFIG
\item 0x0000000000000010 -- CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL
\vspace{-0.18in} \end{itemize1}
Valid bitmasks: \n
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_SECURITY (0x0000000000000001) -- Mask for the SUPL security configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_VX_VERSION (0x0000000000000002) -- Mask for the VX version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_VERSION (0x0000000000000004) -- Mask for the SUPL version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_LPP_CONFIG (0x0000000000000008) -- Mask for the LPP configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_ASSISTED_GLONASS_PROTOCOL (0x0000000000000010) -- Mask for the assisted glonass configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_HASH_ALGO (0x0000000000000020) -- Mask for the SUPL Hash algorithm configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_SUPL_TLS_VERSION (0x0000000000000040) -- Mask for the SUPL TLS version configuration parameter.
- QMI_LOC_PROTOCOL_CONFIG_PARAM_MASK_EMERGENCY_PROTOCOL (0x0000000000000080) -- Mask for the emergency protocol configuration parameter.
*/
}qmiLocGetProtocolConfigParametersReqMsgT_v02; /* Message */
/**
@ -5665,10 +6062,42 @@ typedef struct {
qmiLocAssistedGlonassProtocolMaskT_v02 assistedGlonassProtocolMask;
/**< Assisted GLONASS Protocol mask.
Valid bitmasks: \begin{itemize1}
\item 0x00000001 -- ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP
\item 0x00000002 -- ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP
\vspace{-0.18in} \end{itemize1}
Valid bitmasks: \n
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRC_CP (0x00000001) -- Assisted GLONASS is supported over RRC in the control plane.
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_RRLP_UP (0x00000002) -- Assisted GLONASS is supported over RRLP in the user plane.
- QMI_LOC_ASSISTED_GLONASS_PROTOCOL_MASK_LPP_UP (0x00000004) -- Assisted GLONASS is supported over LPP in the user plane.
The QMI_LOC_LPP_CONFIG_ENABLE_USER_PLANE should be set
in the LPP configuration for this to take effect.
*/
/* Optional */
/* SUPL Hash Algorithm */
uint8_t suplHashAlgo_valid; /**< Must be set to true if suplHashAlgo is being passed */
qmiLocSuplHashAlgoEnumT_v02 suplHashAlgo;
/**< SUPL Hash Algorithm that needs to be used. Values: \n
- eQMI_LOC_SUPL_HASH_ALGO_SHA1 (0) -- SHA1 Hash Algorithm for SUPL Version 2.0 or higher
- eQMI_LOC_SUPL_HASH_ALGO_SHA256 (1) -- SHA-256 Hash Algorithm for SUPL Version 2.0 or higher
*/
/* Optional */
/* SUPL TLS Version */
uint8_t suplTlsVersion_valid; /**< Must be set to true if suplTlsVersion is being passed */
qmiLocSuplTlsVersionEnumT_v02 suplTlsVersion;
/**< SUPL TLS (Transport Layer Security) Version. This configuration is only
applicable to SUPL 2.0 or higher as SUPL 1.0 always uses TLS version 1.0.
Values: \n
- eQMI_LOC_SUPL_TLS_VERSION_1_0 (0) -- SUPL TLS Version 1.0
- eQMI_LOC_SUPL_TLS_VERSION_1_1 (1) -- SUPL TLS Version 1.1
*/
/* Optional */
/* Emergency Protocol */
uint8_t emergencyProtocol_valid; /**< Must be set to true if emergencyProtocol is being passed */
qmiLocEmergencyProtocolEnumT_v02 emergencyProtocol;
/**< The protocol to be used during emergency.
Values: \n
- eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_CP (0) -- use Control plane protocol during emergency while on WCDMA
- eQMI_LOC_EMERGENCY_PROTOCOL_WCDMA_UP (1) -- use SUPL 2.0 emergency services during emergency while on WCDMA
*/
}qmiLocGetProtocolConfigParametersIndMsgT_v02; /* Message */
/**
@ -7358,18 +7787,28 @@ typedef struct {
uint8_t timeSrc_valid; /**< Must be set to true if timeSrc is being passed */
qmiLocTimeSourceEnumT_v02 timeSrc;
/**< Time source.
Valid values: \begin{itemize1}
\item 0x00000000 -- TIME_SRC_INVALID
\item 0x00000001 -- TIME_SRC_NETWORK_TIME_TRANSFER
\item 0x00000002 -- TIME_SRC_NETWORK_TIME_TAGGING
\item 0x00000003 -- TIME_SRC_EXTERNAL_INPUT
\item 0x00000004 -- TIME_SRC_TOW_DECODE
\item 0x00000005 -- TIME_SRC_TOW_CONFIRMED
\item 0x00000006 -- TIME_SRC_TOW_AND_WEEK_CONFIRMED
\item 0x00000007 -- TIME_SRC_NAV_SOLUTION
\item 0x00000008 -- TIME_SRC_SOLVE_FOR_TIME
\vspace{-0.18in} \end{itemize1} */
Valid values: \n
- eQMI_LOC_TIME_SRC_INVALID (0) -- Invalid time.
- eQMI_LOC_TIME_SRC_NETWORK_TIME_TRANSFER (1) -- Time is set by the 1x system.
- eQMI_LOC_TIME_SRC_NETWORK_TIME_TAGGING (2) -- Time is set by WCDMA/GSM time tagging (i.e.,
associating network time with GPS time).
- eQMI_LOC_TIME_SRC_EXTERNAL_INPUT (3) -- Time is set by an external injection.
- eQMI_LOC_TIME_SRC_TOW_DECODE (4) -- Time is set after decoding over-the-air GPS navigation data
from one GPS satellite.
- eQMI_LOC_TIME_SRC_TOW_CONFIRMED (5) -- Time is set after decoding over-the-air GPS navigation data
from multiple satellites.
- eQMI_LOC_TIME_SRC_TOW_AND_WEEK_CONFIRMED (6) -- Both time of the week and the GPS week number are known.
- eQMI_LOC_TIME_SRC_NAV_SOLUTION (7) -- Time is set by the position engine after the fix is obtained.
- eQMI_LOC_TIME_SRC_SOLVE_FOR_TIME (8) -- Time is set by the position engine after performing SFT.
This is done when the clock time uncertainty is large.
- eQMI_LOC_TIME_SRC_GLO_TOW_DECODE (9) -- Time is set after decoding GLO satellites
- eQMI_LOC_TIME_SRC_TIME_TRANSFORM (10) -- Time is set after transforming the GPS to GLO time
- eQMI_LOC_TIME_SRC_WCDMA_SLEEP_TIME_TAGGING (11) -- Time is set by the sleep time tag provided by the WCDMA network
- eQMI_LOC_TIME_SRC_GSM_SLEEP_TIME_TAGGING (12) -- Time is set by the sleep time tag provided by the GSM network
- eQMI_LOC_TIME_SRC_UNKNOWN (13) -- Source of the time is unknown
- eQMI_LOC_TIME_SRC_SYSTEM_TIMETICK (14) -- Time is derived from system clock (better known as slow clock).
GNSS time is maintained irrespective of the GNSS receiver state
*/
/* Optional */
/* Sensor Data Usage */
@ -7770,6 +8209,100 @@ typedef struct {
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Request Message; Used by the control point to inject pedometer data
into the location engine. */
typedef struct {
/* Mandatory */
/* Time Source */
qmiLocSensorDataTimeSourceEnumT_v02 timeSource;
/**< Time source for the pedometer. Location service will use
this field to identify the time reference used in the
pedometer data timestamp. Values: \n
- eQMI_LOC_SENSOR_TIME_SOURCE_UNSPECIFIED (0) -- The sensor time source is unspecified
- eQMI_LOC_SENSOR_TIME_SOURCE_COMMON (1) -- The time source is common between the sensors and
the location engine*/
/* Mandatory */
/* Pedometer report timestamp */
uint32_t timestamp;
/**< Timestamp of the last step event in this report, i.e timestamp
of the step event that caused this report to be generated.
The timestamp is in the time reference scale that is
used by the pedometer time source. \n
- Unit: Milliseconds */
/* Mandatory */
/* Time Interval */
uint32_t timeInterval;
/**< Time interval during which the step count was calculated. Subtracting
timeInterval from the timestamp field will yield the the time when
the step detection for the first step in this report started.
Unit : Milliseconds. */
/* Mandatory */
/* Step Count */
uint32_t stepCount;
/**< Number for steps counted during the time interval.*/
/* Optional */
/* Step Confidence */
uint8_t stepConfidence_valid; /**< Must be set to true if stepConfidence is being passed */
uint8_t stepConfidence;
/**< Confidence associated with the step. This field is only applicable
for a single step report, i.e if the stepCount is one.
Range: 0 to 100.
Note: The report will be ignored if confidence is 0. */
/* Optional */
/* Step Count Uncertainty */
uint8_t stepCountUncertainty_valid; /**< Must be set to true if stepCountUncertainty is being passed */
float stepCountUncertainty;
/**< Uncertainty (in steps) associated with the step count. */
/* Optional */
/* Step Rate */
uint8_t stepRate_valid; /**< Must be set to true if stepRate is being passed */
float stepRate;
/**< Current estimate for the rate of steps per second.
Units: steps/second
Range: >= 0.0
*/
}qmiLocPedometerReportReqMsgT_v02; /* Message */
/**
@}
*/
/** @addtogroup loc_qmi_messages
@{
*/
/** Indication Message; Used by the control point to inject pedometer data
into the location engine. */
typedef struct {
/* Mandatory */
/* Status of Pedometer report request */
qmiLocStatusEnumT_v02 status;
/**< Status of the pedometer report request
Valid values: \begin{itemize1}
\item 0x00000000 -- SUCCESS
\item 0x00000001 -- GENERAL_FAILURE
\item 0x00000002 -- UNSUPPORTED
\item 0x00000003 -- INVALID_PARAMETER
\item 0x00000004 -- ENGINE_BUSY
\item 0x00000005 -- PHONE_OFFLINE
\item 0x00000006 -- TIMEOUT
\vspace{-0.18in} \end{itemize1}
*/
}qmiLocPedometerReportIndMsgT_v02; /* Message */
/**
@}
*/
/*Service Message Definition*/
/** @addtogroup loc_qmi_msg_ids
@{
@ -7967,6 +8500,11 @@ typedef struct {
#define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_REQ_V02 0x006C
#define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_RESP_V02 0x006C
#define QMI_LOC_WWAN_OUT_OF_SERVICE_NOTIFICATION_IND_V02 0x006C
#define QMI_LOC_EVENT_PEDOMETER_CONTROL_IND_V02 0x006D
#define QMI_LOC_EVENT_MOTION_DATA_CONTROL_IND_V02 0x006E
#define QMI_LOC_PEDOMETER_REPORT_REQ_V02 0x006F
#define QMI_LOC_PEDOMETER_REPORT_RESP_V02 0x006F
#define QMI_LOC_PEDOMETER_REPORT_IND_V02 0x006F
/**
@}
*/