xref: /aosp_15_r20/hardware/interfaces/automotive/vehicle/proto/VehicleHalProto.proto (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2015 The Android Open Source Project
3*4d7e907cSAndroid Build Coastguard Worker *
4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*4d7e907cSAndroid Build Coastguard Worker *
8*4d7e907cSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*4d7e907cSAndroid Build Coastguard Worker *
10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License.
15*4d7e907cSAndroid Build Coastguard Worker */
16*4d7e907cSAndroid Build Coastguard Worker
17*4d7e907cSAndroid Build Coastguard Workersyntax = "proto2";
18*4d7e907cSAndroid Build Coastguard Worker
19*4d7e907cSAndroid Build Coastguard Workerpackage vhal_proto;
20*4d7e907cSAndroid Build Coastguard Worker
21*4d7e907cSAndroid Build Coastguard Worker// CMD messages are from workstation --> VHAL
22*4d7e907cSAndroid Build Coastguard Worker// RESP messages are from VHAL --> workstation
23*4d7e907cSAndroid Build Coastguard Workerenum MsgType {
24*4d7e907cSAndroid Build Coastguard Worker    GET_CONFIG_CMD = 0;
25*4d7e907cSAndroid Build Coastguard Worker    GET_CONFIG_RESP = 1;
26*4d7e907cSAndroid Build Coastguard Worker    GET_CONFIG_ALL_CMD = 2;
27*4d7e907cSAndroid Build Coastguard Worker    GET_CONFIG_ALL_RESP = 3;
28*4d7e907cSAndroid Build Coastguard Worker    GET_PROPERTY_CMD = 4;
29*4d7e907cSAndroid Build Coastguard Worker    GET_PROPERTY_RESP = 5;
30*4d7e907cSAndroid Build Coastguard Worker    GET_PROPERTY_ALL_CMD = 6;
31*4d7e907cSAndroid Build Coastguard Worker    GET_PROPERTY_ALL_RESP = 7;
32*4d7e907cSAndroid Build Coastguard Worker    SET_PROPERTY_CMD = 8;
33*4d7e907cSAndroid Build Coastguard Worker    SET_PROPERTY_RESP = 9;
34*4d7e907cSAndroid Build Coastguard Worker    SET_PROPERTY_ASYNC = 10;
35*4d7e907cSAndroid Build Coastguard Worker    DEBUG_CMD = 11;
36*4d7e907cSAndroid Build Coastguard Worker    DEBUG_RESP = 12;
37*4d7e907cSAndroid Build Coastguard Worker}
38*4d7e907cSAndroid Build Coastguard Workerenum Status {
39*4d7e907cSAndroid Build Coastguard Worker    RESULT_OK = 0;
40*4d7e907cSAndroid Build Coastguard Worker    ERROR_UNKNOWN = 1;
41*4d7e907cSAndroid Build Coastguard Worker    ERROR_UNIMPLEMENTED_CMD = 2;
42*4d7e907cSAndroid Build Coastguard Worker    ERROR_INVALID_PROPERTY = 3;
43*4d7e907cSAndroid Build Coastguard Worker    ERROR_INVALID_AREA_ID = 4;
44*4d7e907cSAndroid Build Coastguard Worker    ERROR_PROPERTY_UNINITIALIZED = 5;
45*4d7e907cSAndroid Build Coastguard Worker    ERROR_WRITE_ONLY_PROPERTY = 6;
46*4d7e907cSAndroid Build Coastguard Worker    ERROR_MEMORY_ALLOC_FAILED = 7;
47*4d7e907cSAndroid Build Coastguard Worker    ERROR_INVALID_OPERATION = 8;
48*4d7e907cSAndroid Build Coastguard Worker}
49*4d7e907cSAndroid Build Coastguard Worker
50*4d7e907cSAndroid Build Coastguard Workerenum VehiclePropStatus {
51*4d7e907cSAndroid Build Coastguard Worker    AVAILABLE = 0;
52*4d7e907cSAndroid Build Coastguard Worker    UNAVAILABLE = 1;
53*4d7e907cSAndroid Build Coastguard Worker    ERROR = 2;
54*4d7e907cSAndroid Build Coastguard Worker}
55*4d7e907cSAndroid Build Coastguard Worker
56*4d7e907cSAndroid Build Coastguard Workermessage VehicleAreaConfig {
57*4d7e907cSAndroid Build Coastguard Worker    required int32 area_id = 1;
58*4d7e907cSAndroid Build Coastguard Worker    optional sint32 min_int32_value = 2;
59*4d7e907cSAndroid Build Coastguard Worker    optional sint32 max_int32_value = 3;
60*4d7e907cSAndroid Build Coastguard Worker    optional sint64 min_int64_value = 4;
61*4d7e907cSAndroid Build Coastguard Worker    optional sint64 max_int64_value = 5;
62*4d7e907cSAndroid Build Coastguard Worker    optional float min_float_value = 6;
63*4d7e907cSAndroid Build Coastguard Worker    optional float max_float_value = 7;
64*4d7e907cSAndroid Build Coastguard Worker}
65*4d7e907cSAndroid Build Coastguard Worker
66*4d7e907cSAndroid Build Coastguard Workermessage VehiclePropConfig {
67*4d7e907cSAndroid Build Coastguard Worker    required int32 prop = 1;
68*4d7e907cSAndroid Build Coastguard Worker    optional int32 access = 2;
69*4d7e907cSAndroid Build Coastguard Worker    optional int32 change_mode = 3;
70*4d7e907cSAndroid Build Coastguard Worker    optional int32 value_type = 4;
71*4d7e907cSAndroid Build Coastguard Worker    optional int32 supported_areas = 5;  // Deprecated - DO NOT USE
72*4d7e907cSAndroid Build Coastguard Worker    repeated VehicleAreaConfig area_configs = 6;
73*4d7e907cSAndroid Build Coastguard Worker    optional int32 config_flags = 7;
74*4d7e907cSAndroid Build Coastguard Worker    repeated int32 config_array = 8;
75*4d7e907cSAndroid Build Coastguard Worker    optional string config_string = 9;
76*4d7e907cSAndroid Build Coastguard Worker    optional float min_sample_rate = 10;
77*4d7e907cSAndroid Build Coastguard Worker    optional float max_sample_rate = 11;
78*4d7e907cSAndroid Build Coastguard Worker};
79*4d7e907cSAndroid Build Coastguard Worker
80*4d7e907cSAndroid Build Coastguard Workermessage VehiclePropValue {
81*4d7e907cSAndroid Build Coastguard Worker    // common data
82*4d7e907cSAndroid Build Coastguard Worker    required int32 prop = 1;
83*4d7e907cSAndroid Build Coastguard Worker    optional int32 value_type = 2;
84*4d7e907cSAndroid Build Coastguard Worker    optional int64 timestamp = 3;            // required for valid data from HAL, skipped for set
85*4d7e907cSAndroid Build Coastguard Worker    optional VehiclePropStatus status = 10;  // required for valid data from HAL, skipped for set
86*4d7e907cSAndroid Build Coastguard Worker
87*4d7e907cSAndroid Build Coastguard Worker    // values
88*4d7e907cSAndroid Build Coastguard Worker    optional int32 area_id = 4;
89*4d7e907cSAndroid Build Coastguard Worker    repeated sint32 int32_values = 5;  // this also covers boolean value.
90*4d7e907cSAndroid Build Coastguard Worker    repeated sint64 int64_values = 6;
91*4d7e907cSAndroid Build Coastguard Worker    repeated float float_values = 7;
92*4d7e907cSAndroid Build Coastguard Worker    optional string string_value = 8;
93*4d7e907cSAndroid Build Coastguard Worker    optional bytes bytes_value = 9;
94*4d7e907cSAndroid Build Coastguard Worker};
95*4d7e907cSAndroid Build Coastguard Worker
96*4d7e907cSAndroid Build Coastguard Worker// This structure is used to notify what values to get from the Vehicle HAL
97*4d7e907cSAndroid Build Coastguard Workermessage VehiclePropGet {
98*4d7e907cSAndroid Build Coastguard Worker    required int32 prop = 1;
99*4d7e907cSAndroid Build Coastguard Worker    optional int32 area_id = 2;
100*4d7e907cSAndroid Build Coastguard Worker};
101*4d7e907cSAndroid Build Coastguard Worker
102*4d7e907cSAndroid Build Coastguard Workermessage EmulatorMessage {
103*4d7e907cSAndroid Build Coastguard Worker    required MsgType msg_type = 1;
104*4d7e907cSAndroid Build Coastguard Worker    optional Status status = 2;        // Only for RESP messages
105*4d7e907cSAndroid Build Coastguard Worker    repeated VehiclePropGet prop = 3;  // Provided for getConfig, getProperty commands
106*4d7e907cSAndroid Build Coastguard Worker    repeated VehiclePropConfig config = 4;
107*4d7e907cSAndroid Build Coastguard Worker    repeated VehiclePropValue value = 5;
108*4d7e907cSAndroid Build Coastguard Worker    repeated string debug_commands = 6;  // Required for debug command
109*4d7e907cSAndroid Build Coastguard Worker    optional string debug_result = 7;    // Required for debug RESP messages
110*4d7e907cSAndroid Build Coastguard Worker};
111