Cada propiedad admitida se especifica mediante una configuración de propiedad definida a través de la estructura VehiclePropConfig
y tiene los siguientes campos.
Campo | Descripción |
---|---|
prop |
El ID de la propiedad. Debe ser una de las propiedades del sistema definidas en las Propiedades del sistema compatibles o una propiedad del proveedor. El ID de la propiedad se construye con el operador or de bits de los siguientes campos (de derecha a izquierda):
Por ejemplo, |
access |
El modo de acceso de la propiedad. Debe ser READ , WRITE o READ_WRITE . Debe ser igual al modo de acceso definido en Propiedades del sistema compatibles. |
changeMode |
|
configArray |
Es un array opcional para contener la configuración específica de la propiedad. Puede estar vacío. |
configString |
Una cadena opcional que contiene una configuración específica de la propiedad. Puede estar vacío. |
minSampleRate y maxSampleRate
La tasa de muestreo mínima y máxima admitida para la propiedad continua No se usa si la propiedad no es continua. |
Tipos de propiedad
Se define como enumeraciones en VehiclePropertyType.aidl
. Los tipos de propiedades admitidos se enumeran en la siguiente tabla.
Tipo de propiedad | Valor | Descripción |
---|---|---|
STRING | 0x00100000 | Es una propiedad de cadena que usa el campo stringValue en el valor de la propiedad del vehículo. |
BOOLEAN | 0x00200000 | Es una propiedad booleana que usa el primer elemento en el campo int32Values en Valor de la propiedad del vehículo.
0 significa false , None 0 significa true . |
INT32 | 0x00400000 | Propiedad de número entero, usa el primer elemento del campo int32Values en Valor de propiedad del vehículo. |
INT32_VEC | 0x00410000 | La propiedad Integer[] usa los elementos del campo int32Values en Valor de la propiedad del vehículo. |
INT64 | 0x00500000 | Es una propiedad larga que usa el primer elemento en el campo int64Values en Valor de la propiedad del vehículo. |
INT64_VEC | 0x00510000 | La propiedad Long[] usa los elementos del campo int64Values en Valor de propiedad del vehículo. |
FLOAT | 0x00600000 | Propiedad de número de punto flotante, usa el primer elemento del campo floatValues en Valor de propiedad del vehículo. |
FLOAT_VEC | 0x00610000 | La propiedad Float[] usa los elementos del campo floatValues en Valor de la propiedad del vehículo. |
BYTES | 0x00700000 | La propiedad byte[], usa los elementos del campo byteValues en Valor de la propiedad del vehículo. |
MIXTO | 0x00e00000 | Propiedad de tipo mixto. Cualquier combinación de tipos escalares o vectoriales El formato exacto se debe proporcionar en el array de configuración en la configuración de la propiedad.
En el caso de las propiedades de tipo MIXED del proveedor, configArray debe tener el formato de esta estructura:
Por ejemplo, |
Configuración del ID de área
Cada configuración de propiedad también puede contener una lista de configuraciones de ID de área. Esta lista es opcional para las propiedades globales y obligatoria para las propiedades por zonas (propiedades con varias áreas compatibles). Cada configuración de ID de área tiene los siguientes campos.
Campo | Descripción |
---|---|
areaId |
El ID de esta área. Consulta IDs de área. |
minInt32Value y maxInt32Value |
|
minInt64Value y maxInt64Value |
|
minFloatValue y maxFloatValue |
|
(Novedad de Android 14)supportedEnumValues |
|
Tipos de áreas
Se definen como enums en VehicleArea.aidl
. A continuación, se indican los tipos de áreas admitidos.
Tipo de área | Valor | Descripción |
---|---|---|
GLOBAL | 0x01000000 | Esta propiedad es global y no tiene varias áreas. |
VENTANA | 0x03000000 | Área basada en ventanas, usa la enumeración VehicleAreaWindow . |
MIRROR | 0x04000000 | El área basada en espejos usa la enumeración VehicleAreaMirror . |
SEAT | 0x05000000 | El área según los asientos usa enum VehicleAreaSeat . |
PUERTA | 0x06000000 | El área basada en puertas usa enum VehicleAreaDoor . |
RUEDA | 0x07000000 | Área basada en ruedas, usa enum VehicleAreaWheel . |
Cada propiedad por zonas debe usar un tipo de área predefinido. Cada tipo de área tiene un conjunto de marcas de bits definidas en una enumeración para el tipo de área. Por ejemplo, el área SEAT define las enumeraciones 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
...
IDs de área
Las propiedades por zonas se abordan mediante los IDs de área. Cada propiedad con zonas puede admitir uno o más ID de área. Un ID de área consta de una o más marcas de su enum respectiva. Por ejemplo, una propiedad que usa VehicleAreaSeat
podría usar los siguientes IDs de área:
Artículo | Descripción |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
El ID de área se aplica a ambos asientos delanteros. |
ROW_2_LEFT |
Solo se aplica al asiento trasero izquierdo. |
ROW_2_RIGHT |
Solo se aplica al asiento trasero derecho. |
Para obtener más información, consulta HVAC.