3 // *********************************************************************************
7 // *********************************************************************************
8 { "name" : "QMI Client PDS",
12 // *********************************************************************************
13 { "name" : "QMI Message PDS",
14 "type" : "Message-ID-Enum" },
16 // *********************************************************************************
17 { "name" : "QMI Indication PDS",
18 "type" : "Indication-ID-Enum" },
20 // *********************************************************************************
26 "output" : [ { "common-ref" : "Operation Result" } ] },
28 // *********************************************************************************
29 { "name" : "Set Event Report",
34 "input" : [ { "name" : "NMEA Position Reporting",
39 "public-format" : "gboolean" },
40 { "name" : "Extended NMEA Position Reporting",
45 "public-format" : "gboolean" },
46 { "name" : "Parsed Position Reporting",
51 "public-format" : "gboolean" },
52 { "name" : "External XTRA Data Request Reporting",
57 "public-format" : "gboolean" },
58 { "name" : "External Time Injection Request Reporting",
63 "public-format" : "gboolean" },
64 { "name" : "External WIFI Position Request Reporting",
69 "public-format" : "gboolean" },
70 { "name" : "Satellite Information Reporting",
75 "public-format" : "gboolean" },
76 { "name" : "VX Network Initiated Request Reporting",
81 "public-format" : "gboolean" },
82 { "name" : "SUPL Network Initiated Prompt Reporting",
87 "public-format" : "gboolean" },
88 { "name" : "UMTS CP Network Initiated Prompt Reporting",
93 "public-format" : "gboolean" },
94 { "name" : "PDS Comm Event Reporting",
99 "public-format" : "gboolean" },
100 { "name" : "Accelerometer Data Streaming Ready Reporting",
105 "public-format" : "gboolean" },
106 { "name" : "Gyro Data Streaming Ready Reporting",
111 "public-format" : "gboolean" },
112 { "name" : "Time Sync Request Reporting",
117 "public-format" : "gboolean" },
118 { "name" : "Position Reliability Indicator Reporting",
123 "public-format" : "gboolean" },
124 { "name" : "Sensor Data Usage Indicator Reporting",
129 "public-format" : "gboolean" },
130 { "name" : "Time Source Information Reporting",
135 "public-format" : "gboolean" },
136 { "name" : "Heading Uncertainty Reporting",
141 "public-format" : "gboolean" },
142 { "name" : "NMEA Debug Strings Reporting",
147 "public-format" : "gboolean" },
148 { "name" : "Extended External XTRA Data Request Reporting",
153 "public-format" : "gboolean" } ],
154 "output" : [ { "common-ref" : "Operation Result" } ] },
156 { "name" : "Event Report",
157 "type" : "Indication",
161 "output" : [ { "name" : "NMEA Position",
166 "max-size" : "200" },
167 { "name" : "Extended NMEA Position",
171 "format" : "sequence",
172 "contents" : [ { "name" : "Operation Mode",
174 "public-format" : "QmiPdsOperationMode" },
177 // This was supposed to be only 1 byte for length, but it seems it's not
178 "size-prefix-format" : "guint16",
179 "max-size" : "200" } ] },
180 { "name" : "Position Session Status",
185 "public-format" : "QmiPdsPositionSessionStatus" } ] },
187 // TODO: parse all TLVs of this indication
188 // Reading gfloat/gdouble is still missing
189 //{ "name" : "Parsed Position",
192 // "format" : "sequence",
193 // "contents" : [ { "name" : "Valid Mask",
194 // "format" : "gint8" },
195 // { "name" : "Timestamp Calendar",
196 // "format" : "struct",
197 // "contents" : [ { "name" : "Year",
198 // "format" : "guint16" },
199 // { "name" : "Month",
200 // "format" : "guint8" },
201 // { "name" : "Day Of Week",
202 // "format" : "guint8" },
203 // { "name" : "Day of Month",
204 // "format" : "guint8" },
205 // { "name" : "Hour",
206 // "format" : "guint8" },
207 // { "name" : "Minute",
208 // "format" : "guint8" },
209 // { "name" : "Second",
210 // "format" : "guint8" },
211 // { "name" : "Millisecond",
212 // "format" : "guint16" } ] },
213 // { "name" : "Leap Seconds",
214 // "format" : "guint8" },
215 // { "name" : "Timestamp UTC",
216 // "format" : "guint64" },
217 // { "name" : "Time Uncertainty",
218 // "format" : "guint32" },
219 // { "name" : "Latitude",
220 // "format" : "gdouble" },
221 // { "name" : "Longitude",
222 // "format" : "gdouble" },
223 // { "name" : "Altitude Ellipsoid",
224 // "format" : "gfloat" },
225 // { "name" : "Altitude Sea Level",
226 // "format" : "gfloat" },
227 // { "name" : "Horizontal Speed",
228 // "format" : "gfloat" },
229 // { "name" : "Vertical Speed",
230 // "format" : "gfloat" },
231 // { "name" : "Heading",
232 // "format" : "gfloat" },
233 // { "name" : "Horizontal Uncertainty Circular",
234 // "format" : "gfloat" },
235 // { "name" : "Horizontal Uncertainty Ellipse Semi Major",
236 // "format" : "gfloat" },
237 // { "name" : "Horizontal Uncertainty Ellipse Semi Minor",
238 // "format" : "gfloat" },
239 // { "name" : "Horizontal Uncertainty Ellipse Orient Azimuth",
240 // "format" : "gfloat" },
241 // { "name" : "Vertical Uncertainty",
242 // "format" : "gfloat" },
243 // { "name" : "Horizontal Velocity Uncertainty",
244 // "format" : "gfloat" },
245 // { "name" : "Vertical Velocity Uncertainty",
246 // "format" : "gfloat" },
247 // { "name" : "Horizontal confidence",
248 // "format" : "guint8" },
249 // { "name" : "Position DOP",
250 // "format" : "gfloat" },
251 // { "name" : "Horizontal DOP",
252 // "format" : "gfloat" },
253 // { "name" : "Vertical DOP",
254 // "format" : "gfloat" },
255 // { "name" : "Operation Mode",
256 // "format" : "gint8",
257 // "public-format" : "QmiPdsOperationMode" } ],
258 // "prerequisites": [ { "field" : "Position Session Status",
259 // "operation" : "<=",
260 // "value" : "QMI_PDS_POSITION_SESSION_STATUS_IN_PROGRESS" } ] } ] }
262 // *********************************************************************************
263 { "name" : "Get GPS Service State",
268 "output" : [ { "common-ref" : "Operation Result" },
273 "format" : "sequence",
274 "contents" : [ { "name" : "GPS Service State",
276 "public-format" : "gboolean" },
277 { "name" : "Tracking Session State",
279 "public-format" : "QmiPdsTrackingSessionState" } ],
280 "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
282 // *********************************************************************************
283 { "name" : "Set GPS Service State",
288 "input" : [ { "name" : "State",
292 "format" : "sequence",
293 "contents" : [ { "name" : "GPS Service State",
295 "public-format" : "gboolean" } ] } ],
296 "output" : [ { "common-ref" : "Operation Result" } ] },
298 // *********************************************************************************
299 { "name" : "Get Default Tracking Session",
304 "output" : [ { "common-ref" : "Operation Result" },
309 "format" : "sequence",
310 "contents" : [ { "name" : "Session Operation",
312 "public-format" : "QmiPdsOperatingMode" },
313 { "name" : "Position Data Timeout",
314 "format" : "guint8" },
315 { "name" : "Interval",
316 "format" : "guint32" },
317 { "name" : "Accuracy Threshold",
318 "format" : "guint32" } ],
319 "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
321 // *********************************************************************************
322 { "name" : "Set Default Tracking Session",
327 "input" : [ { "name" : "Info",
331 "format" : "sequence",
332 "contents" : [ { "name" : "Session Operation",
334 "public-format" : "QmiPdsOperatingMode" },
335 { "name" : "Position Data Timeout",
336 "format" : "guint8" },
337 { "name" : "Interval",
338 "format" : "guint32" },
339 { "name" : "Accuracy Threshold",
340 "format" : "guint32" } ] } ],
341 "output" : [ { "common-ref" : "Operation Result" } ] },
343 // *********************************************************************************
344 { "name" : "Get AGPS Config",
349 "input" : [ { "name" : "Network Mode",
354 "public-format" : "QmiPdsNetworkMode" } ],
355 "output" : [ { "common-ref" : "Operation Result" },
356 { "name" : "Location Server Address",
360 "format" : "sequence",
361 "contents" : [ { "name" : "IP",
362 "format" : "guint32",
363 "endian" : "little" },
365 "format" : "guint32" } ],
366 "prerequisites" : [ { "common-ref" : "Success" } ] },
367 { "name" : "Location Server URL",
372 "size-prefix-format" : "guint8",
373 "array-element" : { "format" : "guint8" },
374 "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
376 // *********************************************************************************
377 { "name" : "Set AGPS Config",
382 "input" : [ { "name" : "Location Server Address",
386 "format" : "sequence",
387 "contents" : [ { "name" : "IP",
388 "format" : "guint32",
389 "format" : "guint32" },
391 "format" : "guint32" } ] },
392 { "name" : "Location Server URL",
397 "size-prefix-format" : "guint8",
398 "array-element" : { "format" : "guint8" } },
399 { "name" : "Network Mode",
404 "public-format" : "QmiPdsNetworkMode" } ],
405 "output" : [ { "common-ref" : "Operation Result" } ] },
407 // *********************************************************************************
408 { "name" : "Get Auto Tracking State",
413 "output" : [ { "common-ref" : "Operation Result" },
418 "format" : "sequence",
419 "contents" : [ { "name" : "Auto Tracking State",
421 "public-format" : "gboolean" } ],
422 "prerequisites" : [ { "common-ref" : "Success" } ] } ] },
424 // *********************************************************************************
425 { "name" : "Set Auto Tracking State",
430 "input" : [ { "name" : "State",
434 "format" : "sequence",
435 "contents" : [ { "name" : "Auto Tracking State",
437 "public-format" : "gboolean" } ] } ],
438 "output" : [ { "common-ref" : "Operation Result" } ] },
440 // *********************************************************************************
441 { "name" : "GPS Ready",
442 "type" : "Indication",