summaryrefslogtreecommitdiff
path: root/enhanced-position-service/api/franca/PositionFeedback.fidl
blob: 73fc1e6139c0b4470e1e9c8b06a89c2344c78d27 (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
/*  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/.
*/

package org.genivi.positioning.EnhancedPositionService

import org.genivi.positioning.EnhancedPositionService.EnhancedPositionServiceTypes.* from "EnhancedPositionServiceTypes.fidl"

<**
	@description : PositionFeedback = This interface allows the application implementing the map-matching algorithm to provide a position feedback to the EnahncedPositionService
**>

interface PositionFeedback {
	version {
		major 0
		minor 0
	}

	<**
		@description : GetVersion = This method returns the API version implemented by the server application
	**>
	method GetVersion {
		out {
			Version ^version
		}
	}

	<**
		@description : SetPositionFeedback = This method allows a client application to provide the EnhancedPositionService with a position feedback
	**>
	method SetPositionFeedback {
		in {
			PositionFeedback[] feedback

			<**
				@description : timestamp = timestamp in ms
			**>
			UInt64 timestamp

			<**
				@description : feedbackType = enum(INVALID,MAP_MATCHED_FEEDBACK,TEST_FEEDBACK, ... )
			**>
			UInt16 feedbackType
		}
	}
	
    <**
		@description : PositionFeedback = array of tuples (key,value)</line>
          key = enum(INVALID,LATITUDE,LONGITUDE,ALTITUDE,HEADING,SPEED,CLIMB,RELIABILTY_INDEX, ... )</line>
          key = LATITUDE, value = value of type ´d´, that expresses the latitude of the current position in format %3.6f. [-90,+90]. Example: 48.053250
          key = LONGITUDE, value = value of type ´d´, that expresses the longitude of the current position in format %3.6f. [-180,+180]. Example: 8.324500 
          key = ALTITUDE, value = value of type ´i´, that expresses the altitude above the sea level of the current position in meters
          key = HEADING, value = value of type ´i´, that expresses the course angle in degree. [0,360]. Example: 0 => north, 90 => east, 180 => south, 270 => west
          key = SPEED, value = value of type ´d´, that expresses speed measured in m/s
          key = CLIMB, value = value of type ´i´, that expresses the inclination measured in degrees
          key = RELIABILTY_INDEX, value = value of type ´y´, that indicates the position feedabck reliabilty. It can assume values from 0 to 100
	**>
	map PositionFeedback {
		UInt16 to Value
	}

}