summaryrefslogtreecommitdiff
path: root/enhanced-position-service/api/genivi-positioning-positionfeedback.xml
blob: 5c89b032c2da4901dade11654efe34b62b24e365 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="introspect.xsl"?>

<!-- SPDX-License-Identifier: MPL-2.0
     Component Name: EnhancedPositionService
     Compliance Level: Abstract Component
     Copyright (C) 2012, BMW Car IT GmbH, Continental Automotive GmbH, PCA Peugeot Citroën, XS Embedded GmbH
     License:
     This Source Code Form is subject to the terms of the
     Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
     this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->

<node name="/org/genivi/positioning/PositionFeedback" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="introspect.xsd">

  <interface name="org.genivi.positioning.PositionFeedback">
    <version>3.0.0-alpha (05-08-2014)</version>
    <doc>
      <line>PositionFeedback = This interface allows the application implementing the map-matching algorithm to provide a position feedback to the EnahncedPositionService</line>
    </doc>
    
    <method name="getVersion">
      <doc>
        <line>getVersion = This method returns the API version implemented by the server application</line>
      </doc>
      <arg name="version" type="(qqqs)" direction="out">
        <doc>
          <line>version = struct(major,minor,micro,date)</line>
          <line>major = when the major changes, then backward compatibility with previous releases is not granted</line>
          <line>minor = when the minor changes, then backward compatibility with previous releases is granted, but something changed in the implementation of the API (e.g. new methods may have been added)</line> 
          <line>micro = when the micro changes, then backward compatibility with previous releases is granted (bug fixes or documentation modifications)</line> 
          <line>date = release date (e.g. 21-06-2011)</line>
        </doc>
      </arg>
    </method>
    
   <method name="setPositionFeedback">
      <doc>
        <line>setPositionFeedback = This method allows a client application to provide the EnhancedPositionService with a position feedback</line>
        <line>Note: This interface is typically used by the application that implements the map-matching algorithm</line>
        <line>Such application can hand over to the EnhancedPositionService an array of map-matched positions with different values of reliability</line>
      </doc>
      <arg name="feedback" type="aa{tv}" direction="in">
        <doc>
          <line>feedback = array[position]</line>
          <line>position = dictionary[key,value]</line>
          <line>dictionary = array of tuples (key,value)</line>
          <line>key = enum(LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,RELIABILTY_INDEX, ... )</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 = RELIABILTY_INDEX, value = value of type 'y', that indicates the position feedback reliability. It can assume values from 0 to 100. Higher values indicate higher reliability.</line>
        </doc>
      </arg>
      <arg name="timestamp" type="t" direction="in">
        <doc>
          <line>timestamp = timestamp in ms</line>
        </doc>
      </arg>
      <arg name="feedbackType" type="q" direction="in">
        <doc>
          <line>feedbackType = enum(INVALID,MAP_MATCHED_FEEDBACK,TEST_FEEDBACK, ... )</line>
        </doc>
      </arg>

   </method>

  </interface>

</node>