Każda obsługiwana właściwość jest określona przez konfigurację właściwości zdefiniowaną w strukturze VehiclePropConfig
i ma następujące pola.
Pole | Opis |
---|---|
prop | Identyfikator właściwości. Musi to być albo jedna z właściwości systemu zdefiniowanych w obszarze Obsługiwane właściwości systemu, albo właściwość dostawcy. Identyfikator właściwości jest konstruowany przy użyciu bitu lub następujących pól (od prawej do lewej):
Na przykład, |
access | Tryb dostępu do właściwości. Musi to być READ , WRITE lub READ_WRITE . Musi to być równe trybowi dostępu zdefiniowanemu we właściwościach obsługiwanego systemu . |
changeMode |
|
configArray | Opcjonalna tablica zawierająca konfigurację specyficzną dla właściwości. Może być pusty. |
configString | Opcjonalny ciąg znaków zawierający konfigurację specyficzną dla właściwości. Może być pusty. |
minSampleRate i maxSampleRate Minimalna i maksymalna obsługiwana częstotliwość próbkowania dla właściwości ciągłej. Nieużywane, jeśli właściwość nie jest ciągła. |
Typy nieruchomości
Zdefiniowane jako wyliczenia w VehiclePropertyType.aidl
. Obsługiwane typy właściwości wymieniono w poniższej tabeli.
Typ nieruchomości | Wartość | Opis |
---|---|---|
STRUNOWY | 0x00100000 | String, używa pola stringValue w wartości właściwości pojazdu. |
BOOLEAN | 0x00200000 | Właściwość logiczna, wykorzystuje pierwszy element w polu int32Values w wartości właściwości pojazdu . 0 oznacza false , None 0 oznacza true . |
INT32 | 0x00400000 | Integer, wykorzystuje pierwszy element z pola int32Values we właściwości Vehicle value . |
INT32_VEC | 0x00410000 | Integer[] wykorzystuje elementy z pola int32Values we właściwości Vehicle value . |
INT64 | 0x00500000 | Long, wykorzystuje pierwszy element z pola int64Values w wartości właściwości pojazdu . |
INT64_VEC | 0x00510000 | Long[] , wykorzystuje elementy z pola int64Values w wartości właściwości pojazdu . |
PLATFORMA | 0x00600000 | Float, wykorzystuje pierwszy element z pola floatValues w wartości właściwości pojazdu . |
FLOAT_VEC | 0x00610000 | Float[], wykorzystuje elementy z pola floatValues w wartości właściwości pojazdu . |
BAJTY | 0x00700000 | byte[], wykorzystuje elementy z pola byteValues w wartości właściwości pojazdu . |
MIESZANY | 0x00e00000 | Właściwość typu mieszanego. Dowolna kombinacja typów skalarnych lub wektorowych. Dokładny format musi zostać podany w tablicy config w konfiguracji właściwości. W przypadku właściwości typu MIXED dostawcy configArray musi być sformatowany w następującej strukturze:
Na przykład |
Konfiguracja identyfikatora obszaru
Każda konfiguracja właściwości może również zawierać listę konfiguracji identyfikatorów obszarów. Ta lista jest opcjonalna w przypadku nieruchomości globalnych i wymagana w przypadku nieruchomości strefowych (nieruchomości z wieloma obsługiwanymi obszarami). Każda konfiguracja identyfikatora obszaru ma następujące pola.
Pole | Opis |
---|---|
areaId | Identyfikator tego obszaru. Zobacz Identyfikatory obszarów . |
minInt32Value i maxInt32Value |
|
minInt64Value i maxInt64Value |
|
minFloatValue i maxFloatValue |
|
( Nowość w Androidzie 14 )supportedEnumValues |
|
Typy obszarów
Zdefiniowane jako wyliczenia w VehicleArea.aidl
. Obsługiwane typy obszarów są wymienione poniżej.
Typ obszaru | Wartość | Opis |
---|---|---|
ŚWIATOWY | 0x01000000 | Ta nieruchomość jest własnością globalną i nie obejmuje wielu obszarów. |
OKNO | 0x03000000 | Obszar oparty na oknach, używa wyliczenia VehicleAreaWindow . |
LUSTRO | 0x04000000 | Obszar oparty na lusterkach, wykorzystuje wyliczenie VehicleAreaMirror . |
SIEDZIBA | 0x05000000 | Obszar oparty na siedzeniach, wykorzystuje wyliczenie VehicleAreaSeat . |
DRZWI | 0x06000000 | Obszar oparty na drzwiach, wykorzystuje wyliczenie VehicleAreaDoor . |
KOŁO | 0x07000000 | Obszar oparty na kołach, wykorzystuje wyliczenie VehicleAreaWheel . |
Każda nieruchomość strefowa musi używać wstępnie zdefiniowanego typu obszaru. Każdy typ obszaru ma zestaw flag bitowych zdefiniowanych w wyliczeniu dla typu obszaru. Na przykład obszar SEAT definiuje wyliczenia 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
-
...
Identyfikatory obszarów
Nieruchomości strefowe są adresowane za pomocą identyfikatorów obszarów. Każda nieruchomość strefowa może obsługiwać jeden lub więcej identyfikatorów obszarów. Identyfikator obszaru składa się z jednej lub większej liczby flag z odpowiedniego wyliczenia. Na przykład nieruchomość korzystająca VehicleAreaSeat
może używać następujących identyfikatorów obszarów:
Przedmiot | Opis |
---|---|
ROW_1_LEFT | ROW_1_RIGHT | Identyfikator obszaru dotyczy obu przednich siedzeń. |
ROW_2_LEFT | Dotyczy tylko lewego tylnego siedzenia. | ROW_2_RIGHT | Dotyczy tylko tylnego prawego siedzenia. |
Aby dowiedzieć się więcej, zobacz HVAC .