diff --git a/introspection/mm-modem-location.xml b/introspection/mm-modem-location.xml index 076b451a..58dca680 100644 --- a/introspection/mm-modem-location.xml +++ b/introspection/mm-modem-location.xml @@ -117,43 +117,37 @@ providing GPS NMEA-format location information.

For location reporting, devices supporting this capability return - an array mapping timestamps to specific NMEA sentences (D-Bus - signature 'a(ss)'). The manager will cache the most recent NMEA - sentence of each type for a period of time not less than 30 seconds - and must indicate the time that sentence was receieved from the device - using the timestamp. Timestamps are provided as strings in the "Unix - epoch" format (i.e. number of seconds since 1970-01-01 00:00:00 UTC - with microsecond resolution if available). + a string containing one or more NMEA sentences (D-Bus signature 's'). + The manager will cache the most recent NMEA sentence of each type for + a period of time not less than 30 seconds. When reporting multiple + NMEA sentences, sentences shall be separated by an ASCII Carriage + Return and Line Feed (<CR><LF>) sequence.

- For example, if at time 1268336242.282202 the device sends a $GPRMC - sentence immediately followed by a $GPGGA sentence, the reported - location array would be: + For example, if the device sends a $GPRMC sentence immediately + followed by a $GPGGA sentence, the reported location string would be + (where of course the <CR><LF> is replaced with the actual + ASCII CR (0x0D) and LF (0x0A) control characters):

-          [ '1268336242.282202': '$GPRMC,134523.92,V,,,,,,,030136,,,N*73',
-            '1268336242.282202': '$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45' ]
+          $GPRMC,134523.92,V,,,,,,,030136,,,N*73<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
           
If the device sends a new $GPRMC three seconds later, the new $GPRMC - replaces the previously received $GPRMC sentence, and the updated array - would be: + replaces the previously received $GPRMC sentence, and the updated + string would be:
-          [ '1268336245.282202': '$GPRMC,134526.92,V,,,,,,,030136,,,N*76',
-            '1268336242.282202': '$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45' ]
+          $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
           
If the device then sends a $GPGSA sentence about 5 seconds later, the - $GPGSA sentence is added to the array (since no $GPGSA sentence was - previously received in this session), the updated array would be: + $GPGSA sentence is added to the string (since no $GPGSA sentence was + previously received in this session), the updated string would be:
-          [ '1268336245.282202': '$GPRMC,134526.92,V,,,,,,,030136,,,N*76',
-            '1268336242.282202': '$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45'
-            '1268336250.395423': '$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34' ]
+          $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45<CR><LF>$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34
           
- The manager may discard any entries older than 30 seconds. + The manager may discard any cached sentences older than 30 seconds.

This allows clients to read the latest positioning data as soon as possible after they start, even if the device is not providing - frequent location data updates. Using the timestamp the client can - determine which data is most relevant to its particular uses. + frequent location data updates.

@@ -205,6 +199,53 @@ GetLocation() method or in the Location property.

+ + +

For capability reporting, indicates the device is capable of + providing raw GPS information using a series of defined key/value + pairs.

+ +

For location reporting, devices supporting this + capability return a D-Bus dict (signature a{sv}) mapping well-known + keys to values with defined formats. The allowed key/value pairs + and their formats are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyValue TypeValue contentsExample
latitudedLatitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere)38.889722 (ie, 38d 53' 22" N)
longitudedLongitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere)-77.008889 (ie, 77d 0' 32" W)
altitudedAltitude above sea level in meters33.5
horiz-velocitydHorizontal velocity in meters-per-second.5
vert-velocitydVertical velocity in meters-per-second.01
+

The 'latitude' and 'longitude' keys are required; other keys are + optional.

+
+