每個支援的屬性都會透過 VehiclePropConfig
結構定義的屬性設定指定,並具有下列欄位。
欄位 | 說明 |
---|---|
prop |
房源 ID。這必須是
例如: |
access |
|
changeMode |
|
configArray |
選用陣列,可用於包含屬性專屬設定。可留空。對於某些系統屬性 (例如 GEAR_SELECTION ),設定陣列具有特殊意義,因此必須指定。 |
configString |
選用字串,用於包含屬性專屬設定。可留空。 |
minSampleRate 和 maxSampleRate |
連續性資源的最小和最大支援取樣率 (以赫茲為單位)。如果屬性不是連續的,則不會使用。VHAL 實作項目必須可執行 minSampleRate 和 maxSampleRate 。系統不一定會支援最小值和最大值之間的所有取樣率。 |
資源類型
在 VehiclePropertyType.aidl
中定義為列舉。支援的屬性類型請見下表。
資源類型 | 值 | 說明 |
---|---|---|
STRING |
0x00100000 | 字串屬性,會使用「車輛屬性值」中的 stringValue 欄位。 |
BOOLEAN |
0x00200000 | Boolean 屬性會使用 車輛屬性值中 int32Values 欄位的第一個元素。0 代表 false ,None 0 代表 true 。 |
INT32 |
0x00400000 | Integer 屬性會使用 車輛屬性值中 int32Values 欄位的首個元素。 |
INT32_VEC |
0x00410000 | Integer[] 屬性會使用車輛屬性值中的 int32Values 欄位元素。 |
INT64 |
0x00500000 | Long 屬性,會使用 Vehicle 屬性值中 int64Values 欄位的第一個元素。 |
INT64_VEC |
0x00510000 | Long[] 屬性會使用車輛屬性值中的 int64Values 欄位元素。 |
FLOAT |
0x00600000 | Float 屬性會使用 車輛屬性值中 floatValues 欄位的首個元素。 |
FLOAT_VEC |
0x00610000 | Float[] 屬性會使用車輛屬性值中的 floatValues 欄位元素。 |
BYTES |
0x00700000 | byte[] 屬性會使用車輛屬性值中的 byteValues 欄位元素。 |
MIXED |
0x00e00000 | 混合型屬性。純量或向量類型的任意組合。請務必在屬性設定中的 config 陣列中提供確切的格式。 對於供應商 MIXED 類型資源,
舉例來說, |
區域 ID 設定
每個資源設定也可能包含區域 ID 設定清單。這份清單是全球資源的選用項目,也是區域資源 (支援多個區域的資源) 的必要項目。每個區域 ID 設定都包含下列欄位。
欄位 | 說明 |
---|---|
areaId |
這個區域的 ID。請參閱「區域 ID」。 |
minInt32Value 和 maxInt32Value |
|
minInt64Value 和 maxInt64Value |
|
minFloatValue 和 maxFloatValue |
|
(Android 14 的新功能)supportedEnumValues |
|
(Android 15 的新功能)supportVariableUpdateRate |
|
(Android 16 的新功能)hasSupportedValueInfo |
|
區域類型
在 VehicleArea.aidl
中定義為列舉。以下列出支援的區域類型。
區域類型 | 值 | 說明 |
---|---|---|
全球 | 0x01000000 | 這項資源是全域資源,沒有多個區域。 |
WINDOW | 0x03000000 | 以視窗為基礎的區域,使用 VehicleAreaWindow 列舉。 |
《Mirror》 | 0x04000000 | 以鏡像為基礎的區域,使用 VehicleAreaMirror 列舉。 |
SEAT | 0x05000000 | 以座位為準的區域,使用 VehicleAreaSeat 列舉。 |
門 | 0x06000000 | 以門為依據的區域,使用 VehicleAreaDoor 列舉。 |
WHEEL | 0x07000000 | 以輪為單位的面積,使用 VehicleAreaWheel 列舉。 |
每個區域屬性都必須使用預先定義的區域類型。每個區域類型都有一組位元標記,這些標記是在區域類型的列舉中定義。例如,SEAT 區域定義了 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
區塊屬性會透過區域 ID 進行處理。每個區域資源都可能支援一或多個區域 ID。Area ID 包含一或多個相應列舉的標記。舉例來說,使用 VehicleAreaSeat
的資源可能會使用下列區域 ID:
產品 | 說明 |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
區域 ID 適用於兩個前座。 |
ROW_2_LEFT |
僅適用於後座左側座椅。 |
ROW_2_RIGHT |
僅適用於後座右側座椅。 |
詳情請參閱「空調」一文。