summaryrefslogtreecommitdiff
path: root/enhanced-position-service/api/franca/EnhancedPosition.fidl
blob: 8b7bdbaaec268b09468d87a0697ff4f8d944a35f (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
/*  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.EnhancedPositionService

import org.genivi.EnhancedPositionService.EnhancedPositionServiceTypes.* from "EnhancedPositionServiceTypes.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 : GetPositionInfo = 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 GetPositionInfo {
            in {
                <** @description : valuesToReturn = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to the values to be returned **>
                   Bitmask valuesToReturn
               }
            out {
                <** @description : timestamp = Timestamp of the acquisition of the position data [ms] **>
                Timestamp timestamp 
                <** @description : data = Position data **>
                PositionInfo[] data
            }
        }
	
	<**
		@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 {
               <** @description : timestamp = Timestamp of the acquisition of the satellite detail data [ms] **>
               Timestamp timestamp
               <** @description : satelliteInfo = satellite information **>
               SatelliteInfo[] satelliteInfo
           }
        }

	<** @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 {
                <** @description : timestamp = Timestamp of the acquisition of the UTC date/time [ms] **>
                Timestamp timestamp
                <** @description : time = UTC date/time **>
                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 {
                <** @description : valuesToReturn = Bitmask obtained as result of a bitwise OR operation on the keys corresponding to the values that changed **>
                Bitmask changedValues
            }
        }

}