aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivedata/drivedata.qface
blob: 33c23d94f08af4c9d3a6755952ef78616f7fafd5 (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
@config: { qml_type: "shared.com.pelagicore.drivedata" }
module DriveData 1.0;

interface InstrumentCluster {
    /*
     * In Km/H
     */
    real speed;

    /*
     * In Km/H
     */
    real speedLimit;

    /*
     * In Km/H
     */
    real speedCruise;

    /*
     * Between 0 (inclusive) and 100 (inclusive)
     */
    real ePower;

    /*
     * 0 -> Park
     * 1 -> Neutral
     * 2 -> Drive
     * 3 -> Reverse
     */
    int driveTrainState;

    bool lowBeamHeadlight;
    bool highBeamHeadlight;
    bool fogLight;
    bool stabilityControl;
    bool seatBeltNotFastened;
    bool leftTurn;
    bool rightTurn;
    bool ABSFailure;
    bool parkBrake;
    bool tyrePressureLow;
    bool brakeFailure;
    bool airbagFailure;

    /*
    * outside tempterature in celsius degrees
    */
    real outsideTemperatureCelsius;

    /*
    * Mileage in km
    */
    real mileageKm;

    /*
    * 0 - normal
    * 1 - eco
    * 2 - sport
    */
    int drivingMode;
    int drivingModeRangeKm;
    int drivingModeECORangeKm;

    /*
    * Navigation
    * progress 0.0 - 1.0
    * distance in km
    */
    real navigationProgressPercents;
    real navigationRouteDistanceKm;

    /** Whether a secondary (cluster) screen is available */
    bool available;
}

interface NavigationState {
    var mapCenter;
    real mapZoomLevel;
    real mapTilt;
    real mapBearing;
    string nextTurn;
    string nextTurnDistanceMeasuredIn;
    real nextTurnDistance;

    /**
     * Contains route points to show a path on the map
     * Points are stored as a list of coordinates: e.g.
     * [pos1::QtPositioning.coordinate, pos2::QtPositioning.coordinate] is stored as
     * [(pos1.x, pos1.y), (pos1.y , pos1.y)]
    **/
    var routePoints;
}