diff options
Diffstat (limited to 'enhanced-position-service/api/genivi-positioning-enhancedposition.xml')
-rw-r--r-- | enhanced-position-service/api/genivi-positioning-enhancedposition.xml | 219 |
1 files changed, 61 insertions, 158 deletions
diff --git a/enhanced-position-service/api/genivi-positioning-enhancedposition.xml b/enhanced-position-service/api/genivi-positioning-enhancedposition.xml index a8b1dda..283c3b0 100644 --- a/enhanced-position-service/api/genivi-positioning-enhancedposition.xml +++ b/enhanced-position-service/api/genivi-positioning-enhancedposition.xml @@ -15,7 +15,7 @@ <node name="/org/genivi/positioning/EnhancedPosition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="introspect.xsd"> <interface name="org.genivi.positioning.EnhancedPosition"> - <version>3.0.0-alpha (05-08-2014)</version> + <version>3.0.0 (19-11-2014)</version> <doc> <line>EnhancedPosition = This interface offers functionalities to retrieve the enhanced position of the vehicle</line> </doc> @@ -35,141 +35,80 @@ </arg> </method> - <method name="GetData"> + <method name="GetPositionInfo"> <doc> - <line>GetData = This method returns a given set of positioning data (e.g. Position, Course, Accuracy, Status, ... )</line> + <line>GetPositionInfo = This method returns a given set of positioning data (e.g. Position, Course, Accuracy, Status, ... )</line> </doc> - <arg name="valuesToReturn" type="aq" direction="in"> + <arg name="valuesToReturn" type="t" direction="in"> <doc> - <line>valuesToReturn= array[fieldType]</line> - <line>key = enum(INVALID,TIMESTAMP,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,ROLL_RATE,PITCH_RATE,YAW_RATE,...,ALL)</line> + <line>valuesToReturn = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to requested values</line> + <line>Keys: LATITUDE,LONGITUDE,ALTITUDE,</line> + <line> HEADING,SPEED,CLIMB,</line> + <line> ROLL_RATE,PITCH_RATE,YAW_RATE,</line> + <line> PDOP,HDOP,VDOP,</line> + <line> USED_SATELLITES,TRACKED_SATELLITES,VISIBLE_SATELLITES,</line> + <line> SIGMA_HPOSITION,SIGMA_ALTITUDE,</line> + <line> SIGMA_HEADING,SIGMA_SPEED,SIGMA_CLIMB,</line> + <line> GNSS_FIX_STATUS,DR_STATUS</line> </doc> </arg> - <arg name="data" type="a{qv}" direction="out"> + <arg name="timestamp" type="t" direction="out"> <doc> - <line>data = dictionary[key,value]</line> - <line>dictionary = array of tuples (key,value)</line> - <line>Invalid data is not be returned to the client application</line> - <line>The vehicle axis system is defined by ISO 8855: In short, the X-axis pointing is forwards, the Y-axis is pointing left, the Z-axis is pointing upwards</line> - <line>key = enum(INVALID,TIMESTAMP,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,ROLL_RATE,PITCH_RATE,YAW_RATE,PDOP,HDOP,VDOP,SIGMA_LATITUDE,SIGMA_LONGITUDE,SIGMA_ALTITUDE,SIGMA_HEADING,... ,ALL</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> - <line>key = LATITUDE, value = value of type 'd', that expresses the WGS84 latitude of the current position in degrees. Range [-90:+90]. Example: 48.053250</line> - <line>key = LONGITUDE, value = value of type 'd', that expresses the WGS84 longitude of the current position in degrees. Range [-180:+180]. Example: 8.324500</line> - <line>key = ALTITUDE, value = value of type 'd', that expresses the altitude above the sea level of the current position in meters</line> - <line>key = HEADING, value = value of type 'd', that expresses the course angle in degree. Range [0:360]. 0 = north, 90 = east, 180 = south, 270 = west</line> - <line>key = SPEED, value = value of type 'd', that expresses speed measured in m/s. A negative value indicates that the vehicle is moving backwards</line> - <line>key = CLIMB, value = value of type 'd', that expresses the road gradient in degrees. Range [-180:+180]. A positive value means upwards. </line> - <line>key = ROLL_RATE, value = value of type 'd', rotation rate around the X-axis in degrees/s. Range [-100:+100]</line> - <line>key = PITCH_RATE, value = value of type 'd', rotation rate around the Y-axis in degrees/s. Range [-100:+100]</line> - <line>key = YAW_RATE, value = value of type 'd', rotation rate around the Z-axis in degrees/s. Range [-100:+100]</line> - <line>key = PDOP, value = value of type 'd', that represents the positional (3D) dilution of precision</line> - <line>key = HDOP, value = value of type 'd', that represents the horizontal (2D) dilution of precision</line> - <line>key = VDOP, value = value of type 'd', that represents vertical (altitude) dilution of precision</line> - <line>key = SIGMA_LATITUDE, value = value of type 'd', that represents the standard error estimate of the latitude in m</line> - <line>key = SIGMA_LONGITUDE, value = value of type 'd', that represents the standard error estimate of the longitude in m</line> - <line>key = SIGMA_ALTITUDE, value = value of type 'd', that represents the standard error estimate of the altitude in m</line> - <line>key = SIGMA_HEADING, value = value of type 'd', that represents the standard error estimate of the heading in degrees</line> + <line>timestamp = Timestamp of the acquisition of the position data [ms]</line> + <line> Note: All timestamps must be based on the same time source.</line> </doc> </arg> - </method> - - <method name="GetPosition"> - <doc> - <line>GetPosition = This method returns the current position</line> - </doc> - - <arg name="position" type="a{qv}" direction="out"> + + <arg name="data" type="a{tv}" direction="out"> <doc> - <line>position = dictionary[key,value]</line> + <line>data = dictionary[key,value]</line> <line>dictionary = array of tuples (key,value)</line> <line>Invalid data is not be returned to the client application</line> - <line>key = enum(INVALID,TIMESTAMP,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,...)</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> + <line>The vehicle axis system is defined by ISO 8855: In short, the X-axis pointing is forwards, the Y-axis is pointing left, the Z-axis is pointing upwards</line> + <line>key = enum(LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,ROLL_RATE,PITCH_RATE,YAW_RATE,PDOP,HDOP,VDOP,USED_SATELLITES,TRACKED_SATELLITES,VISIBLE_SATELLITES,SIGMA_HPOSITION,SIGMA_ALTITUDE,SIGMA_HEADING,SIGMA_SPEED,SIGMA_CLIMB,GNSS_FIX_STATUS,DR_STATUS)</line> <line>key = LATITUDE, value = value of type 'd', that expresses the WGS84 latitude of the current position in degrees. Range [-90:+90]. Example: 48.053250</line> <line>key = LONGITUDE, value = value of type 'd', that expresses the WGS84 longitude of the current position in degrees. Range [-180:+180]. Example: 8.324500</line> <line>key = ALTITUDE, value = value of type 'd', that expresses the altitude above the sea level of the current position in meters</line> <line>key = HEADING, value = value of type 'd', that expresses the course angle in degree. Range [0:360]. 0 = north, 90 = east, 180 = south, 270 = west</line> <line>key = SPEED, value = value of type 'd', that expresses speed measured in m/s. A negative value indicates that the vehicle is moving backwards</line> <line>key = CLIMB, value = value of type 'd', that expresses the road gradient in degrees. Range [-180:+180]. A positive value means upwards. </line> - </doc> - </arg> - </method> - - <signal name="PositionUpdate"> - <doc> - <line>PositionUpdate = This signal is called to notifiy a client application of a position change. The update frequency is implementation specific. The maximal allowed frequency is 10Hz</line> - </doc> - <arg name="changedValues" type="aq"> - <doc> - <line>changedValues = array[value]</line> - <line>value = enum(INVALID,TIMESTAMP,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,... )</line> - </doc> - </arg> - </signal> - - <method name="GetRotationRate"> - <doc> - <line>GetRotationRate = This method returns the rotation rate</line> - </doc> - <arg name="rotationRate" type="a{qv}" direction="out"> - <doc> - <line>rotationRate = dictionary[key,value]</line> - <line>dictionary = array of tuples (key,value)</line> - <line>If you request for a specific value which is invalid, it's not returned in the dictionary.</line> - <line>The vehicle axis system is defined by ISO 8855: In short, the X-axis pointing is forwards, the Y-axis is pointing left, the Z-axis is pointing upwards</line> - <line>key = enum(INVALID,TIMESTAMP,ROLL_RATE,PITCH_RATE,YAW_RATE, ... )</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> <line>key = ROLL_RATE, value = value of type 'd', rotation rate around the X-axis in degrees/s. Range [-100:+100]</line> <line>key = PITCH_RATE, value = value of type 'd', rotation rate around the Y-axis in degrees/s. Range [-100:+100]</line> <line>key = YAW_RATE, value = value of type 'd', rotation rate around the Z-axis in degrees/s. Range [-100:+100]</line> - </doc> - </arg> - </method> - - <signal name="RotationRateUpdate"> - <doc> - <line>RotationRateUpdated = This signal is emitted when the rotation rate changes</line> - </doc> - <arg name="changedValues" type="aq"> - <doc> - <line>changedValues = array[key]</line> - <line>key = enum(INVALID,TIMESTAMP,ROLL_RATE,PITCH_RATE,YAW_RATE, ... )</line> - </doc> - </arg> - </signal> - - <method name="GetAccuracy"> - <doc> - <line>GetAccuracy = This method returns the accuracy</line> - </doc> - <arg name="accuracy" type="a{qv}" direction="out"> - <doc> - <line>accuracy = dictionary[key,value]</line> - <line>dictionary = array of tuples (key,value)</line> - <line>If you request for a specific value which is invalid, it's not returned in the dictionary.</line> - <line>key = enum(INVALID,TIMESTAMP,PDOP,HDOP,VDOP,SIGMA_LATITUDE,SIGMA_LONGITUDE,SIGMA_ALTITUDE,SIGMA_HEADING,... )</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> <line>key = PDOP, value = value of type 'd', that represents the positional (3D) dilution of precision</line> <line>key = HDOP, value = value of type 'd', that represents the horizontal (2D) dilution of precision</line> <line>key = VDOP, value = value of type 'd', that represents vertical (altitude) dilution of precision</line> - <line>key = SIGMA_LATITUDE, value = value of type 'd', that represents the standard error estimate of the latitude in m</line> - <line>key = SIGMA_LONGITUDE, value = value of type 'd', that represents the standard error estimate of the longitude in m</line> + <line>key = USED_SATELLITES, value = value of type 'y', that represents the number of used satellites</line> + <line>key = TRACKED_SATELLITES, value = value of type 'y', that represents the number of tracked satellites</line> + <line>key = VISIBLE_SATELLITES, value = value of type 'y', that represents the number of visible satellites</line> + <line>key = SIGMA_HPOSITION, value = value of type 'd', that represents the standard error estimate of the horizontal position in m</line> <line>key = SIGMA_ALTITUDE, value = value of type 'd', that represents the standard error estimate of the altitude in m</line> <line>key = SIGMA_HEADING, value = value of type 'd', that represents the standard error estimate of the heading in degrees</line> + <line>key = SIGMA_SPEED, value = value of type 'd', that represents the standard error estimate of the speed in m/s</line> + <line>key = SIGMA_CLIMB, value = value of type 'd', that represents the standard error estimate of the climb in degrees</line> + <line>key = GNSS_FIX_STATUS, value = value of type 'q', that represents an enum(NO_FIX(0x00),TIME_FIX(0x01),2D_FIX(0x02),3D_FIX(0x03), ... )</line> + <line>key = DR_STATUS, value = value of type 'b', where TRUE means that a dead-reckoning algorithm has been used to calculate the current position</line> </doc> </arg> </method> - <signal name="AccuracyUpdate"> + <signal name="PositionUpdate"> <doc> - <line>AccuracyUpdated = This signal is emitted when the accuracy changes</line> + <line>PositionUpdate = This signal is called to notifiy a client application that updated positioning data is available. The update frequency is implementation specific. The maximum allowed frequency is 10Hz</line> </doc> - <arg name="changedValues" type="aq"> + <arg name="changedValues" type="t"> <doc> - <line>changedValues = array[value]</line> - <line>value = enum(INVALID,TIMESTAMP,PDOP,HDOP,VDOP,SIGMA_LATITUDE,SIGMA_LONGITUDE,SIGMA_ALTITUDE,SIGMA_HEADING, ... )</line> + <line>changedValues = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to updated values</line> + <line>LATITUDE,LONGITUDE,ALTITUDE,</line> + <line> HEADING,SPEED,CLIMB,</line> + <line> ROLL_RATE,PITCH_RATE,YAW_RATE,</line> + <line> PDOP,HDOP,VDOP,</line> + <line> USED_SATELLITES,TRACKED_SATELLITES,VISIBLE_SATELLITES,</line> + <line> SIGMA_HPOSITION,SIGMA_ALTITUDE,</line> + <line> SIGMA_HEADING,SIGMA_SPEED,SIGMA_CLIMB,</line> + <line> GNSS_FIX_STATUS,DR_STATUS</line> </doc> </arg> </signal> @@ -178,77 +117,41 @@ <doc> <line>GetSatelliteInfo = This method returns information about the current satellite constellation</line> </doc> - <arg name="satelliteInfo" type="a{qv}" direction="out"> + <arg name="timestamp" type="t" direction="out"> <doc> - <line>satelliteInfo = dictionary[key,value]</line> - <line>dictionary = array of tuples (key,value)</line> - <line>If you request for a specific value which is invalid, it's not returned in the dictionary.</line> - <line>key = enum(INVALID,TIMESTAMP,USED_SATELLITES,TRACKED_SATELLITES,VISIBLE_SATELLITES,SATELLITE_DETAILS, ...)</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> - <line>key = USED_SATELLITES, value = value of type 'y', that represents the number of used satellites</line> - <line>key = TRACKED_SATELLITES, value = value of type 'y', that represents the number of tracked satellites</line> - <line>key = VISIBLE_SATELLITES, value = value of type 'y', that represents the number of visible satellites</line> - <line>key = SATELLITE_DETAILS, value = value of type 'a(ubuuu)', that represents an array(struct(satId,inUse,elevation,azimuth,snr). - The satID numbering scheme shall be as defined by NMEA-0183 (v3.01 or later) for the GSV sentence: - 1..32: GPS satellites (by PRN), 33..64: SBAS/WAAS satellites, 65..96: Glonass satellites - Note: Later NMEA-0183 versions probably already have Galileo support - </line> + <line>timestamp = Timestamp of the acquisition of the satellite detail data [ms]</line> + <line> Note: All timestamps must be based on the same time source.</line> </doc> - </arg> - </method> - - <signal name="SatelliteInfoUpdate"> - <doc> - <line>SatelliteInfoUpdate = This signal is emitted when information about the current satellite information is updated</line> - </doc> - <arg name="changedValues" type="aq"> + </arg> + <arg name="satelliteInfo" type="a(qqqqqb)" direction="out"> <doc> - <line>changedValues = array[value]</line> - <line>key = enum(INVALID,TIMESTAMP,USED_SATELLITES,TRACKED_SATELLITES,VISIBLE_SATELLITES,SATELLITE_DETAILS, ...)</line> - </doc> - </arg> - </signal> - - <method name="GetStatus"> - <doc> - <line>GetStatus = This method returns the status of this service</line> - </doc> - <arg name="status" type="a{qv}" direction="out"> - <doc> - <line>status = dictionary[key,value]</line> - <line>dictionary = array of tuples (key,value)</line> - <line>If you request for a specific value which is invalid, it's not returned in the dictionary.</line> - <line>key = enum(INVALID,TIMESTAMP,GNSS_FIX_STATUS,DR_STATUS, ... )</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> - <line>key = GNSS_FIX_STATUS, value = value of type 'q', that represents an enum(INVALID(0x00),NO_FIX(0x01),TIME_FIX(0x02),2D_FIX(0x03),3D_FIX(0x04), ... )</line> - <line>key = DR_STATUS, value = value of type 'b', where TRUE means that a dead-reckoning algorithm has been used to calculate the current position</line> + <line>satelliteInfo = array(struct(system,satelliteId,azimuth,elevation,snr,inUse))</line> + <line> system = enum(GPS, GLONASS, GALILEO, COMPASS, ... )</line> + <line> satelliteId = satellite ID. This ID is unique within one satellite system</line> + <line> azimuth = satellite azimuth in degrees. Value range 0..359</line> + <line> elevation = satellite elevation in degrees. Value range 0..90</line> + <line> snr = SNR (C/No) in dBHz. Range 0 to 99, null when not tracking</line> + <line> inUse = flag indicating if the satellite is used for the fix (inUse=true)</line> </doc> </arg> </method> - <signal name="StatusUpdate"> - <doc> - <line>StatusUpdate = This signal is emitted when the status of this service changes</line> - </doc> - <arg name="changedValues" type="aq"> - <doc> - <line>changedValues = array[value]</line> - <line>key = enum(INVALID,TIMESTAMP,GNSS_FIX_STATUS,DR_STATUS, ... )</line> - </doc> - </arg> - </signal> - <method name="GetTime"> <doc> <line>GetTime = This method returns UTC time and date</line> </doc> - <arg name="time" type="a{qv}" direction="out"> + <arg name="timestamp" type="t" direction="out"> + <doc> + <line>timestamp = Timestamp of the acquisition of the UTC date/time [ms]</line> + <line> Note: All timestamps must be based on the same time source.</line> + </doc> + </arg> + <arg name="time" type="a{tv}" direction="out"> <doc> <line>time = dictionary[key,value]</line> <line>dictionary = array of tuples (key,value)</line> <line>If you request for a specific value which is invalid, it's not returned in the dictionary.</line> - <line>key = enum(INVALID,TIMESTAMP,YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,MS, ... )</line> - <line>key = TIMESTAMP, value = value of type 't', that represents a timestamp in ms</line> + <line>key = enum(YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,MS, ... )</line> <line>key = YEAR, value = value of type 'q', 4 digits number that indicates the year. Example: 2012</line> <line>key = MONTH, value = value of type 'y', 2 digits number that indicates the month. Example: 03 means March</line> <line>key = DAY, value = value of type 'y', 2 digits number that indicates the day. Range [0:31]. Example: 07</line> |