每個支援的屬性都是由透過 VehiclePropConfig
結構定義的屬性設定指定,並具有下列欄位。
欄位 | 說明 |
---|---|
prop |
這是物業 ID,這必須是
例如: |
access |
|
changeMode |
|
configArray |
選用陣列,可包含特定屬性的設定。可以留空。對於某些系統屬性 (例如 GEAR_SELECTION ),設定陣列具有特殊意義,且必須指定。
|
configString |
(選用) 包含資源專屬設定的字串。可以留空。 |
minSampleRate 和 maxSampleRate |
連續屬性支援的最小和最大取樣率 (以赫茲為單位)。如果房源並非連續出租,則不適用。VHAL 實作項目必須能夠達成 minSampleRate 和 maxSampleRate 。不一定要支援介於最小值和最大值之間的所有取樣率。 |
物業類型
在 VehiclePropertyType.aidl
中定義為列舉。下表列出支援的屬性類型。
資源類型 | 值 | 說明 |
---|---|---|
STRING |
0x00100000 | 字串屬性,使用「車輛屬性值」中的 stringValue 欄位。 |
BOOLEAN |
0x00200000 | 屬性,並使用「車輛屬性值」中「int32Values 」欄位的第一個元素。Boolean 0 代表 false ,None 0 代表 true 。 |
INT32 |
0x00400000 | 屬性,並使用「車輛屬性值」中「int32Values 」欄位的第一個元素。Integer |
INT32_VEC |
0x00410000 | Integer[] 屬性,並使用「車輛屬性值」中的 int32Values 欄位元素。 |
INT64 |
0x00500000 | 長屬性,使用「車輛屬性值」中 int64Values 欄位的第一個元素。 |
INT64_VEC |
0x00510000 | Long[] 屬性,並使用「車輛屬性值」中的 int64Values 欄位元素。 |
FLOAT |
0x00600000 | 屬性,並使用「車輛屬性值」中「floatValues 」欄位的第一個元素。Float |
FLOAT_VEC |
0x00610000 | Float[] 屬性,並使用「車輛屬性值」中的 floatValues 欄位元素。 |
BYTES |
0x00700000 | byte[] 屬性,並使用「車輛屬性值」中的 byteValues 欄位元素。 |
MIXED |
0x00e00000 | 混合類型屬性。純量或向量類型的任意組合。確切格式必須在屬性設定的設定陣列中提供。 如果是供應商 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。區域 ID 由其各自列舉中的一或多個旗標組成。舉例來說,使用 VehicleAreaSeat
的屬性可能會使用下列區域 ID:
產品 | 說明 |
---|---|
ROW_1_LEFT | ROW_1_RIGHT |
區域 ID 適用於前座。 |
ROW_2_LEFT |
僅適用於左後座。 |
ROW_2_RIGHT |
僅適用於後座右側座位。 |
詳情請參閱「HVAC」。