pds: start implementing "Event Report" indication

Currently just some of the TLVs with the raw NMEA traces.
This commit is contained in:
Aleksander Morgado 2012-09-18 09:10:17 +02:00
parent 9347e8df7f
commit 33132db8e4
2 changed files with 77 additions and 1 deletions

View File

@ -12,6 +12,10 @@
{ "name" : "QMI Message PDS",
"type" : "Message-ID-Enum" },
// *********************************************************************************
{ "name" : "QMI Indication PDS",
"type" : "Indication-ID-Enum" },
// *********************************************************************************
{ "name" : "Reset",
"type" : "Message",
@ -146,6 +150,34 @@
"type" : "TLV",
"format" : "guint8",
"public-format" : "gboolean" } ],
"output" : [ { "common-ref" : "Operation Result" } ] }
"output" : [ { "common-ref" : "Operation Result" } ] },
{ "name" : "Event Report",
"type" : "Indication",
"service" : "PDS",
"id" : "0x0001",
"output" : [ { "name" : "NMEA Position",
"id" : "0x10",
"mandatory" : "no",
"type" : "TLV",
"format" : "string",
"max-size" : "200" },
{ "name" : "Extended NMEA Position",
"id" : "0x11",
"mandatory" : "no",
"type" : "TLV",
"format" : "sequence",
"contents" : [ { "name" : "Operation Mode",
"format" : "gint8",
"public-format" : "QmiPdsOperationMode" },
{ "name" : "NMEA",
"format" : "string",
"max-size" : "200" } ] },
{ "name" : "Position Session Status",
"id" : "0x12",
"mandatory" : "no",
"type" : "TLV",
"format" : "guint8",
"public-format" : "QmiPdsPositionSessionStatus" } ] }
]

View File

@ -23,5 +23,49 @@
#ifndef _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
#define _LIBQMI_GLIB_QMI_ENUMS_PDS_H_
/*****************************************************************************/
/* Helper enums for the 'QMI PDS Event Report' indication */
/**
* QmiPdsOperationMode:
* @QMI_PDS_OPERATION_MODE_UNKNOWN: Unknown (position not fixed yet).
* @QMI_PDS_OPERATION_MODE_STANDALONE: Standalone.
* @QMI_PDS_OPERATION_MODE_MS_BASED: MS based.
* @QMI_PDS_OPERATION_MODE_MS_ASSISTED: MS assisted.
*
* Operation mode used to compute the position.
*/
typedef enum {
QMI_PDS_OPERATION_MODE_UNKNOWN = -1,
QMI_PDS_OPERATION_MODE_STANDALONE = 0,
QMI_PDS_OPERATION_MODE_MS_BASED = 1,
QMI_PDS_OPERATION_MODE_MS_ASSISTED = 2
} QmiPdsOperationMode;
/**
* QmiPdsPositionSessionStatus:
* @QMI_PDS_POSITION_SESSION_STATUS_SUCCESS: Success.
* @QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS: In progress.
* @QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE: General failure.
* @QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT: Timeout.
* @QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION: User ended session.
* @QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER: Bad parameter.
* @QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE: Phone is offline.
* @QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED: Engine locked.
* @QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS: Emergency call in progress.
*
* Status of the positioning session.
*/
typedef enum {
QMI_PDS_POSITION_SESSION_STATUS_SUCCESS = 0x00,
QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS = 0x01,
QMI_PDS_POSITION_SESSION_STATUS_GENERAL_FAILURE = 0x02,
QMI_PDS_POSITION_SESSION_STATUS_TIMEOUT = 0x03,
QMI_PDS_POSITION_SESSION_STATUS_USER_ENDED_SESSION = 0x04,
QMI_PDS_POSITION_SESSION_STATUS_BAD_PARAMETER = 0x05,
QMI_PDS_POSITION_SESSION_STATUS_PHONE_OFFLINE = 0x06,
QMI_PDS_POSITION_SESSION_STATUS_ENGINE_LOCKED = 0x07,
QMI_PDS_POSITION_SESSION_STATUS_E911_SESSION_IN_PROGRESS = 0x08
} QmiPdsPositionSessionStatus;
#endif /* _LIBQMI_GLIB_QMI_ENUMS_PDS_H_ */