每个受支持的属性均由通过VehiclePropConfig
结构定义的属性配置指定,并具有以下字段。
场地 | 描述 |
---|---|
prop | 属性 ID。这必须是支持的系统属性中定义的系统属性之一或供应商属性。属性 ID 使用以下字段的位或构造(从右到左):
例如, |
access | 属性的访问模式。必须是READ 、 WRITE 或READ_WRITE 之一。这必须等于支持的系统属性中定义的访问模式。 |
changeMode |
|
configArray | 包含属性特定配置的可选数组。可以为空。 |
configString | 包含属性特定配置的可选字符串。可以为空。 |
minSampleRate 和maxSampleRate 连续属性支持的最小和最大采样率。如果属性不连续则不使用。 |
物业类型
在VehiclePropertyType.aidl
中定义为枚举。下表列出了支持的属性类型。
财产种类 | 价值 | 描述 |
---|---|---|
细绳 | 0x00100000 | 字符串属性,使用车辆属性值中的stringValue 字段。 |
布尔值 | 0x00200000 | 布尔属性,使用Vehicle 属性 value中int32Values 字段中的第一个元素。 0 表示false , None 0 表示true 。 |
INT32 | 0x00400000 | Integer 属性,使用Vehicle 属性 value中int32Values 字段中的第一个元素。 |
INT32_VEC | 0x00410000 | Integer[] 属性,使用Vehicle 属性 value中int32Values 字段中的元素。 |
INT64 | 0x00500000 | Long 属性,使用Vehicle 属性 value中int64Values 字段中的第一个元素。 |
INT64_VEC | 0x00510000 | Long[] 属性,使用Vehicle 属性 value中int64Values 字段中的元素。 |
漂浮 | 0x00600000 | Float 属性,使用Vehicle 属性 value中floatValues 字段中的第一个元素。 |
FLOAT_VEC | 0x00610000 | Float[] 属性,使用Vehicle 属性 value中floatValues 字段中的元素。 |
字节数 | 0x00700000 | byte[] 属性,使用Vehicle 属性 value中byteValues 字段中的元素。 |
混合 | 0x00e00000 | 混合类型属性。标量或向量类型的任意组合。必须在属性配置的配置数组中提供确切的格式。 对于供应商 MIXED 类型属性,configArray 需要采用以下结构进行格式化:
例如, |
区域ID配置
每个属性配置还可以包含区域ID配置的列表。此列表对于全局属性是可选的,对于分区属性(具有多个支持区域的属性)是必需的。每个区域 ID 配置都有以下字段。
场地 | 描述 |
---|---|
areaId | 该区域的 ID。请参阅区域 ID 。 |
minInt32Value 和maxInt32Value |
|
minInt64Value 和maxInt64Value |
|
minFloatValue 和maxFloatValue |
|
( Android 14 中的新增功能)supportedEnumValues |
|
区域类型
在VehicleArea.aidl
中定义为枚举。下面列出了支持的区域类型。
区域类型 | 价值 | 描述 |
---|---|---|
全球的 | 0x01000000 | 该属性是全局属性,不具有多个区域。 |
窗户 | 0x03000000 | 基于窗口的区域,使用VehicleAreaWindow 枚举。 |
镜子 | 0x04000000 | 基于镜子的区域,使用VehicleAreaMirror 枚举。 |
座位 | 0x05000000 | 基于座位的区域,使用VehicleAreaSeat 枚举。 |
门 | 0x06000000 | 基于门的区域,使用VehicleAreaDoor 枚举。 |
车轮 | 0x07000000 | 基于车轮的区域,使用VehicleAreaWheel 枚举。 |
每个分区属性必须使用预定义的区域类型。每个区域类型都有一组在该区域类型的枚举中定义的位标志。例如,SEAT 区域定义了VehicleAreaSeat
枚举:
-
ROW_1_LEFT = 0x0001
-
ROW_1_CENTER = 0x0002
-
ROW_1_RIGHT = 0x0004
-
ROW_2_LEFT = 0x0010
-
ROW_2_CENTER = 0x0020
-
ROW_2_RIGHT = 0x0040
-
ROW_3_LEFT = 0x0100
-
...
区域 ID
分区属性通过区域 ID 进行寻址。每个分区属性可以支持一个或多个区域 ID。区域 ID 由其各自枚举中的一个或多个标志组成。例如,使用VehicleAreaSeat
的属性可能会使用以下区域 ID:
物品 | 描述 |
---|---|
ROW_1_LEFT | ROW_1_RIGHT | 区域 ID 适用于两个前排座椅。 |
ROW_2_LEFT | 仅适用于左后座椅。 | ROW_2_RIGHT | 仅适用于右后座椅。 |
要了解更多信息,请参阅暖通空调。