Cada propriedade aceita é especificada por uma configuração de propriedade definida pela estrutura VehiclePropConfig
e tem os campos a seguir.
Campo | Descrição |
---|---|
prop |
O ID da propriedade. Ela precisa ser uma das propriedades do sistema definidas em Propriedades do sistema com suporte ou uma propriedade do fornecedor. O ID da propriedade é criado usando a operação OR de bits dos seguintes campos (da direita para a esquerda):
Por exemplo, |
access |
O modo de acesso da propriedade. Precisa ser READ , WRITE ou READ_WRITE . Ele precisa ser igual ao modo de acesso definido em
Propriedades do sistema compatíveis. |
changeMode |
|
configArray |
Uma matriz opcional para conter a configuração específica da propriedade. Pode ficar em branco. |
configString |
Uma string opcional para conter a configuração específica da propriedade. Pode ficar vazio. |
minSampleRate e maxSampleRate
A taxa de amostra mínima e máxima aceita para a propriedade contínua. Não é usado se a propriedade não for contínua. |
Tipos de propriedade
Definidas como tipos enumerados em VehiclePropertyType.aidl
. Os tipos de propriedade compatíveis estão listados na tabela a seguir.
Tipo de propriedade | Valor | Descrição |
---|---|---|
STRING | 0x00100000 | Propriedade de string, usa o campo stringValue em "Valor da propriedade do veículo". |
BOOLEANO | 0x00200000 | Propriedade booleana, usa o primeiro elemento no campo int32Values em
Valor da propriedade do veículo.
0 significa false , None 0 significa true . |
INT32 | 0x00400000 | Propriedade de número inteiro, usa o primeiro elemento no campo int32Values em
Valor da propriedade do veículo. |
INT32_VEC | 0x00410000 | A propriedade Integer[], usa os elementos no campo int32Values em
Valor da propriedade do veículo. |
INT64 | 0x00500000 | Propriedade longa, usa o primeiro elemento no campo int64Values em
Valor da propriedade do veículo. |
INT64_VEC | 0x00510000 | A propriedade Long[] usa os elementos no campo int64Values em
Valor da propriedade do veículo. |
FLOAT | 0x00600000 | A propriedade flutuante usa o primeiro elemento no campo floatValues em
Valor da propriedade do veículo. |
FLOAT_VEC | 0x00610000 | Float[], usa os elementos no campo floatValues no valor de propriedade do veículo. |
BYTES | 0x00700000 | A propriedade byte[], usa os elementos no campo byteValues em
Valor da propriedade do veículo. |
MISTO | 0x00e00000 | Propriedade de tipo misto. Qualquer combinação de tipos escalar ou vetor. O formato exato precisa ser fornecido no array de configuração na configuração da propriedade.
Para propriedades do tipo MIXED do fornecedor, o configArray precisa ser formatado nesta estrutura:
Por exemplo, |
Configuração do ID da área
Cada configuração de propriedade também pode conter uma lista de configurações de ID de área. Essa lista é opcional para propriedades globais e obrigatória para propriedades com zonas (propriedades com várias áreas com suporte). Cada configuração de ID de área tem os seguintes campos.
Campo | Descrição |
---|---|
areaId |
O ID desta área. Consulte IDs de área. |
minInt32Value e maxInt32Value |
|
minInt64Value e maxInt64Value |
|
minFloatValue e maxFloatValue |
|
(Novidades do Android 14)supportedEnumValues |
|
Tipos de área
Definidos como tipos enumerados em VehicleArea.aidl
. Confira abaixo os tipos de área aceitos.
Tipo de área | Valor | Descrição |
---|---|---|
GLOBAL | 0x01000000 | Essa propriedade é global e não tem várias áreas. |
JANELA | 0x03000000 | Área baseada em janelas, usa a enumeração VehicleAreaWindow . |
MIRROR | 0x04000000 | Área baseada em espelhos, usa o tipo enumerado VehicleAreaMirror . |
SEAT | 0x05000000 | Área com base nos assentos, usa o tipo enumerado VehicleAreaSeat . |
PORTA | 0x06000000 | Área com base em portas, usa o tipo enumerado VehicleAreaDoor . |
RODA | 0x07000000 | Área baseada em rodas, usa a enumeração VehicleAreaWheel . |
Cada propriedade com zona precisa usar um tipo de área predefinido. Cada tipo de área tem um conjunto de sinalizações de bit definidas em um tipo enumerado para o tipo de área. Por exemplo, a área SEAT define
enumerações 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 com zonas são tratadas usando IDs de área. Cada propriedade zonada pode oferecer suporte a um ou mais IDs de área. Um ID de área consiste em uma ou mais flags do respectivo tipo enumerado. Por exemplo, uma propriedade que usa VehicleAreaSeat
pode usar os seguintes IDs de área:
Nome | Descrição |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
O ID de área é válido para os dois assentos da frente. |
ROW_2_LEFT |
Válido apenas para o assento esquerdo traseiro. |
ROW_2_RIGHT |
Aplicável apenas ao banco traseiro direito. |
Para saber mais, consulte AVAC (aquecimento, ventilação e ar-condicionado).