Chaque propriété prise en charge est spécifiée par une configuration de propriété définie via la structure VehiclePropConfig
et comporte les champs suivants.
Champ | Description |
---|---|
prop | L'identifiant de la propriété. Il doit s'agir de l'une des propriétés système définies dans les propriétés système prises en charge ou d'une propriété du fournisseur. L'ID de propriété est construit à l'aide du bit-or des champs suivants (de droite à gauche) :
Par exemple, |
access | Le mode d'accès à la propriété. Doit être l'un des READ , WRITE ou READ_WRITE . Cela doit être égal au mode d'accès défini dans Propriétés système prises en charge . |
changeMode |
|
configArray | Un tableau facultatif pour contenir une configuration spécifique à une propriété. Peut être vide. |
configString | Une chaîne facultative pour contenir une configuration spécifique à la propriété. Peut être vide. |
minSampleRate et maxSampleRate Taux d'échantillonnage minimum et maximum pris en charge pour la propriété continue. Non utilisé si la propriété n’est pas continue. |
Types de propriétés
Défini comme énumérations dans VehiclePropertyType.aidl
. Les types de propriétés pris en charge sont répertoriés dans le tableau suivant.
Type de propriété | Valeur | Description |
---|---|---|
CHAÎNE | 0x00100000 | Propriété String, utilise le champ stringValue dans Vehicle Property Value. |
BOOLÉEN | 0x00200000 | Propriété booléenne, utilise le premier élément du champ int32Values dans la valeur de la propriété Vehicle . 0 signifie false , None 0 signifie true . |
INT32 | 0x00400000 | Propriété Integer, utilise le premier élément du champ int32Values dans la valeur de la propriété Vehicle . |
INT32_VEC | 0x00410000 | Propriété Integer[], utilise les éléments du champ int32Values dans la valeur de la propriété Vehicle . |
INT64 | 0x00500000 | Propriété longue, utilise le premier élément du champ int64Values dans la valeur de la propriété Vehicle . |
INT64_VEC | 0x00510000 | Propriété Long[] , utilise les éléments du champ int64Values dans la valeur de la propriété Vehicle . |
FLOTTER | 0x00600000 | Propriété Float, utilise le premier élément du champ floatValues dans la valeur de la propriété Vehicle . |
FLOAT_VEC | 0x00610000 | Propriété Float[], utilise les éléments du champ floatValues dans la valeur de la propriété Vehicle . |
OCTETS | 0x00700000 | Propriété byte[], utilise les éléments du champ byteValues dans la valeur de la propriété Vehicle . |
MIXTE | 0x00e00000 | Propriété de type mixte. Toute combinaison de types scalaires ou vectoriels. Le format exact doit être fourni dans le tableau config de la configuration de la propriété. Pour les propriétés de type MIXED du fournisseur, configArray doit être formaté dans cette structure :
Par exemple, |
Configuration de l'ID de zone
Chaque configuration de propriété peut également contenir une liste de configurations d'ID de zone. Cette liste est facultative pour les propriétés globales et obligatoire pour les propriétés zonées (propriétés avec plusieurs zones prises en charge). Chaque configuration d'ID de zone comporte les champs suivants.
Champ | Description |
---|---|
areaId | L'ID de cette zone. Voir ID de zone . |
minInt32Value et maxInt32Value |
|
minInt64Value et maxInt64Value |
|
minFloatValue et maxFloatValue |
|
( Nouveau dans Android 14 )supportedEnumValues |
|
Types de zones
Défini comme énumérations dans VehicleArea.aidl
. Les types de zones pris en charge sont répertoriés ci-dessous.
Type de zone | Valeur | Description |
---|---|---|
MONDIAL | 0x01000000 | Cette propriété est une propriété globale et ne comporte pas plusieurs zones. |
FENÊTRE | 0x03000000 | Zone basée sur Windows, utilise l'énumération VehicleAreaWindow . |
MIROIR | 0x04000000 | Zone basée sur des miroirs, utilise l'énumération VehicleAreaMirror . |
SIÈGE | 0x05000000 | Zone basée sur les sièges, utilise l'énumération VehicleAreaSeat . |
PORTE | 0x06000000 | Zone basée sur les portes, utilise l'énumération VehicleAreaDoor . |
ROUE | 0x07000000 | Zone basée sur les roues, utilise l'énumération VehicleAreaWheel . |
Chaque propriété zonée doit utiliser un type de zone prédéfini. Chaque type de zone possède un ensemble d'indicateurs binaires définis dans une énumération pour le type de zone. Par exemple, la zone SEAT définit les énumérations 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 de zone
Les propriétés zonées sont adressées via des identifiants de zone. Chaque propriété zonée peut prendre en charge un ou plusieurs ID de zone. Un ID de zone se compose d’un ou plusieurs indicateurs de son énumération respective. Par exemple, une propriété utilisant VehicleAreaSeat
peut utiliser les ID de zone suivants :
Article | Description |
---|---|
ROW_1_LEFT | ROW_1_RIGHT | L'ID de zone s'applique aux deux sièges avant. |
ROW_2_LEFT | S'applique uniquement au siège arrière gauche. | ROW_2_RIGHT | S'applique uniquement au siège arrière droit. |
Pour en savoir plus, voir CVC .