Eigenschaftskonfigurationen

Jede unterstützte Eigenschaft wird durch eine Eigenschaftskonfiguration angegeben, die durch die VehiclePropConfig Struktur definiert wird, und verfügt über die folgenden Felder.

Feld Beschreibung
prop

Die Eigenschafts-ID. Dies muss entweder eine der definierten Systemeigenschaften aus den unterstützten Systemeigenschaften oder eine Anbietereigenschaft sein. Die Eigenschafts-ID wird mithilfe von Bit-Oder der folgenden Felder (von rechts nach links) erstellt:

Zum Beispiel,
INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000)

access Der Zugriffsmodus für die Eigenschaft. Muss einer von READ , WRITE oder READ_WRITE sein. Dies muss mit dem Zugriffsmodus übereinstimmen, der in den unterstützten Systemeigenschaften definiert ist.
changeMode
  • Änderungsmodus für die Eigenschaft. Muss einer von STATIC , ON_CHANGE oder CONTINUOUS sein. STATIC bedeutet, dass sich der Eigenschaftswert nach einem Systemstart nie ändert. ON_CHANGE bedeutet, dass der VHAL melden muss, wenn sich der Wert ändert. CONTINUOUS bedeutet, dass sich der Immobilienwert kontinuierlich ändert und VHAL basierend auf dem Abonnement-Beispielpreis Bericht erstatten muss.
  • Der Änderungsmodus muss dem in den unterstützten Systemeigenschaften definierten Änderungsmodus entsprechen.
configArray Ein optionales Array zur Aufnahme eigenschaftsspezifischer Konfiguration. Kann leer sein.
configString Eine optionale Zeichenfolge, die die eigenschaftsspezifische Konfiguration enthält. Kann leer sein.
minSampleRate und maxSampleRate

Die minimale und maximale unterstützte Abtastrate für die kontinuierliche Eigenschaft. Wird nicht verwendet, wenn die Eigenschaft nicht kontinuierlich ist.

Immobilientypen

Definiert als Enumerationen in VehiclePropertyType.aidl . Die unterstützten Eigenschaftstypen sind in der folgenden Tabelle aufgeführt.

Art der Immobilie Wert Beschreibung
STRING 0x00100000 String-Eigenschaft, verwendet das Feld stringValue im Vehicle Property Value.
BOOLEAN 0x00200000 Boolesche Eigenschaft, verwendet das erste Element im Feld int32Values ​​im Fahrzeugeigenschaftswert . 0 bedeutet false , None 0 bedeutet true .
INT32 0x00400000 Ganzzahlige Eigenschaft, verwendet das erste Element im Feld int32Values ​​im Fahrzeugeigenschaftswert .
INT32_VEC 0x00410000 Die Eigenschaft „Integer[]“ verwendet die Elemente im Feld int32Values im Eigenschaftswert „Fahrzeug“ .
INT64 0x00500000 Lange Eigenschaft, verwendet das erste Element im Feld int64Values ​​im Fahrzeugeigenschaftswert .
INT64_VEC 0x00510000 Die Eigenschaft Long[] verwendet die Elemente im Feld int64Values im Eigenschaftswert „Fahrzeug“ .
SCHWEBEN 0x00600000 Float-Eigenschaft, verwendet das erste Element im Feld floatValues ​​im Fahrzeugeigenschaftswert .
FLOAT_VEC 0x00610000 Die Eigenschaft „Float[]“ verwendet die Elemente im Feld floatValues im Eigenschaftswert „Fahrzeug“ .
BYTES 0x00700000 byte[]-Eigenschaft, verwendet die Elemente im Feld byteValues ​​im Fahrzeugeigenschaftswert .
GEMISCHT 0x00e00000 Eigentum gemischten Typs. Jede Kombination aus Skalar- oder Vektortypen. Das genaue Format muss im Konfigurationsarray in der Eigenschaftskonfiguration angegeben werden.

Für Eigenschaften vom Typ MIXED des Anbieters muss configArray in dieser Struktur formatiert werden:

  • configArray[0], 1 gibt an, dass die Eigenschaft einen String-Wert hat
  • configArray[1], 1 gibt an, dass die Eigenschaft einen booleschen Wert hat
  • configArray[2], 1 gibt an, dass die Eigenschaft einen Integer-Wert hat
  • configArray[3], die Zahl gibt die Größe von Integer[] in der Eigenschaft an
  • configArray[4], 1 gibt an, dass die Eigenschaft einen Long-Wert hat
  • configArray[5], die Zahl gibt die Größe von Long[] in der Eigenschaft an
  • configArray[6], 1 gibt an, dass die Eigenschaft einen Float-Wert hat
  • configArray[7], die Zahl gibt die Größe von Float[] in der Eigenschaft an
  • configArray[8], die Zahl gibt die Größe von Byte[] in der Eigenschaft an.

Beispielsweise gibt configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} an, dass die Eigenschaft einen String-Wert, einen booleschen Wert, einen Integer-Wert und ein Array mit drei ganzen Zahlen hat.

Konfiguration der Bereichs-ID

Jede Eigenschaftskonfiguration kann auch eine Liste von Bereichs-ID-Konfigurationen enthalten. Diese Liste ist für globale Eigenschaften optional und für Zoneneigenschaften (Eigenschaften mit mehreren unterstützten Bereichen) erforderlich. Jede Bereichs-ID-Konfiguration verfügt über die folgenden Felder.

Feld Beschreibung
areaId Die ID für diesen Bereich. Siehe Bereichs-IDs .
minInt32Value und maxInt32Value
  • Optionaler Mindest- und Höchstwert für Eigenschaften vom Typ INT32. Wird für alle anderen Typen ignoriert. Wird ignoriert, wenn beide 0 sind.
  • Wenn für die globale Eigenschaft ein Mindest- und Höchstwert definiert werden muss, muss eine Bereichskonfiguration mit der Bereichs-ID 0 verwendet werden.
minInt64Value und maxInt64Value
  • Optionaler Mindest- und Höchstwert für Eigenschaften vom Typ INT64. Wird für alle anderen Typen ignoriert. Wird ignoriert, wenn beide 0 sind.
  • Wenn für die globale Eigenschaft ein Mindest- und Höchstwert definiert werden muss, muss eine Bereichskonfiguration mit der Bereichs-ID 0 verwendet werden.
minFloatValue und maxFloatValue
  • Optionaler Mindest- und Höchstwert für Eigenschaften vom Typ Float. Wird für alle anderen Typen ignoriert. Wird ignoriert, wenn beide 0,0 sind.
  • Wenn für die globale Eigenschaft ein Mindest- und Höchstwert definiert werden muss, muss eine Bereichskonfiguration mit der Bereichs-ID 0 verwendet werden.
( Neu in Android 14 )
supportedEnumValues
  • Optionale Liste unterstützter Werte, wenn die Eigenschaft als Eigenschaft vom Typ „Enum“ definiert ist. Wenn nicht angegeben (leer) oder vor Android 14, wird davon ausgegangen, dass alle Enum-Werte unterstützt werden.
  • Wenn für die globale Eigenschaft unterstützte Enum-Werte definiert werden müssen, muss eine Bereichskonfiguration mit der Bereichs-ID 0 verwendet werden.

Gebietstypen

Definiert als Enumerationen in VehicleArea.aidl . Die unterstützten Bereichstypen sind unten aufgeführt.

Bereichstyp Wert Beschreibung
GLOBAL 0x01000000 Diese Eigenschaft ist eine globale Eigenschaft und verfügt nicht über mehrere Bereiche.
FENSTER 0x03000000 Auf Fenstern basierender Bereich, verwendet die VehicleAreaWindow Enumeration.
SPIEGEL 0x04000000 Auf Spiegeln basierender Bereich, verwendet die VehicleAreaMirror Enumeration.
SITZ 0x05000000 Bereich basierend auf Sitzplätzen, verwendet VehicleAreaSeat Enumeration.
TÜR 0x06000000 Bereich basierend auf Türen, verwendet VehicleAreaDoor Enumeration.
RAD 0x07000000 Fläche basierend auf Rädern, verwendet VehicleAreaWheel Enumeration.

Jedes in Zonen aufgeteilte Grundstück muss einen vordefinierten Flächentyp verwenden. Jeder Bereichstyp verfügt über einen Satz von Bitflags, die in einer Aufzählung für den Bereichstyp definiert sind. Beispielsweise definiert der SEAT-Bereich VehicleAreaSeat Enumerationen:

  • 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
  • ...

Bereichs-IDs

In Zonen aufgeteilte Grundstücke werden über Bereichs-IDs angesprochen. Jedes in Zonen aufgeteilte Grundstück kann eine oder mehrere Bereichs-IDs unterstützen. Eine Bereichs-ID besteht aus einem oder mehreren Flags aus der jeweiligen Aufzählung. Beispielsweise könnte eine Eigenschaft, die VehicleAreaSeat verwendet, die folgenden Bereichs-IDs verwenden:

Artikel Beschreibung
ROW_1_LEFT | ROW_1_RIGHT Die Area ID gilt für beide Vordersitze.
ROW_2_LEFT Gilt nur für den linken Rücksitz.
ROW_2_RIGHT Gilt nur für den rechten Rücksitz.

Weitere Informationen finden Sie unter HLK .