Migrate proto_message_converter to AIDL vhal.
Migrate proto_message_converter to AIDL vhal. This would be used
in grpc vehicleClient/vehiclServer. This CL also creates the
required proto files.
Test: unit tests.
Bug: 199337732
Change-Id: Iac69a8c1578d4aba374ee0d9716da8b6b18ccace
diff --git a/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h b/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h
index 411075d..ebcb77a 100644
--- a/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h
+++ b/automotive/vehicle/aidl/impl/default_config/include/DefaultConfig.h
@@ -22,6 +22,7 @@
#include <VehicleHalTypes.h>
#include <map>
+#include <vector>
namespace android {
namespace hardware {
@@ -35,6 +36,7 @@
using ::aidl::android::hardware::automotive::vehicle::EvsServiceState;
using ::aidl::android::hardware::automotive::vehicle::EvsServiceType;
using ::aidl::android::hardware::automotive::vehicle::FuelType;
+using ::aidl::android::hardware::automotive::vehicle::RawPropValues;
using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReport;
using ::aidl::android::hardware::automotive::vehicle::VehicleApPowerStateReq;
using ::aidl::android::hardware::automotive::vehicle::VehicleAreaConfig;
@@ -52,116 +54,107 @@
using ::aidl::android::hardware::automotive::vehicle::VehicleUnit;
using ::aidl::android::hardware::automotive::vehicle::VehicleVendorPermission;
-} // namespace defaultconfig_impl
-
struct ConfigDeclaration {
- defaultconfig_impl::VehiclePropConfig config;
+ VehiclePropConfig config;
// This value will be used as an initial value for the property. If this field is specified for
// property that supports multiple areas then it will be used for all areas unless particular
// area is overridden in initialAreaValue field.
- ::aidl::android::hardware::automotive::vehicle::RawPropValues initialValue;
+ RawPropValues initialValue;
// Use initialAreaValues if it is necessary to specify different values per each area.
- std::map<int32_t, ::aidl::android::hardware::automotive::vehicle::RawPropValues>
- initialAreaValues;
+ std::map<int32_t, RawPropValues> initialAreaValues;
};
-const ConfigDeclaration kVehicleProperties[]{
+const std::vector<ConfigDeclaration> kVehicleProperties = {
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_FUEL_CAPACITY),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_FUEL_CAPACITY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.floatValues = {15000.0f}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_FUEL_TYPE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_FUEL_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
- .initialValue = {.int32Values = {toInt(
- defaultconfig_impl::FuelType::FUEL_TYPE_UNLEADED)}}},
+ .initialValue = {.int32Values = {toInt(FuelType::FUEL_TYPE_UNLEADED)}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::INFO_EV_BATTERY_CAPACITY),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_EV_BATTERY_CAPACITY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.floatValues = {150000.0f}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_EV_CONNECTOR_TYPE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_EV_CONNECTOR_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
- .initialValue = {.int32Values = {toInt(
- defaultconfig_impl::EvConnectorType::IEC_TYPE_1_AC)}}},
+ .initialValue = {.int32Values = {toInt(EvConnectorType::IEC_TYPE_1_AC)}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::INFO_FUEL_DOOR_LOCATION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_FUEL_DOOR_LOCATION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.int32Values = {FUEL_DOOR_REAR_LEFT}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_EV_PORT_LOCATION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_EV_PORT_LOCATION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.int32Values = {CHARGE_PORT_FRONT_LEFT}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_MULTI_EV_PORT_LOCATIONS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.int32Values = {CHARGE_PORT_FRONT_LEFT, CHARGE_PORT_REAR_LEFT}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_MAKE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_MAKE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.stringValue = "Toy Vehicle"}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_MODEL),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_MODEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.stringValue = "Speedy Model"}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_MODEL_YEAR),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_MODEL_YEAR),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.int32Values = {2020}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::INFO_EXTERIOR_DIMENSIONS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_EXTERIOR_DIMENSIONS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialValue = {.int32Values = {1776, 4950, 2008, 2140, 2984, 1665, 1667, 11800}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::PERF_VEHICLE_SPEED),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::PERF_VEHICLE_SPEED),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
@@ -169,68 +162,61 @@
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray =
- {toInt(defaultconfig_impl::VehicleUnit::METER_PER_SEC),
- toInt(defaultconfig_impl::VehicleUnit::MILES_PER_HOUR),
- toInt(defaultconfig_impl::VehicleUnit::KILOMETERS_PER_HOUR)},
+ .prop = toInt(VehicleProperty::VEHICLE_SPEED_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::METER_PER_SEC),
+ toInt(VehicleUnit::MILES_PER_HOUR),
+ toInt(VehicleUnit::KILOMETERS_PER_HOUR)},
},
- .initialValue = {.int32Values = {toInt(
- defaultconfig_impl::VehicleUnit::KILOMETERS_PER_HOUR)}}},
+ .initialValue = {.int32Values = {toInt(VehicleUnit::KILOMETERS_PER_HOUR)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::SEAT_OCCUPANCY),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs =
- {defaultconfig_impl::VehicleAreaConfig{.areaId = (SEAT_1_LEFT)},
- defaultconfig_impl::VehicleAreaConfig{.areaId = (SEAT_1_RIGHT)}},
+ .prop = toInt(VehicleProperty::SEAT_OCCUPANCY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = (SEAT_1_LEFT)},
+ VehicleAreaConfig{.areaId = (SEAT_1_RIGHT)}},
},
- .initialAreaValues =
- {{SEAT_1_LEFT,
- {.int32Values = {toInt(defaultconfig_impl::VehicleSeatOccupancyState::VACANT)}}},
- {SEAT_1_RIGHT,
- {.int32Values = {toInt(
- defaultconfig_impl::VehicleSeatOccupancyState::VACANT)}}}}},
+ .initialAreaValues = {{SEAT_1_LEFT,
+ {.int32Values = {toInt(VehicleSeatOccupancyState::VACANT)}}},
+ {SEAT_1_RIGHT,
+ {.int32Values = {toInt(VehicleSeatOccupancyState::VACANT)}}}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::INFO_DRIVER_SEAT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::INFO_DRIVER_SEAT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
// this was a zoned property on an old vhal, but it is meant to be global
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = (0)}},
+ .areaConfigs = {VehicleAreaConfig{.areaId = (0)}},
},
.initialValue = {.int32Values = {SEAT_1_LEFT}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::PERF_ODOMETER),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::PERF_ODOMETER),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
.initialValue = {.floatValues = {0.0f}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::PERF_STEERING_ANGLE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::PERF_STEERING_ANGLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
.initialValue = {.floatValues = {0.0f}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::PERF_REAR_STEERING_ANGLE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::PERF_REAR_STEERING_ANGLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
@@ -238,10 +224,9 @@
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::ENGINE_RPM),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::ENGINE_RPM),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
@@ -250,9 +235,9 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::FUEL_LEVEL),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::FUEL_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 100.0f,
},
@@ -260,17 +245,17 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::FUEL_DOOR_OPEN),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::FUEL_DOOR_OPEN),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::EV_BATTERY_LEVEL),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::EV_BATTERY_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 100.0f,
},
@@ -278,27 +263,25 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::EV_CHARGE_PORT_OPEN),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::EV_CHARGE_PORT_OPEN),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::EV_CHARGE_PORT_CONNECTED),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::EV_CHARGE_PORT_CONNECTED),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- EV_BATTERY_INSTANTANEOUS_CHARGE_RATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::EV_BATTERY_INSTANTANEOUS_CHARGE_RATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
},
@@ -306,9 +289,9 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::RANGE_REMAINING),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::RANGE_REMAINING),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 2.0f,
},
@@ -316,25 +299,25 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::TIRE_PRESSURE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
+ .areaConfigs = {VehicleAreaConfig{
.areaId = WHEEL_FRONT_LEFT,
.minFloatValue = 193.0f,
.maxFloatValue = 300.0f,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = WHEEL_FRONT_RIGHT,
.minFloatValue = 193.0f,
.maxFloatValue = 300.0f,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = WHEEL_REAR_LEFT,
.minFloatValue = 193.0f,
.maxFloatValue = 300.0f,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = WHEEL_REAR_RIGHT,
.minFloatValue = 193.0f,
.maxFloatValue = 300.0f,
@@ -346,10 +329,9 @@
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
+ .prop = toInt(VehicleProperty::CRITICALLY_LOW_TIRE_PRESSURE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
},
.initialAreaValues = {{WHEEL_FRONT_LEFT, {.floatValues = {137.0f}}},
{WHEEL_FRONT_RIGHT, {.floatValues = {137.0f}}},
@@ -358,78 +340,73 @@
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray = {toInt(defaultconfig_impl::VehicleUnit::KILOPASCAL),
- toInt(defaultconfig_impl::VehicleUnit::PSI),
- toInt(defaultconfig_impl::VehicleUnit::BAR)},
+ .prop = toInt(VehicleProperty::TIRE_PRESSURE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::KILOPASCAL), toInt(VehicleUnit::PSI),
+ toInt(VehicleUnit::BAR)},
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleUnit::PSI)}}},
+ .initialValue = {.int32Values = {toInt(VehicleUnit::PSI)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::CURRENT_GEAR),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray = {toInt(defaultconfig_impl::VehicleGear::GEAR_PARK),
- toInt(defaultconfig_impl::VehicleGear::GEAR_NEUTRAL),
- toInt(defaultconfig_impl::VehicleGear::GEAR_REVERSE),
- toInt(defaultconfig_impl::VehicleGear::GEAR_1),
- toInt(defaultconfig_impl::VehicleGear::GEAR_2),
- toInt(defaultconfig_impl::VehicleGear::GEAR_3),
- toInt(defaultconfig_impl::VehicleGear::GEAR_4),
- toInt(defaultconfig_impl::VehicleGear::GEAR_5)},
+ .prop = toInt(VehicleProperty::CURRENT_GEAR),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleGear::GEAR_PARK),
+ toInt(VehicleGear::GEAR_NEUTRAL),
+ toInt(VehicleGear::GEAR_REVERSE),
+ toInt(VehicleGear::GEAR_1), toInt(VehicleGear::GEAR_2),
+ toInt(VehicleGear::GEAR_3), toInt(VehicleGear::GEAR_4),
+ toInt(VehicleGear::GEAR_5)},
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleGear::GEAR_PARK)}}},
+ .initialValue = {.int32Values = {toInt(VehicleGear::GEAR_PARK)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::PARKING_BRAKE_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::PARKING_BRAKE_ON),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {1}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::PARKING_BRAKE_AUTO_APPLY),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::PARKING_BRAKE_AUTO_APPLY),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {1}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::FUEL_LEVEL_LOW),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::FUEL_LEVEL_LOW),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HW_KEY_INPUT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HW_KEY_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0, 0, 0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HW_ROTARY_INPUT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HW_ROTARY_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0, 0, 0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HW_CUSTOM_INPUT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HW_CUSTOM_INPUT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0, 0, 0, 3, 0, 0, 0, 0, 0},
},
.initialValue =
@@ -437,106 +414,98 @@
.int32Values = {0, 0, 0},
}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_POWER_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_POWER_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}},
// TODO(bryaneyler): Ideally, this is generated dynamically from
// kHvacPowerProperties.
- .configArray =
- {toInt(defaultconfig_impl::VehicleProperty::HVAC_FAN_SPEED),
- toInt(defaultconfig_impl::VehicleProperty::HVAC_FAN_DIRECTION)}},
+ .configArray = {toInt(VehicleProperty::HVAC_FAN_SPEED),
+ toInt(VehicleProperty::HVAC_FAN_DIRECTION)}},
.initialValue = {.int32Values = {1}}},
{
- .config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_DEFROSTER),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .config = {.prop = toInt(VehicleProperty::HVAC_DEFROSTER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs =
- {defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- FRONT_WINDSHIELD)},
- defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- REAR_WINDSHIELD)}}},
+ {VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD)},
+ VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD)}}},
.initialValue = {.int32Values = {0}} // Will be used for all areas.
},
{
- .config = {.prop = toInt(
- defaultconfig_impl::VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .config = {.prop = toInt(VehicleProperty::HVAC_ELECTRIC_DEFROSTER_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs =
- {defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- FRONT_WINDSHIELD)},
- defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- REAR_WINDSHIELD)}}},
+ {VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD)},
+ VehicleAreaConfig{
+ .areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD)}}},
.initialValue = {.int32Values = {0}} // Will be used for all areas.
},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_MAX_DEFROST_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_MAX_DEFROST_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_RECIRC_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_RECIRC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {1}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_AUTO_RECIRC_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AUTO_RECIRC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_AC_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {1}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_MAX_AC_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_MAX_AC_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_AUTO_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_AUTO_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {1}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_DUAL_ON),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_DUAL_ON),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_FAN_SPEED),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_SPEED),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
.areaId = HVAC_ALL, .minInt32Value = 1, .maxInt32Value = 7}}},
.initialValue = {.int32Values = {3}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_FAN_DIRECTION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
- .initialValue = {.int32Values = {toInt(
- defaultconfig_impl::VehicleHvacFanDirection::FACE)}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_DIRECTION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ .initialValue = {.int32Values = {toInt(VehicleHvacFanDirection::FACE)}}},
- {.config = {.prop = toInt(
- defaultconfig_impl::VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::STATIC,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_ALL}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_FAN_DIRECTION_AVAILABLE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::STATIC,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_ALL}}},
.initialValue = {.int32Values = {FAN_DIRECTION_FACE, FAN_DIRECTION_FLOOR,
FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR,
FAN_DIRECTION_DEFROST,
@@ -544,15 +513,15 @@
FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST,
FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST |
FAN_DIRECTION_FACE}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_SEAT_VENTILATION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ {.config = {.prop = toInt(VehicleProperty::HVAC_SEAT_VENTILATION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
.areaId = SEAT_1_LEFT,
.minInt32Value = 0,
.maxInt32Value = 3,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = SEAT_1_RIGHT,
.minInt32Value = 0,
.maxInt32Value = 3,
@@ -560,38 +529,38 @@
.initialValue =
{.int32Values = {0}}}, // 0 is off and +ve values indicate ventilation level.
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_STEERING_WHEEL_HEAT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ {.config = {.prop = toInt(VehicleProperty::HVAC_STEERING_WHEEL_HEAT),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
.areaId = (0), .minInt32Value = -2, .maxInt32Value = 2}}},
.initialValue = {.int32Values = {0}}}, // +ve values for heating and -ve for cooling
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_SEAT_TEMPERATURE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ {.config = {.prop = toInt(VehicleProperty::HVAC_SEAT_TEMPERATURE),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{
.areaId = SEAT_1_LEFT,
.minInt32Value = -2,
.maxInt32Value = 2,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = SEAT_1_RIGHT,
.minInt32Value = -2,
.maxInt32Value = 2,
}}},
.initialValue = {.int32Values = {0}}}, // +ve values for heating and -ve for cooling
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::HVAC_TEMPERATURE_SET),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ {.config = {.prop = toInt(VehicleProperty::HVAC_TEMPERATURE_SET),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {160, 280, 5, 605, 825, 10},
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
+ .areaConfigs = {VehicleAreaConfig{
.areaId = HVAC_LEFT,
.minFloatValue = 16,
.maxFloatValue = 32,
},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{
.areaId = HVAC_RIGHT,
.minFloatValue = 16,
.maxFloatValue = 32,
@@ -601,99 +570,90 @@
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- HVAC_TEMPERATURE_VALUE_SUGGESTION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HVAC_TEMPERATURE_VALUE_SUGGESTION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
- .initialValue = {.floatValues = {66.2f, (float)defaultconfig_impl::VehicleUnit::FAHRENHEIT,
- 19.0f, 66.5f}}},
+ .initialValue = {.floatValues = {66.2f, (float)VehicleUnit::FAHRENHEIT, 19.0f, 66.5f}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::ENV_OUTSIDE_TEMPERATURE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
+ .prop = toInt(VehicleProperty::ENV_OUTSIDE_TEMPERATURE),
+ .access = VehiclePropertyAccess::READ,
// TODO(bryaneyler): Support ON_CHANGE as well.
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 1.0f,
.maxSampleRate = 2.0f,
},
.initialValue = {.floatValues = {25.0f}}},
- {.config = {.prop = toInt(
- defaultconfig_impl::VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray = {toInt(defaultconfig_impl::VehicleUnit::FAHRENHEIT),
- toInt(defaultconfig_impl::VehicleUnit::CELSIUS)}},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleUnit::FAHRENHEIT)}}},
+ {.config = {.prop = toInt(VehicleProperty::HVAC_TEMPERATURE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleUnit::FAHRENHEIT), toInt(VehicleUnit::CELSIUS)}},
+ .initialValue = {.int32Values = {toInt(VehicleUnit::FAHRENHEIT)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::DISTANCE_DISPLAY_UNITS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = (0)}},
- .configArray = {toInt(defaultconfig_impl::VehicleUnit::KILOMETER),
- toInt(defaultconfig_impl::VehicleUnit::MILE)},
+ .prop = toInt(VehicleProperty::DISTANCE_DISPLAY_UNITS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = (0)}},
+ .configArray = {toInt(VehicleUnit::KILOMETER), toInt(VehicleUnit::MILE)},
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleUnit::MILE)}}},
+ .initialValue = {.int32Values = {toInt(VehicleUnit::MILE)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::NIGHT_MODE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::NIGHT_MODE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::GEAR_SELECTION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray = {toInt(defaultconfig_impl::VehicleGear::GEAR_PARK),
- toInt(defaultconfig_impl::VehicleGear::GEAR_NEUTRAL),
- toInt(defaultconfig_impl::VehicleGear::GEAR_REVERSE),
- toInt(defaultconfig_impl::VehicleGear::GEAR_DRIVE),
- toInt(defaultconfig_impl::VehicleGear::GEAR_1),
- toInt(defaultconfig_impl::VehicleGear::GEAR_2),
- toInt(defaultconfig_impl::VehicleGear::GEAR_3),
- toInt(defaultconfig_impl::VehicleGear::GEAR_4),
- toInt(defaultconfig_impl::VehicleGear::GEAR_5)},
+ .prop = toInt(VehicleProperty::GEAR_SELECTION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {toInt(VehicleGear::GEAR_PARK),
+ toInt(VehicleGear::GEAR_NEUTRAL),
+ toInt(VehicleGear::GEAR_REVERSE),
+ toInt(VehicleGear::GEAR_DRIVE), toInt(VehicleGear::GEAR_1),
+ toInt(VehicleGear::GEAR_2), toInt(VehicleGear::GEAR_3),
+ toInt(VehicleGear::GEAR_4), toInt(VehicleGear::GEAR_5)},
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleGear::GEAR_PARK)}}},
+ .initialValue = {.int32Values = {toInt(VehicleGear::GEAR_PARK)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::TURN_SIGNAL_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::TURN_SIGNAL_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleTurnSignal::NONE)}}},
+ .initialValue = {.int32Values = {toInt(VehicleTurnSignal::NONE)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::IGNITION_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::IGNITION_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleIgnitionState::ON)}}},
+ .initialValue = {.int32Values = {toInt(VehicleIgnitionState::ON)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::ENGINE_OIL_LEVEL),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::ENGINE_OIL_LEVEL),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleOilLevel::NORMAL)}}},
+ .initialValue = {.int32Values = {toInt(VehicleOilLevel::NORMAL)}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::ENGINE_OIL_TEMP),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .prop = toInt(VehicleProperty::ENGINE_OIL_TEMP),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.minSampleRate = 0.1, // 0.1 Hz, every 10 seconds
.maxSampleRate = 10, // 10 Hz, every 100 ms
},
@@ -701,8 +661,8 @@
{
.config = {.prop = kMixedTypePropertyForTest,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {1, 1, 0, 2, 0, 0, 1, 0, 0}},
.initialValue =
{
@@ -712,70 +672,69 @@
},
},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::DOOR_LOCK),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_1_LEFT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_2_LEFT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
+ {.config = {.prop = toInt(VehicleProperty::DOOR_LOCK),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = DOOR_1_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
+ VehicleAreaConfig{.areaId = DOOR_2_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
.initialAreaValues = {{DOOR_1_LEFT, {.int32Values = {1}}},
{DOOR_1_RIGHT, {.int32Values = {1}}},
{DOOR_2_LEFT, {.int32Values = {1}}},
{DOOR_2_RIGHT, {.int32Values = {1}}}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::DOOR_POS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ {.config = {.prop = toInt(VehicleProperty::DOOR_POS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs =
- {defaultconfig_impl::VehicleAreaConfig{
+ {VehicleAreaConfig{
.areaId = DOOR_1_LEFT, .minInt32Value = 0, .maxInt32Value = 1},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_1_RIGHT,
- .minInt32Value = 0,
- .maxInt32Value = 1},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 1},
+ VehicleAreaConfig{
.areaId = DOOR_2_LEFT, .minInt32Value = 0, .maxInt32Value = 1},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_2_RIGHT,
- .minInt32Value = 0,
- .maxInt32Value = 1},
- defaultconfig_impl::VehicleAreaConfig{
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 1},
+ VehicleAreaConfig{
.areaId = DOOR_REAR, .minInt32Value = 0, .maxInt32Value = 1}}},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::WINDOW_LOCK),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{
- .areaId = WINDOW_1_RIGHT | WINDOW_2_LEFT | WINDOW_2_RIGHT}}},
+ {.config = {.prop = toInt(VehicleProperty::WINDOW_LOCK),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = WINDOW_1_RIGHT | WINDOW_2_LEFT |
+ WINDOW_2_RIGHT}}},
.initialAreaValues = {{WINDOW_1_RIGHT | WINDOW_2_LEFT | WINDOW_2_RIGHT,
{.int32Values = {0}}}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::WINDOW_POS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = WINDOW_1_LEFT,
- .minInt32Value = 0,
- .maxInt32Value = 10},
- defaultconfig_impl::VehicleAreaConfig{.areaId = WINDOW_1_RIGHT,
- .minInt32Value = 0,
- .maxInt32Value = 10},
- defaultconfig_impl::VehicleAreaConfig{.areaId = WINDOW_2_LEFT,
- .minInt32Value = 0,
- .maxInt32Value = 10},
- defaultconfig_impl::VehicleAreaConfig{.areaId = WINDOW_2_RIGHT,
- .minInt32Value = 0,
- .maxInt32Value = 10},
- defaultconfig_impl::VehicleAreaConfig{
- .areaId = WINDOW_ROOF_TOP_1,
- .minInt32Value = -10,
- .maxInt32Value = 10}}},
+ {.config = {.prop = toInt(VehicleProperty::WINDOW_POS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = WINDOW_1_LEFT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_1_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_2_LEFT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_2_RIGHT,
+ .minInt32Value = 0,
+ .maxInt32Value = 10},
+ VehicleAreaConfig{.areaId = WINDOW_ROOF_TOP_1,
+ .minInt32Value = -10,
+ .maxInt32Value = 10}}},
.initialValue = {.int32Values = {0}}},
{.config =
{
.prop = WHEEL_TICK,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::CONTINUOUS,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::CONTINUOUS,
.configArray = {ALL_WHEELS, 50000, 50000, 50000, 50000},
.minSampleRate = 1.0f,
.maxSampleRate = 10.0f,
@@ -783,371 +742,324 @@
.initialValue = {.int64Values = {0, 100000, 200000, 300000, 400000}}},
{.config = {.prop = ABS_ACTIVE,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
.initialValue = {.int32Values = {0}}},
{.config = {.prop = TRACTION_CONTROL_ACTIVE,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::AP_POWER_STATE_REQ),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ {.config = {.prop = toInt(VehicleProperty::AP_POWER_STATE_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {3}},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::VehicleApPowerStateReq::ON),
- 0}}},
+ .initialValue = {.int32Values = {toInt(VehicleApPowerStateReq::ON), 0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::AP_POWER_STATE_REPORT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
- .initialValue =
- {.int32Values =
- {toInt(defaultconfig_impl::VehicleApPowerStateReport::WAIT_FOR_VHAL),
- 0}}},
+ {.config = {.prop = toInt(VehicleProperty::AP_POWER_STATE_REPORT),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
+ .initialValue = {.int32Values = {toInt(VehicleApPowerStateReport::WAIT_FOR_VHAL), 0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::DISPLAY_BRIGHTNESS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.minInt32Value = 0,
- .maxInt32Value = 100}}},
+ {.config = {.prop = toInt(VehicleProperty::DISPLAY_BRIGHTNESS),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.minInt32Value = 0, .maxInt32Value = 100}}},
.initialValue = {.int32Values = {100}}},
{
.config = {.prop = OBD2_LIVE_FRAME,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0, 0}},
},
{
.config = {.prop = OBD2_FREEZE_FRAME,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0, 0}},
},
{
.config = {.prop = OBD2_FREEZE_FRAME_INFO,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
},
{
.config = {.prop = OBD2_FREEZE_FRAME_CLEAR,
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {1}},
},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HEADLIGHTS_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HEADLIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_STATE_ON}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HIGH_BEAM_LIGHTS_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HIGH_BEAM_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_STATE_ON}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::FOG_LIGHTS_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::FOG_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_STATE_ON}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HAZARD_LIGHTS_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HAZARD_LIGHTS_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_STATE_ON}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HEADLIGHTS_SWITCH),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HEADLIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
{.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HIGH_BEAM_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::FOG_LIGHTS_SWITCH),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::FOG_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::HAZARD_LIGHTS_SWITCH),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::HAZARD_LIGHTS_SWITCH),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {LIGHT_SWITCH_AUTO}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::EVS_SERVICE_REQUEST),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::EVS_SERVICE_REQUEST),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
- .initialValue = {.int32Values = {toInt(defaultconfig_impl::EvsServiceType::REARVIEW),
- toInt(defaultconfig_impl::EvsServiceState::OFF)}}},
+ .initialValue = {.int32Values = {toInt(EvsServiceType::REARVIEW),
+ toInt(EvsServiceState::OFF)}}},
{.config = {.prop = VEHICLE_MAP_SERVICE,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE}},
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE}},
// Example Vendor Extension properties for testing
{.config = {.prop = VENDOR_EXTENSION_BOOLEAN_PROPERTY,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_1_LEFT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_2_LEFT},
- defaultconfig_impl::VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = DOOR_1_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_1_RIGHT},
+ VehicleAreaConfig{.areaId = DOOR_2_LEFT},
+ VehicleAreaConfig{.areaId = DOOR_2_RIGHT}}},
.initialAreaValues = {{DOOR_1_LEFT, {.int32Values = {1}}},
{DOOR_1_RIGHT, {.int32Values = {1}}},
{DOOR_2_LEFT, {.int32Values = {0}}},
{DOOR_2_RIGHT, {.int32Values = {0}}}}},
{.config = {.prop = VENDOR_EXTENSION_FLOAT_PROPERTY,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .areaConfigs = {defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_LEFT,
- .minFloatValue = -10,
- .maxFloatValue = 10},
- defaultconfig_impl::VehicleAreaConfig{.areaId = HVAC_RIGHT,
- .minFloatValue = -10,
- .maxFloatValue = 10}}},
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .areaConfigs = {VehicleAreaConfig{.areaId = HVAC_LEFT,
+ .minFloatValue = -10,
+ .maxFloatValue = 10},
+ VehicleAreaConfig{.areaId = HVAC_RIGHT,
+ .minFloatValue = -10,
+ .maxFloatValue = 10}}},
.initialAreaValues = {{HVAC_LEFT, {.floatValues = {1}}},
{HVAC_RIGHT, {.floatValues = {2}}}}},
{.config = {.prop = VENDOR_EXTENSION_INT_PROPERTY,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.areaConfigs =
- {defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- FRONT_WINDSHIELD),
- .minInt32Value = -100,
- .maxInt32Value = 100},
- defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(defaultconfig_impl::VehicleAreaWindow::
- REAR_WINDSHIELD),
- .minInt32Value = -100,
- .maxInt32Value = 100},
- defaultconfig_impl::VehicleAreaConfig{
- .areaId = toInt(
- defaultconfig_impl::VehicleAreaWindow::ROOF_TOP_1),
- .minInt32Value = -100,
- .maxInt32Value = 100}}},
- .initialAreaValues = {{toInt(defaultconfig_impl::VehicleAreaWindow::FRONT_WINDSHIELD),
- {.int32Values = {1}}},
- {toInt(defaultconfig_impl::VehicleAreaWindow::REAR_WINDSHIELD),
- {.int32Values = {0}}},
- {toInt(defaultconfig_impl::VehicleAreaWindow::ROOF_TOP_1),
- {.int32Values = {-1}}}}},
+ {VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::FRONT_WINDSHIELD),
+ .minInt32Value = -100,
+ .maxInt32Value = 100},
+ VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::REAR_WINDSHIELD),
+ .minInt32Value = -100,
+ .maxInt32Value = 100},
+ VehicleAreaConfig{.areaId = toInt(VehicleAreaWindow::ROOF_TOP_1),
+ .minInt32Value = -100,
+ .maxInt32Value = 100}}},
+ .initialAreaValues = {{toInt(VehicleAreaWindow::FRONT_WINDSHIELD), {.int32Values = {1}}},
+ {toInt(VehicleAreaWindow::REAR_WINDSHIELD), {.int32Values = {0}}},
+ {toInt(VehicleAreaWindow::ROOF_TOP_1), {.int32Values = {-1}}}}},
{.config = {.prop = VENDOR_EXTENSION_STRING_PROPERTY,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
.initialValue = {.stringValue = "Vendor String Property"}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::
- ELECTRONIC_TOLL_COLLECTION_CARD_TYPE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ {.config = {.prop = toInt(VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_TYPE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
.initialValue = {.int32Values = {0}}},
- {.config = {.prop = toInt(defaultconfig_impl::VehicleProperty::
- ELECTRONIC_TOLL_COLLECTION_CARD_STATUS),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE},
+ {.config = {.prop = toInt(VehicleProperty::ELECTRONIC_TOLL_COLLECTION_CARD_STATUS),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE},
.initialValue = {.int32Values = {0}}},
{.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- SUPPORT_CUSTOMIZE_VENDOR_PERMISSION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode = defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
- .configArray =
- {kMixedTypePropertyForTest,
- toInt(defaultconfig_impl::
- VehicleVendorPermission::
- PERMISSION_GET_VENDOR_CATEGORY_INFO),
- toInt(defaultconfig_impl::
- VehicleVendorPermission::
- PERMISSION_SET_VENDOR_CATEGORY_INFO),
- VENDOR_EXTENSION_INT_PROPERTY,
- toInt(defaultconfig_impl::
- VehicleVendorPermission::
- PERMISSION_GET_VENDOR_CATEGORY_SEAT),
- toInt(defaultconfig_impl::
- VehicleVendorPermission::PERMISSION_NOT_ACCESSIBLE),
- VENDOR_EXTENSION_FLOAT_PROPERTY,
- toInt(defaultconfig_impl::
- VehicleVendorPermission::PERMISSION_DEFAULT),
- toInt(defaultconfig_impl::
- VehicleVendorPermission::PERMISSION_DEFAULT)},
+ .prop = toInt(VehicleProperty::SUPPORT_CUSTOMIZE_VENDOR_PERMISSION),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
+ .configArray = {kMixedTypePropertyForTest,
+ toInt(VehicleVendorPermission::
+ PERMISSION_GET_VENDOR_CATEGORY_INFO),
+ toInt(VehicleVendorPermission::
+ PERMISSION_SET_VENDOR_CATEGORY_INFO),
+ VENDOR_EXTENSION_INT_PROPERTY,
+ toInt(VehicleVendorPermission::
+ PERMISSION_GET_VENDOR_CATEGORY_SEAT),
+ toInt(VehicleVendorPermission::PERMISSION_NOT_ACCESSIBLE),
+ VENDOR_EXTENSION_FLOAT_PROPERTY,
+ toInt(VehicleVendorPermission::PERMISSION_DEFAULT),
+ toInt(VehicleVendorPermission::PERMISSION_DEFAULT)},
},
.initialValue = {.int32Values = {1}}},
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::INITIAL_USER_INFO),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::INITIAL_USER_INFO),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::SWITCH_USER),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::SWITCH_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::CREATE_USER),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CREATE_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::REMOVE_USER),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::REMOVE_USER),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- USER_IDENTIFICATION_ASSOCIATION),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::USER_IDENTIFICATION_ASSOCIATION),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::POWER_POLICY_REQ),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::POWER_POLICY_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- POWER_POLICY_GROUP_REQ),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::POWER_POLICY_GROUP_REQ),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::CURRENT_POWER_POLICY),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CURRENT_POWER_POLICY),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::EPOCH_TIME),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::EPOCH_TIME),
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::WATCHDOG_ALIVE),
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::WATCHDOG_ALIVE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- WATCHDOG_TERMINATED_PROCESS),
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::WATCHDOG_TERMINATED_PROCESS),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::VHAL_HEARTBEAT),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::VHAL_HEARTBEAT),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::CLUSTER_SWITCH_UI),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CLUSTER_SWITCH_UI),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0 /* ClusterHome */, -1 /* ClusterNone */}},
},
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::CLUSTER_DISPLAY_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CLUSTER_DISPLAY_STATE),
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0 /* Off */, -1, -1, -1, -1 /* Bounds */, -1, -1,
-1, -1 /* Insets */}},
@@ -1155,41 +1067,34 @@
{
.config =
{
- .prop = toInt(
- defaultconfig_impl::VehicleProperty::CLUSTER_REPORT_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CLUSTER_REPORT_STATE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0, 0, 0, 11, 0, 0, 0, 0, 16},
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- CLUSTER_REQUEST_DISPLAY),
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CLUSTER_REQUEST_DISPLAY),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
- .prop = toInt(defaultconfig_impl::VehicleProperty::
- CLUSTER_NAVIGATION_STATE),
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .prop = toInt(VehicleProperty::CLUSTER_NAVIGATION_STATE),
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
.prop = PLACEHOLDER_PROPERTY_INT,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0}},
},
@@ -1197,9 +1102,8 @@
.config =
{
.prop = PLACEHOLDER_PROPERTY_FLOAT,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.floatValues = {0.0f}},
},
@@ -1207,9 +1111,8 @@
.config =
{
.prop = PLACEHOLDER_PROPERTY_BOOLEAN,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0 /* false */}},
},
@@ -1217,9 +1120,8 @@
.config =
{
.prop = PLACEHOLDER_PROPERTY_STRING,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ_WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ_WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.stringValue = {"Test"}},
},
@@ -1229,27 +1131,24 @@
.config =
{
.prop = VENDOR_CLUSTER_SWITCH_UI,
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
.prop = VENDOR_CLUSTER_DISPLAY_STATE,
- .access = defaultconfig_impl::VehiclePropertyAccess::WRITE,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::WRITE,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
{
.config =
{
.prop = VENDOR_CLUSTER_REPORT_STATE,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
.configArray = {0, 0, 0, 11, 0, 0, 0, 0, 16},
},
.initialValue = {.int32Values = {0 /* Off */, -1, -1, -1, -1 /* Bounds */, -1, -1,
@@ -1260,9 +1159,8 @@
.config =
{
.prop = VENDOR_CLUSTER_REQUEST_DISPLAY,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
.initialValue = {.int32Values = {0 /* ClusterHome */}},
},
@@ -1270,14 +1168,26 @@
.config =
{
.prop = VENDOR_CLUSTER_NAVIGATION_STATE,
- .access = defaultconfig_impl::VehiclePropertyAccess::READ,
- .changeMode =
- defaultconfig_impl::VehiclePropertyChangeMode::ON_CHANGE,
+ .access = VehiclePropertyAccess::READ,
+ .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
},
},
#endif // ENABLE_VENDOR_CLUSTER_PROPERTY_FOR_TESTING
};
+} // namespace defaultconfig_impl
+
+// public namespace
+namespace defaultconfig {
+
+typedef defaultconfig_impl::ConfigDeclaration ConfigDeclaration;
+
+inline constexpr const std::vector<ConfigDeclaration>& getDefaultConfigs() {
+ return defaultconfig_impl::kVehicleProperties;
+}
+
+} // namespace defaultconfig
+
} // namespace vehicle
} // namespace automotive
} // namespace hardware
diff --git a/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
index 6385ac1..baaae75 100644
--- a/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
+++ b/automotive/vehicle/aidl/impl/default_config/test/DefaultConfigTest.cpp
@@ -22,17 +22,19 @@
namespace hardware {
namespace automotive {
namespace vehicle {
+namespace defaultconfig {
namespace test {
TEST(DefaultConfigTest, loadDefaultConfigs) {
- for (ConfigDeclaration config : kVehicleProperties) {
+ for (ConfigDeclaration config : getDefaultConfigs()) {
ASSERT_NE(0, config.config.prop);
}
}
} // namespace test
+} // namespace defaultconfig
} // namespace vehicle
} // namespace automotive
} // namespace hardware
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
new file mode 100644
index 0000000..2b0b11f
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/Android.bp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+cc_library {
+ name: "VehicleHalProtoMessageConverter",
+ srcs: [
+ "src/*.cpp",
+ ],
+ vendor: true,
+ local_include_dirs: ["include"],
+ export_include_dirs: ["include"],
+ shared_libs: ["libprotobuf-cpp-full"],
+ static_libs: [
+ "VehicleHalProtos",
+ "VehicleHalUtils",
+ ],
+ defaults: ["VehicleHalDefaults"],
+ export_static_lib_headers: ["VehicleHalUtils"],
+}
+
+cc_test {
+ name: "VehicleHalProtoMessageConverterTest",
+ srcs: [
+ "test/*.cpp",
+ ],
+ vendor: true,
+ defaults: ["VehicleHalDefaults"],
+ shared_libs: ["libprotobuf-cpp-full"],
+ static_libs: [
+ "VehicleHalProtoMessageConverter",
+ "VehicleHalProtos",
+ "VehicleHalUtils",
+ "libgtest",
+ ],
+ header_libs: ["VehicleHalDefaultConfig"],
+ test_suites: ["device-tests"],
+}
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h
new file mode 100644
index 0000000..1c26fe8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/include/ProtoMessageConverter.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
+#define android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
+
+#include <VehicleHalTypes.h>
+#include <android/hardware/automotive/vehicle/VehicleAreaConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropValue.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+// Convert AIDL VehiclePropConfig to Protobuf VehiclePropConfig.
+void aidlToProto(
+ const ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig& inAidlConfig,
+ ::android::hardware::automotive::vehicle::proto::VehiclePropConfig* outProtoConfig);
+// Convert Protobuf VehiclePropConfig to AIDL VehiclePropConfig.
+void protoToAidl(
+ const ::android::hardware::automotive::vehicle::proto::VehiclePropConfig& inProtoConfig,
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropConfig* outAidlConfig);
+// Convert AIDL VehiclePropValue to Protobuf VehiclePropValue.
+void aidlToProto(const ::aidl::android::hardware::automotive::vehicle::VehiclePropValue& inAidlVal,
+ ::android::hardware::automotive::vehicle::proto::VehiclePropValue* outProtoVal);
+// Convert Protobuf VehiclePropValue to AIDL VehiclePropValue.
+void protoToAidl(
+ const ::android::hardware::automotive::vehicle::proto::VehiclePropValue& inProtoVal,
+ ::aidl::android::hardware::automotive::vehicle::VehiclePropValue* outAidlVal);
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
+
+#endif // android_hardware_automotive_vehicle_aidl_impl_grpc_utils_proto_message_converter_include_ProtoMessageConverter_H_
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp
new file mode 100644
index 0000000..6cbc7e5
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/src/ProtoMessageConverter.cpp
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ProtoMsgConverter"
+
+#include "ProtoMessageConverter.h"
+
+#include <VehicleUtils.h>
+
+#include <memory>
+#include <vector>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle;
+namespace proto = ::android::hardware::automotive::vehicle::proto;
+
+// Copy the vector PROTO_VECNAME of protobuf class PROTO_VALUE to
+// VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME, every element of PROTO_VECNAME is casted by CAST.
+#define CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE(PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, \
+ VHAL_TYPE_VECNAME, CAST) \
+ do { \
+ (VHAL_TYPE_VALUE)->VHAL_TYPE_VECNAME.resize(PROTO_VALUE.PROTO_VECNAME##_size()); \
+ size_t idx = 0; \
+ for (auto& value : PROTO_VALUE.PROTO_VECNAME()) { \
+ VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME[idx++] = CAST(value); \
+ } \
+ } while (0)
+
+// Copying the vector PROTO_VECNAME of protobuf class PROTO_VALUE to
+// VHAL_TYPE_VALUE->VHAL_TYPE_VECNAME.
+#define COPY_PROTOBUF_VEC_TO_VHAL_TYPE(PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, \
+ VHAL_TYPE_VECNAME) \
+ CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE( \
+ PROTO_VALUE, PROTO_VECNAME, VHAL_TYPE_VALUE, VHAL_TYPE_VECNAME, /*NO CAST*/)
+
+void aidlToProto(const aidl_vehicle::VehiclePropConfig& in, proto::VehiclePropConfig* out) {
+ out->set_prop(in.prop);
+ out->set_access(static_cast<proto::VehiclePropertyAccess>(toInt(in.access)));
+ out->set_change_mode(static_cast<proto::VehiclePropertyChangeMode>(toInt(in.changeMode)));
+ out->set_config_string(in.configString.c_str(), in.configString.size());
+ out->set_min_sample_rate(in.minSampleRate);
+ out->set_max_sample_rate(in.maxSampleRate);
+
+ for (auto& configElement : in.configArray) {
+ out->add_config_array(configElement);
+ }
+
+ out->clear_area_configs();
+ for (auto& areaConfig : in.areaConfigs) {
+ auto* protoACfg = out->add_area_configs();
+ protoACfg->set_area_id(areaConfig.areaId);
+ protoACfg->set_min_int64_value(areaConfig.minInt64Value);
+ protoACfg->set_max_int64_value(areaConfig.maxInt64Value);
+ protoACfg->set_min_float_value(areaConfig.minFloatValue);
+ protoACfg->set_max_float_value(areaConfig.maxFloatValue);
+ protoACfg->set_min_int32_value(areaConfig.minInt32Value);
+ protoACfg->set_max_int32_value(areaConfig.maxInt32Value);
+ }
+}
+
+void protoToAidl(const proto::VehiclePropConfig& in, aidl_vehicle::VehiclePropConfig* out) {
+ out->prop = in.prop();
+ out->access = static_cast<aidl_vehicle::VehiclePropertyAccess>(in.access());
+ out->changeMode = static_cast<aidl_vehicle::VehiclePropertyChangeMode>(in.change_mode());
+ out->configString = in.config_string();
+ out->minSampleRate = in.min_sample_rate();
+ out->maxSampleRate = in.max_sample_rate();
+
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, config_array, out, configArray);
+
+ auto cast_to_acfg = [](const proto::VehicleAreaConfig& protoAcfg) {
+ return aidl_vehicle::VehicleAreaConfig{
+ .areaId = protoAcfg.area_id(),
+ .minInt32Value = protoAcfg.min_int32_value(),
+ .maxInt32Value = protoAcfg.max_int32_value(),
+ .minInt64Value = protoAcfg.min_int64_value(),
+ .maxInt64Value = protoAcfg.max_int64_value(),
+ .minFloatValue = protoAcfg.min_float_value(),
+ .maxFloatValue = protoAcfg.max_float_value(),
+ };
+ };
+ CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, area_configs, out, areaConfigs, cast_to_acfg);
+}
+
+void aidlToProto(const aidl_vehicle::VehiclePropValue& in, proto::VehiclePropValue* out) {
+ out->set_prop(in.prop);
+ out->set_timestamp(in.timestamp);
+ out->set_status(static_cast<proto::VehiclePropertyStatus>(in.status));
+ out->set_area_id(in.areaId);
+ out->set_string_value(in.value.stringValue);
+ out->set_byte_values(in.value.byteValues.data(), in.value.byteValues.size());
+
+ for (auto& int32Value : in.value.int32Values) {
+ out->add_int32_values(int32Value);
+ }
+
+ for (auto& int64Value : in.value.int64Values) {
+ out->add_int64_values(int64Value);
+ }
+
+ for (auto& floatValue : in.value.floatValues) {
+ out->add_float_values(floatValue);
+ }
+}
+
+void protoToAidl(const proto::VehiclePropValue& in, aidl_vehicle::VehiclePropValue* out) {
+ out->prop = in.prop();
+ out->timestamp = in.timestamp();
+ out->status = static_cast<aidl_vehicle::VehiclePropertyStatus>(in.status());
+ out->areaId = in.area_id();
+ out->value.stringValue = in.string_value();
+ for (const char& byte : in.byte_values()) {
+ out->value.byteValues.push_back(byte);
+ }
+
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, int32_values, out, value.int32Values);
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, int64_values, out, value.int64Values);
+ COPY_PROTOBUF_VEC_TO_VHAL_TYPE(in, float_values, out, value.floatValues);
+}
+
+#undef COPY_PROTOBUF_VEC_TO_VHAL_TYPE
+#undef CAST_COPY_PROTOBUF_VEC_TO_VHAL_TYPE
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp
new file mode 100644
index 0000000..d5f2373
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/grpc/utils/proto_message_converter/test/proto_message_converter_test.cpp
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <vector>
+
+#include <DefaultConfig.h>
+#include <ProtoMessageConverter.h>
+#include <VehicleHalTypes.h>
+#include <android-base/format.h>
+#include <android/hardware/automotive/vehicle/VehiclePropConfig.pb.h>
+#include <android/hardware/automotive/vehicle/VehiclePropValue.pb.h>
+#include <gtest/gtest.h>
+
+namespace android {
+namespace hardware {
+namespace automotive {
+namespace vehicle {
+namespace proto_msg_converter {
+
+namespace {
+
+namespace proto = ::android::hardware::automotive::vehicle::proto;
+namespace aidl_vehicle = ::aidl::android::hardware::automotive::vehicle;
+
+std::vector<aidl_vehicle::VehiclePropConfig> prepareTestConfigs() {
+ std::vector<aidl_vehicle::VehiclePropConfig> configs;
+ for (auto& property : defaultconfig::getDefaultConfigs()) {
+ configs.push_back(property.config);
+ }
+ return configs;
+}
+
+std::vector<aidl_vehicle::VehiclePropValue> prepareTestValues() {
+ std::vector<aidl_vehicle::VehiclePropValue> values;
+ long timestamp = 1;
+ for (auto& property : defaultconfig::getDefaultConfigs()) {
+ values.push_back({
+ .timestamp = timestamp,
+ .areaId = 123,
+ .prop = property.config.prop,
+ .value = property.initialValue,
+ .status = aidl_vehicle::VehiclePropertyStatus::ERROR,
+ });
+ }
+ return values;
+}
+
+class PropConfigConversionTest : public testing::TestWithParam<aidl_vehicle::VehiclePropConfig> {};
+
+class PropValueConversionTest : public testing::TestWithParam<aidl_vehicle::VehiclePropValue> {};
+
+} // namespace
+
+TEST_P(PropConfigConversionTest, testConversion) {
+ proto::VehiclePropConfig protoCfg;
+ aidl_vehicle::VehiclePropConfig aidlCfg;
+
+ aidlToProto(GetParam(), &protoCfg);
+ protoToAidl(protoCfg, &aidlCfg);
+
+ EXPECT_EQ(aidlCfg, GetParam());
+}
+
+TEST_P(PropValueConversionTest, testConversion) {
+ proto::VehiclePropValue protoVal;
+ aidl_vehicle::VehiclePropValue aidlVal;
+
+ aidlToProto(GetParam(), &protoVal);
+ protoToAidl(protoVal, &aidlVal);
+
+ EXPECT_EQ(aidlVal, GetParam());
+}
+
+INSTANTIATE_TEST_SUITE_P(DefaultConfigs, PropConfigConversionTest,
+ ::testing::ValuesIn(prepareTestConfigs()),
+ [](const ::testing::TestParamInfo<aidl_vehicle::VehiclePropConfig>& info) {
+ return ::fmt::format("property_{:d}", info.param.prop);
+ });
+
+INSTANTIATE_TEST_SUITE_P(TestValues, PropValueConversionTest,
+ ::testing::ValuesIn(prepareTestValues()),
+ [](const ::testing::TestParamInfo<aidl_vehicle::VehiclePropValue>& info) {
+ return ::fmt::format("property_{:d}", info.param.prop);
+ });
+
+} // namespace proto_msg_converter
+} // namespace vehicle
+} // namespace automotive
+} // namespace hardware
+} // namespace android
diff --git a/automotive/vehicle/aidl/impl/proto/Android.bp b/automotive/vehicle/aidl/impl/proto/Android.bp
new file mode 100644
index 0000000..80966df
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/Android.bp
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+filegroup {
+ name: "VehicleHalProtoFiles",
+ srcs: ["**/*.proto"],
+ visibility: ["//hardware/interfaces/automotive/vehicle:__subpackages__"],
+}
+
+genrule {
+ name: "VehicleProtoStub_h",
+ tools: [
+ "aprotoc",
+ "protoc-gen-grpc-cpp-plugin",
+ ],
+ cmd: "$(location aprotoc) -Ihardware/interfaces/automotive/vehicle/aidl/impl/proto -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
+ srcs: [
+ ":VehicleHalProtoFiles",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/DumpResult.pb.h",
+ "android/hardware/automotive/vehicle/StatusCode.pb.h",
+ "android/hardware/automotive/vehicle/VehicleAreaConfig.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropConfig.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropValue.pb.h",
+ "android/hardware/automotive/vehicle/VehiclePropValueRequest.pb.h",
+ ],
+}
+
+genrule {
+ name: "VehicleProtoStub_cc",
+ tools: [
+ "aprotoc",
+ "protoc-gen-grpc-cpp-plugin",
+ ],
+ cmd: "$(location aprotoc) -Ihardware/interfaces/automotive/vehicle/aidl/impl/proto -Iexternal/protobuf/src --plugin=protoc-gen-grpc=$(location protoc-gen-grpc-cpp-plugin) $(in) --grpc_out=$(genDir) --cpp_out=$(genDir)",
+ srcs: [
+ ":VehicleHalProtoFiles",
+ ],
+ out: [
+ "android/hardware/automotive/vehicle/DumpResult.pb.cc",
+ "android/hardware/automotive/vehicle/StatusCode.pb.cc",
+ "android/hardware/automotive/vehicle/VehicleAreaConfig.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropConfig.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyAccess.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropertyStatus.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropValue.pb.cc",
+ "android/hardware/automotive/vehicle/VehiclePropValueRequest.pb.cc",
+ ],
+}
+
+cc_library_static {
+ name: "VehicleHalProtos",
+ vendor: true,
+ host_supported: true,
+ include_dirs: [
+ "external/protobuf/src",
+ ],
+ generated_headers: [
+ "VehicleProtoStub_h",
+ ],
+ export_generated_headers: [
+ "VehicleProtoStub_h",
+ ],
+ generated_sources: [
+ "VehicleProtoStub_cc",
+ ],
+ shared_libs: [
+ "libgrpc++_unsecure",
+ ],
+ cflags: [
+ "-Wno-unused-parameter",
+ ],
+}
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto
new file mode 100644
index 0000000..25bb7d4
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/DumpResult.proto
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+message DumpResult {
+ /* If callerShouldDumpState is true, caller would print the information in buffer and
+ * continue to dump its state, otherwise would just dump the buffer and skip its own
+ * dumping logic. */
+ bool caller_should_dump_state = 1;
+ /* The dumped information for the caller to print. */
+ string buffer = 2;
+}
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto
new file mode 100644
index 0000000..97cb0f8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/StatusCode.proto
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with StatusCode.aidl. */
+enum StatusCode {
+ OK = 0;
+
+ /* Try again. */
+ TRY_AGAIN = 1;
+
+ /* Invalid argument provided. */
+ INVALID_ARG = 2;
+
+ /* This code must be returned when device that associated with the vehicle
+ * property is not available. For example, when client tries to set HVAC
+ * temperature when the whole HVAC unit is turned OFF. */
+ NOT_AVAILABLE = 3;
+
+ /* Access denied */
+ ACCESS_DENIED = 4;
+
+ /* Something unexpected has happened in Vehicle HAL */
+ INTERNAL_ERROR = 5;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
new file mode 100644
index 0000000..b5b7e80
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehicleAreaConfig.proto
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehicleAreaConfig.aidl. */
+message VehicleAreaConfig {
+ /* Area id is ignored for VehiclePropertyGroup:GLOBAL properties. */
+ int32 area_id = 1;
+
+ /* If the property has @data_enum, leave the range to zero.
+ *
+ * Range will be ignored in the following cases:
+ * - The VehiclePropertyType is not INT32, INT64 or FLOAT.
+ * - Both of min value and max value are zero. */
+ int32 min_int32_value = 2;
+ int32 max_int32_value = 3;
+
+ int64 min_int64_value = 4;
+ int64 max_int64_value = 5;
+
+ float min_float_value = 6;
+ float max_float_value = 7;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto
new file mode 100644
index 0000000..e230d15
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropConfig.proto
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehicleAreaConfig.proto";
+import "android/hardware/automotive/vehicle/VehiclePropertyAccess.proto";
+import "android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto";
+
+/* Must be in sync with VehiclePropConfig.aidl. */
+message VehiclePropConfig {
+ /* Property identifier */
+ int32 prop = 1;
+
+ /* Defines if the property is read or write or both. */
+ VehiclePropertyAccess access = 2;
+
+ /* Defines the change mode of the property. */
+ VehiclePropertyChangeMode change_mode = 3;
+
+ /* Contains per-area configuration. */
+ repeated VehicleAreaConfig area_configs = 4;
+
+ /* Contains additional configuration parameters */
+ repeated int32 config_array = 5;
+
+ /* Some properties may require additional information passed over this
+ * string. Most properties do not need to set this. */
+ bytes config_string = 6;
+
+ /* Min sample rate in Hz.
+ * Must be defined for VehiclePropertyChangeMode::CONTINUOUS */
+ float min_sample_rate = 7;
+
+ /* Must be defined for VehiclePropertyChangeMode::CONTINUOUS
+ * Max sample rate in Hz. */
+ float max_sample_rate = 8;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto
new file mode 100644
index 0000000..80c73cb
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValue.proto
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehiclePropertyStatus.proto";
+
+/* Must be in sync with VehiclePropValue.aidl. */
+message VehiclePropValue {
+ /* Time is elapsed nanoseconds since boot */
+ int64 timestamp = 1;
+
+ /* Area type(s) for non-global property it must be one of the value from
+ * VehicleArea* enums or 0 for global properties. */
+ int32 area_id = 2;
+
+ /* Property identifier */
+ int32 prop = 3;
+
+ /* Status of the property */
+ VehiclePropertyStatus status = 4;
+
+ /* This is used for properties of types VehiclePropertyType#INT
+ * and VehiclePropertyType#INT_VEC */
+ repeated int32 int32_values = 5;
+
+ /* This is used for properties of types VehiclePropertyType#FLOAT
+ * and VehiclePropertyType#FLOAT_VEC */
+ repeated float float_values = 6;
+
+ /* This is used for properties of type VehiclePropertyType#INT64 */
+ repeated int64 int64_values = 7;
+
+ /* This is used for properties of type VehiclePropertyType#BYTES */
+ bytes byte_values = 8;
+
+ /* This is used for properties of type VehiclePropertyType#STRING */
+ string string_value = 9;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto
new file mode 100644
index 0000000..b16daa8
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropValueRequest.proto
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+import "android/hardware/automotive/vehicle/VehiclePropValue.proto";
+
+message VehiclePropValueRequest {
+ int32 request_id = 1;
+ VehiclePropValue value = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto
new file mode 100644
index 0000000..55840f0
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyAccess.proto
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyAccess.aidl. */
+enum VehiclePropertyAccess {
+ NONE = 0;
+ READ = 1;
+ WRITE = 2;
+ READ_WRITE = 3;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto
new file mode 100644
index 0000000..c681e3b
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyChangeMode.proto
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyChangeMode.aidl. */
+enum VehiclePropertyChangeMode {
+ /* Property of this type must never be changed. Subscription is not supported
+ * for these properties. */
+ STATIC = 0;
+
+ /* Properties of this type must report when there is a change.
+ * IVehicle#get call must return the current value.
+ * Set operation for this property is assumed to be asynchronous. When the
+ * property is read (using IVehicle#get) after IVehicle#set, it may still
+ * return old value until underlying H/W backing this property has actually
+ * changed the state. Once state is changed, the property must dispatch
+ * changed value as event. */
+ ON_CHANGE = 1;
+
+ /* Properties of this type change continuously and require a fixed rate of
+ * sampling to retrieve the data. Implementers may choose to send extra
+ * notifications on significant value changes. */
+ CONTINUOUS = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto
new file mode 100644
index 0000000..a44c8f0
--- /dev/null
+++ b/automotive/vehicle/aidl/impl/proto/android/hardware/automotive/vehicle/VehiclePropertyStatus.proto
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto3";
+
+package android.hardware.automotive.vehicle.proto;
+
+/* Must be in sync with VehiclePropertyStatus.aidl. */
+enum VehiclePropertyStatus {
+ /* Property is available and behaving normally */
+ AVAILABLE = 0;
+ /* A property in this state is not available for reading and writing. This
+ * is a transient state that depends on the availability of the underlying
+ * implementation (e.g. hardware or driver). It MUST NOT be used to
+ * represent features that this vehicle is always incapable of. A get() of
+ * a property in this state MAY return an undefined value, but MUST
+ * correctly describe its status as UNAVAILABLE A set() of a property in
+ * this state MAY return NOT_AVAILABLE. The HAL implementation MUST ignore
+ * the value of the status field when writing a property value coming from
+ * Android. */
+ UNAVAILABLE = 1;
+ /* There is an error with this property. */
+ ERROR = 2;
+};
diff --git a/automotive/vehicle/aidl/impl/utils/common/Android.bp b/automotive/vehicle/aidl/impl/utils/common/Android.bp
index 001280f..ace505d 100644
--- a/automotive/vehicle/aidl/impl/utils/common/Android.bp
+++ b/automotive/vehicle/aidl/impl/utils/common/Android.bp
@@ -20,9 +20,7 @@
cc_library {
name: "VehicleHalUtils",
- srcs: [
- "src/*.cpp",
- ],
+ srcs: ["src/*.cpp"],
vendor: true,
local_include_dirs: ["include"],
export_include_dirs: ["include"],