Cada propriedade suportada é especificada por uma configuração de propriedade definida por meio da estrutura VehiclePropConfig
e possui os campos a seguir.
Campo | Descrição |
---|---|
prop | O ID da propriedade. Esta deve ser uma das propriedades do sistema definidas nas Propriedades do Sistema Suportado ou uma propriedade do fornecedor. O ID da propriedade é construído usando bit ou dos seguintes campos (da direita para a esquerda):
Por exemplo, |
access | O modo de acesso da propriedade. Deve ser READ , WRITE ou READ_WRITE . Deve ser igual ao modo de acesso definido em Propriedades do Sistema Suportado . |
changeMode |
|
configArray | Uma matriz opcional para conter configuração específica da propriedade. Pode estar vazio. |
configString | Uma string opcional para conter a configuração específica da propriedade. Pode estar vazio. |
minSampleRate e maxSampleRate A taxa de amostragem mínima e máxima suportada para propriedade contínua. Não usado se a propriedade não for contínua. |
Tipos de propriedade
Definido como enums em VehiclePropertyType.aidl
. Os tipos de propriedade suportados estão listados na tabela a seguir.
Tipo de Propriedade | Valor | Descrição |
---|---|---|
CORDA | 0x00100000 | Propriedade String, usa o campo stringValue em Valor da propriedade do veículo. |
BOLEANO | 0x00200000 | Propriedade booleana, usa o primeiro elemento no campo int32Values na propriedade Vehicle value . 0 significa false , None 0 significa true . |
INT32 | 0x00400000 | Propriedade Integer, usa o primeiro elemento no campo int32Values na propriedade Vehicle value . |
INT32_VEC | 0x00410000 | Propriedade Integer[], usa os elementos do campo int32Values em Vehicle property value . |
INT64 | 0x00500000 | Propriedade Long, usa o primeiro elemento no campo int64Values em Vehicle property value . |
INT64_VEC | 0x00510000 | Propriedade Long[] , usa os elementos do campo int64Values na propriedade Vehicle value . |
FLUTUADOR | 0x00600000 | Propriedade Float, usa o primeiro elemento no campo floatValues no valor da propriedade Vehicle . |
FLOAT_VEC | 0x00610000 | Propriedade Float[], usa os elementos do campo floatValues na propriedade Vehicle value . |
BYTES | 0x00700000 | propriedade byte[], usa os elementos no campo byteValues na propriedade Vehicle value . |
MISTURADO | 0x00e00000 | Propriedade de tipo misto. Qualquer combinação de tipos escalares ou vetoriais. O formato exato deve ser fornecido na matriz de configuração na configuração da propriedade. Para propriedades do tipo MIXED do fornecedor, configArray precisa ser formatado nesta estrutura:
Por exemplo, |
Configuração de ID de área
Cada configuração de propriedade também pode conter uma lista de configurações de ID de área. Esta lista é opcional para propriedades globais e obrigatória para propriedades zoneadas (propriedades com diversas áreas suportadas). Cada configuração de ID de área possui os seguintes campos.
Campo | Descrição |
---|---|
areaId | O ID desta área. Consulte IDs de área . |
minInt32Value e maxInt32Value |
|
minInt64Value e maxInt64Value |
|
minFloatValue e maxFloatValue |
|
( Novo no Android 14 )supportedEnumValues |
|
Tipos de área
Definido como enums em VehicleArea.aidl
. Os tipos de área suportados estão listados abaixo.
Tipo de área | Valor | Descrição |
---|---|---|
GLOBAL | 0x01000000 | Esta propriedade é uma propriedade global e não possui múltiplas áreas. |
JANELA | 0x03000000 | Área baseada em janelas, usa enum VehicleAreaWindow . |
ESPELHO | 0x04000000 | Área baseada em espelhos, usa enum VehicleAreaMirror . |
ASSENTO | 0x05000000 | Área baseada em assentos, usa enum VehicleAreaSeat . |
PORTA | 0x06000000 | Área baseada em portas, usa enum VehicleAreaDoor . |
RODA | 0x07000000 | Área baseada em rodas, usa enum VehicleAreaWheel . |
Cada propriedade zoneada deve usar um tipo de área predefinido. Cada tipo de área possui um conjunto de sinalizadores de bits definidos em uma enumeração para o tipo de área. Por exemplo, a área SEAT define enums 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
As propriedades zoneadas são endereçadas por meio de IDs de área. Cada propriedade zoneada pode suportar um ou mais IDs de área. Um ID de área consiste em um ou mais sinalizadores de seu respectivo enum. Por exemplo, uma propriedade que usa VehicleAreaSeat
pode usar os seguintes IDs de área:
Item | Descrição |
---|---|
ROW_1_LEFT | ROW_1_RIGHT | O Area ID aplica-se a ambos os bancos dianteiros. |
ROW_2_LEFT | Aplica-se apenas ao banco traseiro esquerdo. | ROW_2_RIGHT | Aplica-se apenas ao banco traseiro direito. |
Para saber mais, consulte HVAC .