summaryrefslogtreecommitdiff
path: root/enhanced-position-service/franca/api/EnhancedPosition.fidl
blob: 92cc9b3de32d5319e9ef338c6e4937072d6dbace (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 notify 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
        }
    }

}