1e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung/*
2e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * Copyright (C) 2015 The Android Open Source Project
3e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung *
4e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * Licensed under the Apache License, Version 2.0 (the "License");
5e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * you may not use this file except in compliance with the License.
6e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * You may obtain a copy of the License at
7e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung *
8e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung *      http://www.apache.org/licenses/LICENSE-2.0
9e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung *
10e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * Unless required by applicable law or agreed to in writing, software
11e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * distributed under the License is distributed on an "AS IS" BASIS,
12e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * See the License for the specific language governing permissions and
14e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung * limitations under the License.
15e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung */
16e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung
17e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungsyntax = "proto2";
18e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungoption java_package = "com.android.car.vehiclenetwork";
19e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungoption optimize_for = LITE_RUNTIME;
20e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung
21e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungmessage VehiclePropConfig {
22e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 prop = 1;
23e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 access = 2;
24e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 change_mode = 3;
25e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 value_type = 4;
26e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 permission_model = 5;
2771b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional int32 zones = 6;
2871b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int32 config_array = 7;
2971b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    required float sample_rate_max = 8;
3071b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    required float sample_rate_min = 9;
3171b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional string config_string = 10;
3271b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated float float_maxs = 11;
3371b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated float float_mins = 12;
3471b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int32 int32_maxs = 13;
3571b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int32 int32_mins = 14;
3671b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int64 int64_maxs = 15;
3771b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int64 int64_mins = 16;
38e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung};
39e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung
40e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungmessage VehiclePropConfigs {
41e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    repeated VehiclePropConfig configs = 1;
42e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung};
43e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung
44e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungmessage VehiclePropValue {
45e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    // common data
46e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 prop = 1;
47e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    required int32 value_type = 2;
4815882e57ee3f329842dfb4aeecc7b890042ce14ekeunyoung    optional int64 timestamp = 3; // required for valid data from HAL, but can be skipped for set.
49e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    // values
5071b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional int32 zone = 4;
5171b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated int32 int32_values= 5; // this also covers boolean value.
5271b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional int64 int64_value = 6;
5371b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    repeated float float_values = 7;
5471b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional string string_value = 8;
5571b2f5cd736f3a9aac8a9356b049d20ea76edb88Keun-young Park    optional bytes bytes_value = 9;
56e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung};
57e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung
58e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoungmessage VehiclePropValues {
59e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung    repeated VehiclePropValue values = 1;
60e18e25d2a79e94a4cea83a94daee5f4cafd419cfkeunyoung};
61