Cada propriedade compatível é especificada por uma configuração de propriedade definida pela
estrutura
VehiclePropConfig
e tem os seguintes campos.
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 vazio. |
configString |
Uma string opcional para conter a configuração específica da propriedade. Pode ficar vazio. |
minSampleRate e maxSampleRate
A taxa de amostragem 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
Definidos como tipos enumerados em VehiclePropertyType.aidl
. Os tipos de propriedade aceitos 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 | A propriedade Float[] usa os elementos no campo floatValues em
Valor da 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 zonais (propriedades com várias áreas com suporte). Cada configuração de ID de área tem os seguintes campos.
Campo | Descrição |
---|---|
areaId |
O ID dessa á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 flags de bit
definido em um tipo enumerado para o tipo de área. Por exemplo, a área SEAT define
os tipos enumerados 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 abordadas 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 se aplica aos dois assentos dianteiros. |
ROW_2_LEFT |
Aplicável apenas ao banco traseiro esquerdo. |
ROW_2_RIGHT |
Aplicável apenas ao banco traseiro direito. |
Para saber mais, consulte HVAC.