summaryrefslogtreecommitdiff
path: root/enhanced-position-service/api/franca/EnhancedPosition.fidl
blob: f629ec55431d2a087452a5f739d768a7ed2d9a53 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/*  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"
import org.genivi.positioning.EnhancedPositionService.EnhancedPositionTypes.* from "EnhancedPositionTypes.fidl"

<**
	@description : EnhancedPosition = This interface offers functionalities to retrieve the enhanced position of the vehicle
**>
interface EnhancedPosition {
	version {
		major 0
		minor 0
	}

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

	<**
		@description : GetData = This method returns a given set of positioning data (e.g. Position, Course, Accuracy, Status, ... )
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetData {
		in {
			DataType[] valuesToReturn
		}
		out {
			Data data
		}
	}

	<**
		@description : GetPosition = This method returns the current position
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetPosition {
		out {
			PositionInfo position
		}
	}

	<**
		@description : GetRotationRate = This method returns the rotation rate
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetRotationRate {
		out {
			RotationRate rotationRate
		}
	}

	<**
		@description : GetAccuracy = This method returns the accuracy
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetAccuracy {
		out {
			AccuracyInfo accuracy
		}
	}

	<**
		@description : GetSatelliteInfo = This method returns information about the current satellite constellation
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetSatelliteInfo {
		out {
			SatelliteInfo satelliteInfo
		}
	}

	<**
		@description : GetStatus = This method returns the status of this service
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetStatus {
		out {
			StatusInfo status
		}
	}

	<**
		@description : GetTime = This method returns UTC time and date
		Note: If a requested value is invalid, it's not returned to the client application
	**>
	method GetTime {
		out {
			TimeInfo time
		}
	}

	<**
		@description : 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
	**>
	broadcast PositionUpdate {
		out {
			DataType[] changedValues
		}
	}

	<**
		@description : RotationRateUpdated = This signal is emitted when the rotation rate changes
	**>
	broadcast RotationRateUpdate {
		out {
			RotationRateType[] changedValues
		}
	}

	<**
		@description : AccuracyUpdated = This signal is emitted when the accuracy changes
	**>
	broadcast AccuracyUpdate {
		out {
			AccuracyInfoType[] changedValues
		}
	}

	<**
		@description : SatelliteInfoUpdate = This signal is emitted when information about the current satellite information is updated
	**>
	broadcast SatelliteInfoUpdate {
		out {
			SatelliteInfoType[] changedValues
		}
	}

	<**
		@description : StatusUpdate = This signal is emitted when the status of this service changes
	**>
	broadcast StatusUpdate {
		out {
			StatusKey[] changedValues
		}
	}

}