本頁面列出 VHAL 中支援的系統屬性。VHAL 支援的屬性
必須是下方清單中的系統資源或供應商資源。在 Android 14 和
屬性定義則是
hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl
。
屬性定義是在 AIDL 介面上定義
android.hardware.automotive.vehicle.property
,與 VHAL 不同
介面 (android.hardware.automotive.vehicle
)。VHAL 實作和 VHAL
用戶端都必須依賴這兩個介面。
自動產生的存取模式和變更模式
在 Android 14 以上版本中,為支援 VHAL 實作項目,我們會自動產生 C++ 標頭 和檔案 Java 類別檔案 允許變更系統屬性的存取模式或存取模式供應商 VHAL 實作 確保屬性設定符合規格
A 到 D
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE
使用自動調節郵輪控制 (ACC) 或預測功能時,與主要車輛之間的測量距離
郵輪管制 (PCC)。傳回最後時間點之間的測量距離 (以公釐為單位)
以及 ACC 車輛的最前點maxInt32Value
必須定義 VehicleAreaConfig
中的 minInt32Value
。
minInt32Value
應為 0。maxInt32Value
應填入
距離感應器可支援的最大距離範圍。這個值不得為負數。
未偵測到任何待開發客戶車輛 (也就是沒有主要車輛或領先其他車輛時)
車輛距離太遠,感應器無法偵測,則這個屬性應返回
StatusCode.NOT_AVAILABLE
因 CC 已停用而無法使用這個屬性時 (例如
StatusCode#NOT_AVAILABLE_DISABLED
為 false),則這個屬性必須傳回
StatusCode#NOT_AVAILABLE_DISABLED
如果CRUISE_CONTROL_STATE
狀態已實作,且狀態設為 ErrorState
值,然後此屬性
必須傳回與 ErrorState
值一致的 StatusCode
。適用對象
舉例來說,如果 CRUISE_CONTROL_STATE
設為
ErrorState#NOT_AVAILABLE_SPEED_LOW
,那麼此屬性必須傳回
StatusCode#NOT_AVAILABLE_SPEED_LOW
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:MILLIMETER
版本:Android 14
ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP
ACC 或 PCC 目前的目標時間差 (以毫秒為單位)。這個屬性應指定 目標與領先車輛之間的時間差距此差距的定義為移動距離所需的時間 距離前一級車廂的最後側,直至 ACC 車輛的最前側。 領先車輛的時間差距可以高於或低於這個值。
指定時間間距時,應在 configArray in
遞增排序。所有值都必須為正數。如果屬性可寫入,所有值都必須
可寫入。因 CC 已停用而無法使用這個屬性時 (例如
CRUISE_CONTROL_ENABLED
為 false),則這個屬性必須傳回
StatusCode#NOT_AVAILABLE_DISABLED
如果已實作 CRUISE_CONTROL_STATE
,且狀態設為
ErrorState
值,那麼這個屬性必須傳回 StatusCode
對應 ErrorState
值。例如:
如果 CRUISE_CONTROL_STATE
設為 ErrorState#NOT_AVAILABLE_SPEED_LOW
,
那麼這個屬性必須傳回 StatusCode#NOT_AVAILABLE_SPEED_LOW
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:VehicleUnit:MILLI_SECS
版本:Android 14
ABS 互動中
自動煞車系統 (ABS) 已啟用。ABS 啟用時設為 true, ABS 關閉時重設為 false。這個屬性可間歇設定 (閃爍) 根據 ABS 系統的即時狀態建立預測
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
ANDROID_EPOCH_TIME
目前的日期和時間,編碼為 Epoch 紀元時間 (以毫秒為單位)。這個值代表 自 1970 年 1 月 1 日 1/1 起算的毫秒數。
這個值代表自世界標準時間 1/1/1970 起經過的毫秒數,
CarServices 針對此值 WRITE
,以提供 Android 系統的時間 (如果 VHAL)
。適合用於同步處理其他車輛系統 (行車計時) 與
Android 的時代。
在啟動期間,AAOS WRITE
到此屬性一次,之後 WRITE
只有在套用時間來源變更時才會發生。AAOS 會填入 VehiclePropValue.timestamp
正確。AAOS 不會傳送自然經過時間的更新。int64Values[0] = 提供的 Unix
時間 (以毫秒為單位)。
屬性可能需要超過 0 毫秒才會透過堆疊傳播,並
已加上時間戳記的屬性有助於減少時間偏移。因此,對於屬性的所有 WRITE
時間戳記可用來否定這個偏移:
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:不適用
單位類型:VehicleUnit:MILLI_SECS
版本:Android 13
AP_POWER_BOOTUP_REASON
回報目前電源開啟時啟動原因的屬性。這是 STATIC
資源
在關機前不會變更舉例來說,即使使用者按下
自動打開車門解鎖後的電源鍵,因此啟動原因必須
必須輸入VehicleApPowerBootupReason#USER_UNLOCK
int32Values[0]
VehicleApPowerBootupReason
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
AP_POWER_STATE_REPORT
回報應用程式處理器電源狀態的屬性。假設 AP 的電源狀態是 。
int32Values[0]
VehicleApPowerStateReport 列舉值- 必要時,起床時間:
int32Values[1]
毫秒 (否則為 0)
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
AP_POWER_STATE_REQ
控制應用程式處理器電源狀態的屬性。假設 AP 的電源狀態是
由獨立的電源控制器控制。如需設定資訊
VehiclePropConfig.configArray
必須在
VehicleApPowerStateConfigFlag
int32Values[0]
VehicleApPowerStateReq 列舉值int32Values[1]
與每個狀態相關的額外參數;如果未使用,則為 0。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
AUTOMATIC_EMERGENCY_BRAKING_ENABLED
啟用或停用自動緊急煞車 (AEB)。
設定 True 即可啟用 AEB,設為 false 則可停用 AEB。啟用 AEB 後,
車輛應開啟並監控,以免發生碰撞事故。這項資源
才適合申請速度較快的申請。如要啟用低速自動緊急煞車功能,
應使用 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED
。
一般來說,AUTOMATIC_EMERGENCY_BRAKING_ENABLED
應一律傳回 true 或 false。
如果因暫時性狀態 (例如車輛速度太慢) 而無法使用這項功能
低,資訊必須以 ErrorState
值
AUTOMATIC_EMERGENCY_BRAKING_STATE
屬性。
此屬性定義為 VehiclePropertyAccess.READ_WRITE
,但
原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
AUTOMATIC_EMERGENCY_BRAKING_STATE
自動緊急煞車 (AEB) 狀態。傳回 AEB 的目前狀態。這個屬性必須
一律傳回 AutomaticEmergencyBrakingState 或 ErrorState
中定義的有效狀態
不能透過 StatusCode
顯示錯誤,且必須使用系統支援的錯誤狀態
。這個屬性只適用於速度較快的申請。代表
低速自動緊急煞車系統
應使用 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE
。
如果 AEB 在啟用煞車前加入正向衝突警告,則必須按照這些警告 可能會出現在正向衝突警告 (FCW) 屬性中。
針對全球區域 ID (0),StatusCode#VehicleAreaConfig#supportedEnumValues
除非同時包含兩個 AutomaticEmergencyBrakingState
的狀態,否則必須定義陣列
(包括不建議的 OTHER
) 和 ErrorState
支援。
變更模式:ON_CHANGE
存取模式:READ
Enun 類型:ForwardCollisionWarningState/ErrorState
單位類型:不適用
版本:Android 14
BLIND_SPOT_WARNING_ENABLED
啟用及停用盲點警戒 (BSW)。設為 True 即可啟用 BSW,設為 false 則可停用 BSW。 BSW 啟用後,應開啟車輛中的 ADAS 系統並監控以下情況: 存在的物體
一般來說,BLIND_SPOT_WARNING_ENABLED
應一律傳回 true 或 false。如果
地圖項目因暫時狀態而無法使用,例如車速過低。
資訊必須以 ErrorState
中的
BLIND_SPOT_WARNING_STATE
屬性。
這個屬性定義為 VehiclePropertyAccess.READ_WRITE
但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
BLIND_SPOT_WARNING_STATE
視障警告 (BSW) 狀態。傳回 BSW 的目前狀態。這個屬性必須一律
傳回在 BlindSpotWarningState
或 ErrorState
中定義的有效狀態
不能透過 StatusCode
顯示錯誤,而且必須使用系統支援的錯誤狀態
。
針對每個支援的區域 ID,StatusCode#VehicleAreaConfig#supportedEnumValues
除非兩個 BlindSpotWarningState
的所有狀態 (包括
OTHER
(不建議)) 和 ErrorState
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:BlindSpotWarningState/ErrorState
單位類型:不適用
版本:Android 14
CABIN_LIGHTS_州
傳回車內燈的狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13
CABIN_LIGHTS_SWITCH
車內燈開關。控制車內燈的實體開關位置。
如果因為有大門而開啟燈具,此情況可能與 CABIN_LIGHTS_STATE
不同
即可開啟或發出語音指令例如,如果開關處於關閉狀態,或
自動排序。
此屬性定義為 VehiclePropertyAccess.READ_WRITE
,但
原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:VehicleLightSwitch
單位類型:不適用
版本:Android 13
CLUSTER_DISPLAY_STATE
變更儀表板的顯示狀態。
- 邊界:轉譯叢集活動的區域。
- 插邊:活動不應放置重要資訊的區域。
可能的值:
int32[0]
開啟,關閉:0 - 關閉、1 - 開啟、-1 - 不在乎int32[1]
邊界 - 左側:正數 - 左側位置 (像素 -1) - 請勿謹慎 (應設定所有邊界欄位)int32[2]
邊界 - 頂部:格式相同,「left」int32[3]
邊界 - 右:與「left」的格式相同int32[4]
邊界 - 底部:格式相同,欄之間有「left」int32[5]
插邊 - 左側:正數 - 實際左側插邊值 (以像素為單位 -1) - 不重要 (應設定所有插邊欄位)int32[6]
插邊 - 頂端:相同格式搭配「左」int32[7]
插邊 - 右側:相同格式搭配「left」int32[8]
插邊 - 底部:相同格式搭配「左」
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
CLUSTER_NAVIGATION_STATE
通知目前的導航狀態。個位元組:NavigationStateProto 的序列化訊息。
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:
單位類型:不適用
版本:Android 13
CLUSTER_REPORT_STATE
回報目前的顯示狀態和 ClusterUI 狀態。
ClusterHome
會在處理 CLUSTER_SWITCH_UI
時傳送這則訊息,
CLUSTER_DISPLAY_STATE
此外,ClusterHome
應傳送這封郵件
訊息。當 ClusterOS 收到此訊息以及
內部預期與收到訊息不同,
再配合狀態一次 CLUSTER_SWITCH_UI
,CLUSTER_DISPLAY_STATE
。
- 開啟/關閉
int32[0]
:0 - 關閉,1 - 開啟 int32[1]
邊界 - 剩餘int32[2]
邊界 - 頂端int32[3]
邊界 - 右側int32[4]
邊界 - 底部- 插邊
int32[5]
- 剩餘 int32[6]
插邊 - 頂端int32[7]
插邊 - 右側int32[8]
插邊 - 底部int32[9]
在全螢幕或主畫面中顯示 ClusterUI 類型。0 代表ClusterHome
。其他值後面則是原始設備製造商 (OEM) 的定義。int32[10]
:如果顯示目前兩個 UI,子畫面上的 ClusterUI 類型。 -1 表示該區域已不再使用。個位元組:代表 ClusterUI。0 表示無法使用,1 表示無法使用。舉例來說,假設汽車 支援三種 OEM 定義的 ClusterUI,例如 HOME、MAPS 和 CALL,且僅支援 只在有行動網路時呼叫 UI。如果可以的話 傳送 [1 1 1],而在沒有網路的情況下,則會傳送 [1 1 0]。
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:VehicleLightSwitch
單位類型:不適用
版本:Android 13
CLUSTER_REQUEST_DISPLAY
要求變更叢集顯示狀態,以顯示一些 ClusterUI。目前螢幕出現時
狀態已關閉,ClusterHome
會傳送這則訊息給 ClusterOS 要求停用
螢幕即可顯示特定 ClusterUI。ClusterOS 應使用以下指令回應此事
CLUSTER_DISPLAY_STATE
- 要顯示的
int32
ClusterUI 類型
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
CLUSTER_SWITCH_UI
在儀表板螢幕上啟動 ClusterUI。
int32
顯示的 ClusterUI 類型為 0,代表ClusterHome
, 儀表板螢幕的「主畫面」畫面,並提供預設 UI 和 儀表板螢幕的啟動器功能。其他值則按照原始設備製造商 (OEM) 的定義為準。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
建立使用者
Android 使用者在建立 Android 使用者後呼叫。HAL 可以使用這項屬性 建立對等的使用者。這是非同步要求:Android 透過設定 VehiclePropValue 和 HAL 必須以表示屬性變更的方式回應 成功或失敗如果操作失敗,Android 系統會移除使用者。
要求的格式是由 CreateUserRequest 和 CreateUserResponse。舉例來說,假設系統有兩位使用者 (0 和 10) 和第三位使用者 (亦即 則會是:
int32[0]
42 // 請求 IDint32[1]
11 // 已建立使用者的 Android IDint32[2]
6 // 已建立使用者的 Android 標記 (臨時訪客)int32[3]
10 // 目前的使用者int32[4]
0 // 目前使用者標記 (無)int32[5]
3 // 使用者人數int32[6]
0 // 最初招攬到使用者 (使用者 0)int32[7]
0 // 最初使用者標記 (無)int32[8]
10 // 第二位使用者 (使用者 10)int32[9]
0 // 秒使用者標記 (無)int32[10]
11 // 第三位使用者 (使用者 11)int32[11]
6 // 第三個使用者標記 (暫時訪客) 字串:「ElGuesto」// 新使用者的名稱
如果要求成功,HAL 會傳回:
int32[0]
42 // 請求 IDint32[1]
1 // CreateUserStatus::成功
但如果失敗了,就會發生以下狀況:
int32[0]
42 // 請求 IDint32[1]
2 // CreateUserStatus::FAILURE string: "D'OH!"//
此黑方塊代表的是黑箱,且會傳遞給呼叫端 (例如「設定」UI), 採取適當行動
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
CRITICALLY_LOW_TIRE_PRESSURE
這個屬性表示每輪輪胎的壓力最低門檻。指出 然後更換或修理輪胎這個值必須小於或等於 minFloatValue 位於 TIRE_PRESSURE。最小和最大屬性值 (minFloatValue 和 maxFloatValue) 可以 不適用於這項資源。
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:KILOPASCAL
版本:Android 13
CRUISE_CONTROL_COMMAND
WRITE
Cruise Control (CC) 指令。
如要進一步瞭解各項支援的指令,請參閱 CruiseControlCommand。針對全球區域 ID (0),
必須定義 StatusCode#VehicleAreaConfig#supportedEnumValues
陣列,除非所有
系統支援 CruiseControlState
的狀態。任何不支援的指令傳送方式
此屬性無法使用時必須傳回 StatusCode#INVALID_ARG
因為 CC 已停用 (例如 CRUISE_CONTROL_ENABLED
為 false),這個屬性
如果 CRUISE_CONTROL_STATE
,則必須傳回 StatusCode#NOT_AVAILABLE_DISABLED
狀態已實作,且狀態設為 ErrorState
值,那麼
屬性必須傳回與 ErrorState
值一致的 StatusCode
。
舉例來說,如果 CRUISE_CONTROL_STATE
設為
ErrorState#NOT_AVAILABLE_SPEED_LOW
,那麼此屬性必須傳回
StatusCode#NOT_AVAILABLE_SPEED_LOW
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:CruiseControlCommand
單位類型:不適用
版本:Android 14
CRUISE_CONTROL_ENABLED
啟用或停用郵輪控制 (CC)。設定 true 以啟用 CC,設定 false 可停用 CC。這個
屬性是由所有類型的 CruiseControlType(s) 共用。啟用 CC 後,ADAS 系統
車輛應該開啟並回應指令。一般來說
CRUISE_CONTROL_ENABLED
一律會傳回 true 或 false。如果這項功能因暫時性狀態而無法使用,
例如車速過低,必須以
ErrorState
在 CRUISE_CONTROL_STATE
屬性中指定值。這個屬性定義為
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其做為
僅限VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
CRUISE_CONTROL_STATE
郵輪管制 (CC) 目前的狀態。這個屬性會傳回 CC 的目前狀態。一般而言
此屬性應傳回 CruiseControlState 中定義的有效狀態,或
ErrorState
舉例來說,如果因暫時性狀態而無法使用這項功能,
應透過 ErrorState
傳送。如果是全球區域 ID (0),
必須定義 VehicleAreaConfig#supportedEnumValue
陣列,除非
CruiseControlState (包括不建議的 OTHER) 和 ErrorState
支援。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:CruiseControlState/ErrorState
單位類型:不適用
版本:Android 14
CRUISE_CONTROL_TARGET_SPEED
「郵輪管制」(CC) 目前的目標速度。原始設備製造商 (OEM) 應將 minFloatValue 設為
這個屬性的 maxFloatValue 值,用來定義目標速度的最小和最大目標速度值。這些
不得為負數。maxFloatValue 代表目標速度的上限。
minFloatValue 代表目標速度的下限。
因 CC 已停用而無法使用這個屬性時 (例如
CRUISE_CONTROL_ENABLED
為 false),則這個屬性必須傳回 StatusCode#NOT_AVAILABLE_DISABLED
。
CRUISE_CONTROL_STATE
是
且狀態已設為 ErrorState 值,則此屬性必須傳回
與 ErrorState 值相符的 StatusCode
。舉例來說
已設定CRUISE_CONTROL_STATE
至 ErrorState#NOT_AVAILABLE_SPEED_LOW
,則此屬性必須傳回
StatusCode#NOT_AVAILABLE_SPEED_LOW
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:METER_PER_SEC
版本:Android 14
CRUISE_CONTROL_TYPE
目前的郵輪管制 (CC) 類型。如果 CRUISE_CONTROL_ENABLED
為 true,
這個屬性會傳回
目前啟用的 CC 類型 (例如標準 CC 和自動調整式副本、預測功能)。
一般來說,這個屬性應傳回 CruiseControlType
中定義的有效狀態
或
ErrorState
舉例來說,如果這項功能因暫時性狀態而無法使用,
並
資訊應透過 ErrorState
傳達
針對全球區域 ID (0),StatusCode#VehicleAreaConfig#supportedEnumValues
必須定義陣列
除非 CruiseControlType
的所有狀態 (包括 OTHER
,
建議) 和
系統支援 ErrorState
。正在嘗試WRITE
對這個項目 CruiseControlType#OTHER
或 ErrorState
屬性會擲回 IllegalArgumentException
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:CruiseControlType
ErrorState
單位類型:不適用
版本:Android 14
目前第 _GEAR
目前齒輪。如果未手動操作,則所選齒輪可能會與目前的齒輪不相符。適用對象
舉例來說,如果選取的齒輪是 GEAR_DRIVE
,則目前的齒輪會是其中一種
GEAR_1
、GEAR_2
等等,用來反映
傳輸中,設定資料中的值必須代表支援的齒輪清單
。例如,自動傳輸的設定資料必須包含
{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...}
和 (手動)
傳輸,清單必須是 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
這份清單不必與
GEAR_SELECTION
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleGear
單位類型:不適用
版本:Android 13
CURRENT_POWER_POLICY
向 VHAL 層通知目前的電源原則。汽車電源原則服務設定了這個屬性 電動政策改變時
string: "sample_policy_id" // power policy ID
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
已停用的功能
允許停用 VHAL 中的選用功能。這個屬性會回報
應停用。系統允許的所有選用功能皆已在車輛服務中宣告
疊加,config_allowed_optional_car_features
這個屬性可停用疊加層中定義的功能。沒有這個屬性時
系統會啟用疊加層中宣告的功能。
值 READ
應包含停用的所有功能 (以半形逗號分隔 ,
)
以及
例如,com.android.car.user.CarUserNoticeService,storage_monitoring
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
顯示亮度
表示螢幕亮度的屬性。有些車款只能控制
所有螢幕的亮度。這個屬性用來共用該控制項的變更。車上設有
螢幕亮度必須個別控制,則必須使用
PER_DISPLAY_BRIGHTNESS
請僅填寫 DISPLAY_BRIGHTNESS
和 PER_DISPLAY_BRIGHTNESS
其中之一
如果兩者皆是
但 AAOS 會使用 PER_DISPLAY_BRIGHTNESS
。如果可寫入,Android 可以
設定這個
值。如果只有 READ
權限,
使用者仍可
透過「設定」變更螢幕亮度,但這些變更不得反映在其他螢幕上。
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
DISTANCE_DISPLAY_UNITS
顯示的距離單位。指出車輛用於顯示與
內容。例如「英里」、「公尺」或「公里」。距離單位定義於 CarUnit。
VehiclePropConfig.configArray 用來表示支援的距離顯示單位。
例如:configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE
如果更新 DISTANCE_DISPLAY_UNITS
會影響其他
*_DISPLAY_UNITS
屬性,這些值也必須更新並傳達給 AAOS 架構。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:VehicleUnit
單位類型:不適用
版本:Android 13
DOOR_CHILD_LOCK_ENABLED
門鎖功能已啟用。如果啟用兒童門鎖功能,則傳回 true
如果停用,則為 false。如果啟用這項功能,就無法從車內打開門。此屬性的定義為
做為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為
僅限VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
DOOR_LOCK
門鎖為 true 表示門已上鎖。這個屬性定義為
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其做為
僅限VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
移動移動
每個 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
都必須
介於 minInt32Value
和 maxInt32Value
之間的所有整數都必須是
支援。maxInt32Value
表示門的最大移動速度
正在打開minInt32Value
表示門的最大移動速度
關閉中。
較大的絕對值 (正或負) 表示移動速度較快。產生
,此值必須重設為 0。如果
DOOR_MOVE
為 0,
也就是說,目前沒有移動中的事件
這個屬性不屬於任何特定單位,但落在指定的相對移動速度範圍內。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
DOOR_POS
門位置。maxInt32Value
和minInt32Value
必須定義 VehicleAreaConfig
。
必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。
minInt32Value
表示門已關上。minInt32Value
值須為 0。
maxInt32Value
表示門已完全打開。介於
「minInt32Value
」和
maxInt32Value
表示在封閉式或完全結束之間的轉換狀態
職缺。
此屬性不在任何特定單位中,而是在指定相對位置的範圍中。
某些車輛 (迷你廂型車) 可透過電子方式打開車門。因此,能夠
WRITE
此屬性。這個屬性已定義為 VehiclePropertyAccess
READ_WRITE
,但原始設備製造商 (OEM) 能以 VehiclePropertyAccess.READ
的形式實作
。
變更模式:ON_CHANGE
存取模式:READ_WRITE
/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
E 到 G
ELECTRONIC_TOLL_COLLECTION_CARD_STATUS
電子道路收費卡狀態。這個屬性表示這輛車上的 ETC 卡狀態。如果車用運算主機偵測到車輛上有 ETC 卡,ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
就會提供卡片的狀態。否則,此屬性應為 UNAVAILABLE
變更模式:ON_CHANGE
存取模式:READ
列舉類型:ElectronicTollCollectionCardStatus
單位類型:N/A
版本:Android 13
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
電子道路收費 (ETC) 卡片類型。這個屬性會指出車輛中的 ETC 卡類型。如果車輛主機知道車輛已連結 ETC 卡,這項屬性應會傳回連結的卡片類型;否則,這項屬性應為 UNAVAILABLE
變更模式:ON_CHANGE
存取模式:READ
列舉類型:ElectronicTollCollectionCardType
單位類型:N/A
版本:Android 13
EMERGENCY_LANE_KEEP_ASSIST_ENABLED
啟用或停用緊急車道維持輔助 (ELKA)。設為「true」即可啟用 ELKA,設為「false」則可停用 ELKA。ELKA 啟用後,車輛中的 ADAS 系統應開啟,並監控駕駛人是否有不安全的車道變化。當系統偵測到不安全的操控動作時,ELKA 會發出警示,並套用轉向修正,讓車輛維持在原始車道。一般來說,EMERGENCY_LANE_KEEP_ASSIST_ENABLED
一律應傳回 true 或 false。如果因為某些暫時狀態 (例如車輛速度過慢) 而無法使用這項功能,則必須透過 EMERGENCY_LANE_KEEP_ASSIST_STATE
屬性中的 ErrorState
值傳送該資訊。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
形式實作。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 14
EMERGENCY_LANE_KEEP_ASSIST_STATE
緊急車道維持輔助 (ELKA) 狀態。傳回 ELKA 的目前狀態。一般來說,這個屬性應傳回 EmergencyLaneKeepAssistState
或 ErrorState
中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則這項資訊應透過 ErrorState
傳達。對於全域區域 ID (0),除非所有 EmergencyLaneKeepAssistState
(包括不建議的 OTHER) 和 ErrorState
狀態都支援,否則必須定義 VehicleAreaConfig#supportedEnumValues
陣列。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:EmergencyLaneKeepAssistState/ErrorState
單位類型:N/A
版本:Android 14
ENGINE_COOLANT_TEMP
引擎冷卻液溫度。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_IDLE_AUTO_STOP_ENABLED
代表引擎閒置自動停止的功能。如果為 True,車輛可能會在不需要時自動關閉引擎,然後在需要時自動重新啟動。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
ENGINE_OIL_LEVEL
引擎油量。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleOilLevel
單位類型:N/A
版本:Android 13
ENGINE_OIL_TEMP
引擎油溫度。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_RPM
每分鐘引擎轉數 (RPM)。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:RPM
版本:Android 13
ENV_OUTSIDE_TEMPERATURE
室外溫度。此屬性必須傳達車外環境的溫度讀數。如果有多個感應器用於測量外部溫度,則應在這個屬性中填入平均值,或最能代表外部環境溫度的有意義加權平均值。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:CELSIUS
版本:Android 13
EV_BATTERY_DISPLAY_UNITS
電動車電池供螢幕使用。指出車輛用於向使用者顯示電動車電池資訊的單位。例如瓦特小時 (Wh)、千瓦小時 (kWh) 或安培小時 (Ah)。VehiclePropConfig.configArray
用於表示支援的電能。單位。電能單位在 VehicleUnit
中定義。例如:
configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR
如果更新 EV_BATTERY_DISPLAY_UNITS
會影響其他 *_DISPLAY_UNITS
屬性的值,則必須更新這些值,並將這些值傳達至 AAOS 架構。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleUnit
單位類型:N/A
版本:Android 13
EV_BATTERY_INSTANTANEOUS_CHARGE_RATE
電動車瞬間充電率,以毫瓦為單位。正值表示電池正在充電。負值表示電池正在放電。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:MW
版本:Android 13
EV_BATTERY_LEVEL
傳回目前的電池電量,無論是電動車或油電混合車皆可。這個值不會超過 EV_CURRENT_BATTERY_CAPACITY
。如要計算電量百分比,請使用 (EV_BATTERY_LEVEL
, EV_CURRENT_BATTERY_CAPACITY
)*100。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:WH
版本:Android 13
EV_BRAKE_REGENERATION_LEVEL
電動車的再生煞車等級。必須定義 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必須支援 minInt32Value
和 maxInt32Value
之間的所有值。minInt32Value
必須為 0。maxInt32Value
表示煞車時可回充的最大能量設定。minInt32Value
表示不使用再生煞車的設定。這個屬性是 EV_REGENERATIVE_BRAKING_STATE
的更精細形式。如果 OEM 認為 EvRegenerativeBrakingState
中的狀態不夠精細,使用者可以設定更精確的再生煞車等級。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
EV_CHARGE_CURRENT_DRAW_LIMIT
表示使用者設定的充電電流最大汲取門檻。EvChargeState::configArray[0]
用於以安培為單位,指定車輛允許的最大電流消耗量。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITEREAD
列舉類型:不適用
單位類型:VehicleUnit:AMPERE
版本:Android 13
EV_CHARGE_PERCENT_LIMIT
表示使用者設定的最高收費百分比門檻。表示使用者設定的最高收費百分比門檻。傳回介於 0 到 100 的浮點值。configArray 用於指定有效值。舉例來說,如果車輛支援以下充電百分比限制值:[20, 40, 60, 80, 100],則 configArray 應為 {20, 40, 60, 80, 100}。如果 configArray 為空白,則 0 到 100 的所有值都必須有效。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE,
, READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
EV_CHARGE_PORT_CONNECTED
已連接電動車充電座。如果車輛有多個充電座,則此屬性必須在任何充電座連線時傳回
變更模式:ON_CHANGE
存取模式:READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
EV_CHARGE_PORT_OPEN
電動車充電座已開啟。如果車輛有多個充電埠,當任何充電埠處於開啟狀態時,這個屬性必須傳回 true。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITEREAD
列舉類型:N/A
單位類型:N/A
版本:Android 13
EV_CHARGE_STATE
車輛的充電狀態
傳回車輛目前的充電狀態。
如果車輛的目標充電百分比並非 100,則在電池電量達到目標等級時,這個屬性必須傳回 EvChargeState::STATE_FULLY_CHARGED
。如需更多背景資訊,請參閱 EvChargeState::EV_CHARGE_PERCENT_LIMIT
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:EvChargeState
單位類型:N/A
版本:Android 13
EV_CHARGE_SWITCH
開始或停止為電動車電池充電。使用者想要的設定。將此屬性設為 true 可開始充電,設為 false 則可停止充電。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITEREAD
列舉類型:N/A
單位類型:N/A
版本:Android 13
還剩 EV_CHARGE_TIME_個
預估剩餘充電時間 (以秒為單位)。如果車輛未充電,則傳回 0。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:SECS
版本:Android 13
EV_CURRENT_BATTERY_CAPACITY
電動車或油電混合車目前可用的電池容量。在電動車或油電混合車上,傳回電池容量的實際值。這項屬性會擷取即時可用的電池容量,並考量電池老化和溫度依賴性等因素。這個值可能與 INFO_EV_BATTERY_CAPACITY
不同,因為 INFO_EV_BATTERY_CAPACITY
會傳回車輛全新狀態的電池額定容量。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:WH
版本:Android 14
EV_REGENERATIVE_BRAKING_州
車輛的再生煞車或單人駕駛車輛設定。傳回與車輛再生煞車設定相關聯的目前設定。如果原始設備製造商 (OEM) 所需的設定比 EvRegenerativeBrakingState
中提供的更多設定,則可改用 EV_BRAKE_REGENERATION_LEVEL
屬性,藉此提供更精細的資訊。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:EvRegenerativeBrakingState
單位類型:N/A
版本:Android 13
EV_STOPPING_MODE
代表車輛目前停車模式的屬性。對於全球區域 ID (0),除非支援 EvStoppingMode
的所有列舉值,否則必須定義 VehicleAreaConfig#supportedEnumValues
。EvStoppingMode
列舉可能會在日後擴充,納入更多狀態。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以選擇只將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:EvStoppingMode
單位類型:N/A
版本:Android 14
EVS_SERVICE_REQUEST
啟用並要求 EVS 服務。該屬性提供觸發 EVS 服務的方式。VHAL 應使用這項屬性來要求 Android 啟動或停止 EVS 服務。
int32Values[0]
EVS 服務類型。這個值必須是 EvsServiceType 中的列舉。int32Values[1]
EVS 服務的狀態。這個值必須是 EvsServiceState 中的其中一個列舉。
舉例來說,如要啟用後視圖 EVS 服務,Android 可將屬性值設為:
[EvsServiceType::REAR_VIEW, EvsServiceState::ON]
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
EXTERNAL_CAR_TIME
建議的目前日期和時間,以 Epoch 紀元時間 (以毫秒為單位) 編碼。這個值代表自 1970 年 1 月 1 日世界標準時間起經過的毫秒數。這個屬性會向 Android 傳送 CarTime 變更的訊號。如果系統支援該屬性,VHAL 必須在讀取該屬性時回報最準確的目前 CarTime,並在 CarTime 值變更時發布該屬性的變更。
除了自然流逝的時間外,CarTime 若因任何原因而變更,就必須發布此屬性的 on-change 事件 (時間差小於 500 毫秒時,不應觸發 on-change 事件)。Android 會讀取並訂閱這項資源,以便從 VHAL 擷取時間。這項資訊可用於將 Android 時間與其他車輛系統 (儀表板時鐘) 同步。int64Values[0] = 提供的 Epoch 時間 (以毫秒為單位)。每當收到屬性的新值,AAOS 就會建立並傳送 ExternalTimeSuggestion 至 TimeDetectorService。
如果其他來源的優先順序較低,Android 就會使用此來源來設定系統時間。如要瞭解如何調整時間來源優先順序,以及如何處理時間建議 (包括 Android 如何處理抖動、漂移和最小解析度),請參閱 Time Detector Service 說明文件。
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
我們強烈建議您不要使用這個屬性,透過協定 (例如 GNSS、NTP 和電話) 從 ECU 擷取時間。由於 Android 已支援這些通訊協定,因此建議您使用 Android 系統,而非透過 VHAL 與此屬性連接。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:MILLI_SECS
版本:Android 13
FOG_LIGHTS_STATE
霧燈狀態。傳回霧燈的目前狀態。如果:
- 車輛有前後霧燈。前後霧燈只能一起控制。必須實作
FOG_LIGHTS_STATE
。FRONT_FOG_LIGHTS_STATE
和REAR_FOG_LIGHTS_STATE
不得實作。 - 你只能個別控制前置和後置霧燈。
FOG_LIGHTS_STATE
不得實作,但必須實作FRONT_FOG_LIGHTS_STATE
和REAR_FOG_LIGHTS_STATE
。 - 車輛只有前霧的燈。您必須實作
FOG_LIGHTS_STATE
或FRONT_FOG_LIGHTS_STATE
其中之一 (不能同時實作兩者)。REAR_FOG_LIGHTS_STATE
不得實作。 - 車輛只有後霧燈。您必須實作
FOG_LIGHTS_STATE
或REAR_FOG_LIGHTS_STATE
其中之一 (不能同時實作兩者)。無法實作FRONT_FOG_LIGHTS_STATE
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:N/A
版本:Android 13
FOG_LIGHTS_SWITCH
霧燈開關。使用者想要的設定。如果出現以下情況:
- 車輛同時配備前後霧燈。如果前後霧燈只能一起控制,就必須實作
FOG_LIGHTS_SWITCH
。不得實作FRONT_FOG_LIGHTS_SWITCH
和REAR_FOG_LIGHTS_SWITCH
。 - 前後霧燈只能分別控制。
FOG_LIGHTS_SWITCH
不得實作。必須實作FRONT_FOG_LIGHTS_SWITCH
和REAR_FOG_LIGHTS_SWITCH
。 - 車輛只有前霧燈。您只能實作
FOG_LIGHTS_SWITCH
或FRONT_FOG_LIGHTS_SWITCH
中的其中一個 (不能同時實作兩者)。REAR_FOG_LIGHTS_SWITCH
。 - 車輛只有後霧燈。您必須實作
FOG_LIGHTS_SWITCH
或REAR_FOG_LIGHTS_SWITCH
其中之一 (不能同時實作兩者)。FRONT_FOG_LIGHTS_SWITCH
不得實作。
這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:N/A
版本:Android 13
FORWARD_COLLISION_WARNING_ENABLED
啟用或停用正向衝突警告 (FCW)。設為 true 可啟用 FCW,設為 false 則可停用 FCW。啟用 FCW 時,車輛的 ADAS 系統應已開啟,並監控潛在的碰撞情形。一般來說,FORWARD_COLLISION_WARNING_ENABLED
一律應傳回 true 或 false。如果因某些暫時性狀態而無法使用此功能 (例如車速過低),則必須透過 FORWARD_COLLISION_WARNING_STATE
屬性中的 ErrorState
值傳遞資訊。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
FORWARD_COLLISION_WARNING_STATE
正向衝突警告 (FCW) 狀態。傳回 FCW 的目前狀態。此屬性必須一律傳回 ForwardCollisionWarningState
或 ErrorState
中定義的有效狀態。不得透過 StatusCode 顯示錯誤,而必須改用支援的錯誤狀態。對於全域區域 ID (0),除非 ForwardCollisionWarningState
和 ErrorState
都支援所有狀態 (包括不建議使用的 OTHER),否則必須定義 VehicleAreaConfig#supportedEnumValues
陣列。
變更模式:ON_CHANGE
存取模式:READ
Enun 類型:ForwardCollisionWarningState/ErrorState
單位類型:N/A
版本:Android 14
FRONT_FOG_LIGHTS_STATE
前霧的燈光狀態。傳回前霧燈的目前狀態。您必須實作 FOG_LIGHTS_STATE
或 FRONT_FOG_LIGHTS_STATE
其中之一。詳情請參閱 FOG_LIGHTS_STATE
的說明文件。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:N/A
版本:Android 13
FRONT_FOG_LIGHTS_SWITCH
正面霧燈開關。使用者想要的設定。您只需要實作 FOG_LIGHTS_SWITCH
或 FRONT_FOG_LIGHTS_SWITCH
其中之一。詳情請參閱 FOG_LIGHTS_SWITCH
的說明文件。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:N/A
版本:Android 13
FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME
供展示的燃料耗量單位。
指出車輛向使用者顯示燃料耗量資訊時使用的單位類型
True 表示單位是指單位 (例如 MPG) 大於體積的距離。值為 False 表示單位是距離的體積,例如 L/100KM。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
FUEL_DOOR_OPEN
油門打開。這個屬性必須說明車輛的燃油門是否處於開啟狀態。
這個屬性不適用於電動車。也就是說,如果 INFO_FUEL_TYPE
只包含 FuelType::FUEL_TYPE_ELECTRIC
,就必須實作這項屬性。針對 EV,請實作 EV_CHARGE_PORT_OPEN
。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
FUEL_LEVEL
車輛剩餘的燃料量,以毫升為單位。此屬性必須以毫升為單位,傳達車輛目前剩餘的燃料量。這項屬性不適用於電動車。也就是說,如果 INFO_FUEL_TYPE
只包含 FuelType::FUEL_TYPE_ELECTRIC
,就必須實作這項屬性。針對電動車,請實作 EV_BATTERY_LEVEL
值不得超過 INFO_FUEL_CAPACITY
變更模式:CONTINUOUS
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:MILLILITER
版本:Android 13
FUEL_LEVEL_LOW
油量偏低的警告。這項屬性對應於資訊主頁上的低油量警告。設定 FUEL_LEVEL_LOW
後,車輛必須加滿油才能清除。這項屬性可計算車輛的所有燃料來源。例如:
- 汽油車:這項屬性僅根據汽油量計算。
- 電池供電車輛:這項屬性僅根據電池電量。
- 油電混合車輛:這項屬性可根據油量和電量等級組合,由原始設備製造商自行決定。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
FUEL_VOLUME_DISPLAY_UNITS
顯示的燃料量單位。指出車輛使用哪些單位向使用者顯示油量。例如 Liter 或 Gallon。VehiclePropConfig.configArray
用於表示支援的燃料量顯示單位。音量單位是在 VehicleUnit
中定義。舉例來說,configArray[0] = LITER configArray[1] = GALLON
如果更新 FUEL_VOLUME_DISPLAY_UNITS
會影響其他 *_DISPLAY_UNITS
屬性的值,則必須更新這些值,並將其傳達至 AAOS 架構。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:VehicleUnit
單位類型:N/A
版本:Android 13
GEAR_SELECTION
使用者選取的齒輪。設定資料中的值必須代表此車輛支援的齒輪清單。舉例來說,自動傳輸的設定資料必須包含 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK,
,且如為手動傳輸,則清單必須為 GEAR_DRIVE
, GEAR_1, GEAR_2,...}{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
。針對可讓駕駛人隨選選取特定齒輪 (例如手動模式) 的自動傳輸車輛,GEAR_SELECTION
的值必須設為駕駛所選的特定齒輪,而不是 GEAR_DRIVE
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleGear
單位類型:N/A
版本:Android 13
GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
歐盟的一般安全法規遵循要求。傳回值,指出是否需要遵循一般安全性法規。如果有,則傳回要求類型。
變更模式:STATIC
存取模式:READ
列舉類型:GsrComplianceRequirementType
單位類型:不適用
版本:Android 14
GLOVE_BOX_DOOR_POS
表示手套箱門目前位置的屬性。必須定義 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。minInt32Value
表示手套箱門已關閉。minInt32Value
必須為 0。maxInt32Value
表示手套盒門已完全打開。介於 minInt32Value
和 maxInt32Value
之間的值,表示在關閉和完全開啟位置之間的轉換狀態。
這個屬性不屬於任何特定單位,而是落在指定的相對位置範圍。
區域 ID 必須與手套盒使用的位置相符。舉例來說,如果前右側儀表板內嵌有手套箱,則區域 ID 應為 SEAT_1_RIGHT
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 14
GLOVE_BOX_LOCKED
鎖定或解鎖手套箱。如果為 true,手套盒處於鎖定狀態。如果為 false,則手套箱會解鎖。區域 ID 必須與手套箱預期使用的座位相符。舉例來說,如果前右側儀表板內嵌有手套箱,則區域 ID 應為 VehicleAreaSeat#ROW_1_RIGHT
這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式: READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
H 到 I
HANDS_ON_DETECTION_DRIVER_STATE
駕駛人手部偵測 (HOD) 狀態。傳回駕駛者的雙手是否放在方向盤上。一般來說,這個屬性應傳回 HandsOnDetectionDriverState
或 ErrorState
中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則應透過 ErrorState
傳達相關資訊。如果車輛想向使用者傳送警告,因為駕駛手的手已離開方向盤太久,除非 HANDS_ON_DETECTION_WARNING
都已經定義支援 VehicleAreaConfig#supportedEnumValues
陣列,否則應透過 HANDS_ON_DETECTION_WARNING
顯示所有支援 HandsOnDetectionDriverState
陣列的 ErrorState
(皆應透過 HANDS_ON_DETECTION_WARNING
定義)。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:HandsOnDetectionDriverState/ErrorState
單位類型:N/A
版本:Android 14
HANDS_ON_DETECTION_ENABLED
啟用或停用手動偵測 (HOD)。設定「是」即可啟用「HOD」,設為「false」則可停用 HOD。啟用高強度功能後,車內系統應負責監控駕駛人手在方向盤上的情況,並在偵測到駕駛人手不在方向盤上時發出警告。一般來說,HANDS_ON_DETECTION_ENABLED
應一律傳回 true 或 false。
如果這項功能因暫時性狀態而無法使用,必須透過 HANDS_ON_DETECTION_STATE
屬性中的 ErrorState
值傳達這項資訊。這項屬性定義為 minInt32Value
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能在 VehiclePropertyAccess.READ
中實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 14
HANDS_ON_DETECTION_WARNING 警告
手部偵測 (HOD) 警告。傳回是否向駕駛人發出警告,因為駕駛人雙手離開方向盤的時間過長。一般來說,這個屬性應傳回 HandsOnDetectionWarning
或 ErrorState
中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則這項資訊應透過 ErrorState
傳達。對於全域區域 ID (0),除非所有 HandsOnDetectionWarning
(包括不建議) 和 ErrorState
的所有狀態都支援,否則必須定義 VehicleAreaConfig#supportedEnumValues
陣列。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:HandsOnDetectionWarning/ErrorState
單位類型:不適用
版本:Android 14
HAZARD_LIGHTS_STATE
危險燈狀態。傳回警示燈的目前狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13
HAZARD_LIGHTS_SWITCH
危險電燈開關。使用者要使用的設定。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:N/A
版本:Android 13
HEADLIGHTS_STATE
車頭燈狀態。傳回大燈的目前狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:N/A
版本:Android 13
HEADLIGHTS_SWITCH
車頭燈開關。使用者要使用的設定。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:N/A
版本:Android 13
HIGH_BEAM_LIGHTS_STATE
遠光燈狀態。傳回遠光燈的目前狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13
HIGH_BEAM_LIGHTS_SWITCH
高光照明燈開關。使用者要使用的設定。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:不適用
版本:Android 13
HVAC_AC_ON
開啟或關閉指定區域 ID 的空調。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_ACTUAL_FAN_SPEED_RPM
實際風扇速度。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
空調_AUTO_ON
開啟或關閉自動恆溫空調。如果為 true,則自動恆溫空調會開啟。如果為 false,表示自動空調系統已關閉。如果車輛不支援直接關閉自動空調系統,原始設備製造商應在 VHAL 實作中加入邏輯,將 HVAC_AUTO_ON
設為 false,藉此變更必要的 HVAC 設定,間接關閉 HVAC_AUTO_ON
。理想情況下,這項操作不應干擾使用者。原始設備製造商 (OEM) 應將自動溫度控制系統關閉時所修改的所有設定還原為先前的狀態。如此一來,HVAC_AUTO_ON
關閉的唯一結果應為關閉。如果無法將 HVAC 設定還原為先前的設定,則原始設備製造商應實施最不受干擾的變更。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_AUTO_RECIRC_ON
自動循環模式開啟或關閉。當自動循環模式開啟時,如果車輛偵測到進氣空氣品質不佳,空調系統可能會自動切換為循環模式。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_DEFROSTER
指定窗戶的風扇式除霜功能。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 廠商可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_DUAL_ON
啟用區域間的溫度耦合功能。HVAC_DUAL_ON
屬性的 AreaIDs
應包含可搭配使用的 HVAC_TEMPERATURE_SET
AreaIDs
組合。如果 HVAC_TEMPERATURE_SET
對應至 AreaIDs
[a_1, a_2, ..., a_n],且 HVAC_DUAL_ON
可啟用來連結 a_i 和 a_j,則 HVAC_DUAL_ON
屬性必須對應至 [a_i | a_j]。此外,如果 a_k 和 a_l 也可以個別配對,則 HVAC_DUAL_ON
必須對應至 [a_i | a_j, a_k | a_l]。舉例來說,一輛車有兩個前座 (ROW_1_LEFT
和 ROW_1_RIGHT
) 和三個後座 (ROW_2_LEFT、ROW_2_CENTER 和 ROW_2_RIGHT)。溫度控制單位有兩個,分別是駕駛側和乘客端,也可選擇同步處理。這可以在 AreaIDs
中以這種方式表示:
HVAC_TEMPERATURE_SET > [ROW_1_LEFT | ROW_2_LEFT, ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT] HVAC_DUAL_ON > [ROW_1_LEFT | ROW_2_LEFT | ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT]
啟用此屬性後,ECU 必須同步處理受影響區域的溫度。開啟或關閉 DUAL_ON 參數的副作用,會導致任何參數修改,並產生 onPropertyEvent()
回呼至 VHAL。此外,如果設定溫度 (例如駕駛溫度) 改變其他溫度 (例如前乘客溫度) 時,就必須產生適當的 onPropertyEvent()
回呼。
如果使用者調整的溫度會打破耦合 (例如單獨設定乘客溫度),VHAL 就必須傳送適當的 onPropertyEvent()
回呼 (包括 HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx
)。這項屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_ELECTRIC_DEFROSTER_ON
電力除霜器狀態。
這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_FAN_DIRECTION
風扇方向設定。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleHvacFanDirection
單位類型:N/A
版本:Android 13
HVAC_FAN_DIRECTION_AVAILABLE
有風扇位置。這是區域可用的風扇位置遮罩。每個可用風扇方向都會以向量中的個別項目表示。風扇方向可以包含 vehicle_hvac_fan_direction
集合的多個位元。舉例來說,一般汽車可能有以下風扇位置:
- FAN_DIRECTION_FACE (0x1) - FAN_DIRECTION_FLOOR (0x2) - FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR (0x3) - FAN_DIRECTION_DEFROST (0x4) - FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST (0x6)
變更模式:STATIC
存取模式:READ
列舉類型:VehicleHvacFanDirection
單位類型:不適用
版本:Android 13
HVAC_FAN_SPEED
風扇速度設定。必須定義 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。
minInt32Value
風扇最低速度maxInt32Value
最高風扇速度
這個屬性並未以任何特定單位表示,而是以相對速度的特定範圍表示。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以選擇只將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_MAX_AC_ON
開啟或關閉 MAX AC。當 MAX AC 開啟時,ECU 可視需要調整通風口位置、風扇速度和溫度,盡快為車輛降溫。任何因為開啟或關閉 MAX AC 參數而修改的參數都會產生對 VHAL 的 onPropertyEvent()
回呼。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_MAX_DEFROST_ON
開啟或關閉 MAX DEFROST。啟用 MAX DEFROST 時,ECU 可視需要調整通風狀態、風扇速度和溫度等項目,以盡快除去窗戶。
任何因為開啟或關閉 MAX DEFROST 參數而修改的參數都會產生 VHAL 的 onPropertyEvent()
回呼。HVAC_MAX_DEFROST_ON
的 AreaIDs
表示可在該區域控制 MAX DEFROST。例如,areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT}
表示只能控制前資料列的 HVAC_MAX_DEFROST_ON
。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_POWER_ON
代表空調的全球電源狀態。將這項屬性設為 false,可以標示某些控制「UNAVAILABLE」狀態下個別空調功能和子系統的屬性。 將這個屬性設為 true,可能會將控制個別空調功能和子系統的部分屬性標示為 AVAILABLE 狀態 (除非任一或所有屬性本身俱有 UNAVAILABLE 狀態)。
HvacPower_DependentProperties
是需要開啟空調才能啟用功能的屬性。舉例來說,在某些車輛中,如要開啟空調,必須先開啟 HVAC。HvacPower_DependentProperties
清單必須設在 VehiclePropConfig.configArray
中,HvacPower_DependentProperties
只能包含與 VehicleArea:SEAT
相關聯的屬性。
HVAC_POWER_ON
屬性的面積 ID 對應必須包含 HvacPower_DependentProperties
要對應的所有 AreaIDs
。舉例來說,汽車有兩個:
- 前座 (
ROW_1_LEFT
、ROW_1_RIGHT
) 和三個後座 (ROW_2_LEFT、ROW_2_CENTER、ROW_2_RIGHT)。如果整輛車的空調功能 (AC、溫度等) 都需要使用單一空調電源控制器,則HVAC_POWER_ON
必須對應至 [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
- 前排座位 (
ROW_1_LEFT
、ROW_1_RIGHT
) 和第二排 (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT
) 和第三排 (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT
) 的三個座位。如果車輛的前排溫度控制器可完全獨立於車輛後方的溫度控制器運作,則HVAC_POWER_ON
必須對應至兩個元素陣列:- ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以選擇只將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_RECIRC_ON (空調)
開啟或關閉循環功能。控制車內外部空氣的流通。Recirc
on 表示進入車室的空氣大多來自車室內部。Recirc
off 表示車內的空氣大多來自車外。這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_SEAT_TEMPERATURE
座椅暖氣和冷氣功能。VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
必須定義。必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。maxInt32Value
表示最高座椅溫度的暖氣設定。minInt32Value
必須為 0,除非車輛支援座椅冷氣。在本例中,minInt32Value
表示座椅冷氣設定的最高溫度。這個屬性並未使用任何特定單位,而是使用相對溫度設定的指定範圍。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_SEAT_VENTILATION
座椅通風設備。必須定義 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。minInt32Value
必須是 0。maxInt32Value
表示該座位可用的最大通風設定。
這個屬性不屬於任何特定單位,而是在指定的通風設定範圍內。
空調應用程式和 Google 助理會使用這項權限啟用、變更或讀取座椅通風功能的狀態。這與座椅冷卻不同。只能與冷氣同時開啟。
這項屬性已定義為 >VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
HVAC_SIDE_MIRROR_HEAT
側後視鏡過熱。數值增加代表側邊鏡像的加熱量較高。您必須在 VehicleAreaConfig
中定義 maxInt32Value
和 minInt32Value
,且 minInt32Value
和 maxInt32Value
之間的所有整數都必須受支援。在設定資料中:
maxInt32Value
表示最高暖氣溫度。minInt32Value
必須為 0,表示沒有加熱。
這個屬性並未以任何特定單位表示,而是以相對加熱設定的特定範圍表示。這個屬性定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以選擇將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_STEERING_WHEEL_HEAT
設定方向盤的暖氣和冷氣溫度。VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
必須定義。必須支援介於 minInt32Value
和 maxInt32Value
之間的所有整數。maxInt32Value
表示方向盤加熱設定上限。minInt32Value
應為 0,除非車輛也支援方向盤冷卻功能。在這種情況下,minInt32Value
表示方向盤冷卻設定的最高值。這個屬性並未使用任何特定單位,而是使用特定的暖氣設定範圍。這個屬性定義為 VehiclePropertyAccess.READ
,但原始設備製造商 (OEM) 只能將其實作為 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
HVAC_TEMPERATURE_CURRENT
空調系統目前的溫度。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_DISPLAY_UNITS
顯示溫度單位。指出溫度是否以攝氏或華氏為單位顯示。VehiclePropConfig.configArray
表示支援的溫度顯示單位。例如:configArray[0] = CELSIUS configArray[1] = FAHRENHEIT
這項參數「可能」是用來顯示系統中任何空調溫度。值必須是 VehicleUnit.CELSIUS
或 VehicleUnit.FAHRENHEIT
其中之一
如果更新 HVAC_TEMPERATURE_DISPLAY_UNITS 會影響其他 *_DISPLAY_UNITS
屬性的值,則必須更新這些屬性的值,並將值傳達至 AAOS 架構。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 只能實作 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleUnit
單位類型:不適用
版本:Android 13
HVAC_TEMPERATURE_SET
空調系統目標溫度設定值以攝氏為單位。
必須定義 VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
:
- 最低溫度設定為攝氏
minFloatValue
。 maxFloatValue
最高溫度設定 (攝氏)。
如果不支援 minFloatValue
和 maxFloatValue
之間的所有值,請使用 configArray
列出可設定的有效溫度值。這也說明了查詢表格,用於將車輛的溫度從攝氏轉換為華氏 (反之亦然)。如果車輛不支援標準單位轉換,則必須定義 configArray
。
configArray
的設定如下:
configArray[0]
[支援溫度的下限攝氏度] * 10configArray[1]
[支援的攝氏溫度上限] * 10configArray[2]
[以攝氏為單位遞增] * 10configArray[3]
[支援溫度的下限,以華氏為單位] * 10configArray[4]
[支援溫度的上限 (以華氏為單位)] * 10configArray[5]
[以華氏為單位遞增] * 10
VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
必須分別等於 configArray[0]
和 configArray[1]
。舉例來說,如果車輛支援華氏 [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5]
的溫度值,則 configArray
應為 configArray = {160, 280, 5, 605, 845, 10}
在理想情況下,攝氏遞增與華氏溫度的比率應接近華氏 1 度到 1.8 度的實際比率。所有攝氏值都必須對應至 configArray
定義的華氏值。用戶端會使用 configArray
將這項屬性的溫度從攝氏換算成華氏。此外,它還可讓客戶瞭解要設定哪個攝氏值,才能讓系統達到所需的華氏值。如果 ECU 沒有所有攝氏值與華氏值的一對一對應,則 configArray
應只定義有 1 對 1 對應的攝氏和華氏值清單。
舉例來說,如果 ECU 支援的攝氏值介於 16 到 28 之間,而華氏值介於 60 到 85 之間,每個值的增量為 1,則可能的 configArray
為 code>{160, 280, 10, 600, 840, 20}。在此情況下,85 不是支援的溫度。
凡是在有效值中設定的值,都應四捨五入至最接近的有效值。我們強烈建議原始設備製造商 (OEM) 也實作 HVAC_TEMPERATURE_VALUE_SUGGESTION
車輛屬性,因為此做法可讓應用程式輕鬆判斷可設定的車輛溫度值,以及在攝氏與華氏之間轉換的值。
這項屬性已定義為 VehiclePropertyAccess.READ
,但原始設備製造商 (OEM) 可以將其實作為 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:N/A
單位類型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_VALUE_SUGGESTION
設定空調溫度的建議值。
實作此屬性,協助應用程式瞭解最接近攝氏或華氏溫標的溫度值。
floatValues[0]
應用程式要設定的溫度值。floatValues[1]
floatValues[0]
的單位,應為{VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
的其中一個floatValues[2]
OEM 建議的攝氏溫度值 (這項值不會包含在要求中)。floatValues[3]
OEM 建議的 FAHRENHEIT 值 (此值未包含在要求中)。
應用程式呼叫 set(VehiclePropValue propValue)
並提供要求的值和值的單位。OEM 必須透過 onPropertyEvent()
回呼,在 floatValues[2]
和 floatValues[3]
中傳回建議值。建議值必須符合可從 HVAC_TEMPERATURE_SET
configArray
衍生的值。換句話說,建議值與 configArray
中的值表格必須相同。
我們建議原始設備製造商在 VHAL 實作中加入自訂邏輯,避免向 HVAC ECU 提出要求。邏輯如下所示。如要將溫度從攝氏溫度換算成華氏,請按照下列步驟操作:
// Given tempC and the configArray float minTempC = configArray[0] / 10.0; float temperatureIncrementCelsius = configArray[2] / 10.0; float minTempF = configArray[3] / 10.0; float temperatureIncrementFahrenheit = configArray[5] / 10.0; // Round to the closest increment int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius); tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;
例如,當駕駛人使用語音助理,將空調溫度設為華氏 66.2 度時。首先,應用程式會使用 [66.2, (float)VehicleUnit.FAHRENHEIT,0,0]
的值設定這個屬性。如果原始設備製造商 (OEM) 建議在使用者要求下將溫度設為攝氏 19.0 度或華氏 66.5 度,則 VHAL 必須產生含有屬性值 [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5]
的回呼。在語音助理收到回呼後,就會通知使用者,並將 HVAC 溫度設為建議的值。
舉另一個例子來說,應用程式透過查詢 HVC_TEMPERATURE_SET
取得 21 攝氏度做為目前的溫度值,但應用程式需要知道在汽車 UI 上以華氏度顯示的值為何。為此,應用程式會將 OEM 21 Celsius 的建議值設為 [21, (float)VehicleUnit.CELSIUS, 0, 0]
,如果 OEM 的建議值為 70 華氏 70 度,則 VHAL 必須產生屬性值 [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0]
的回呼。在此情況下,應用程式會知道車輛 UI 中的值為 70.0 華氏 70.0 華氏。
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:N/A
單位類型:N/A
版本:Android 13
HW_CUSTOM_INPUT
定義自訂原始設備製造商 (OEM) 合作夥伴輸入事件。如要傳播 Android 不支援的事件,OEM 合作夥伴必須使用這個輸入事件。此陣列僅由 int32 值組成。Android 屬性如下:
int32Values[0]
輸入程式碼,識別代表這個事件的函式。 有效的事件類型是由CustomInputType.CUSTOM_EVENT_F1
定義,最多CustomInputType.CUSTOM_EVENT_F10
則代表由原始設備製造商 (OEM) 合作夥伴定義的自訂事件。int32Values[1]
在VehicleDisplay
中定義的目標顯示類型 如未與特定螢幕繫結,必須傳送至VehicleDisplay#MAIN
int32Values[2]
重複計數器,如果為 0,則不會重複事件。值 1 以上的值表示這個事件重複次數。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:CustomInputType
單位類型:N/A
版本:Android 13
HW_KEY_INPUT
用於向 Android 提供硬體輸入事件的屬性。
- VehicleHwKeyInputAction 定義的
int32Values[0]
動作 int32Values[1]
鍵碼,必須使用標準 Android 鍵碼int32Values[2]
在VehicleDisplay
中定義的目標顯示裝置 未與特定顯示裝置相關聯的事件必須傳送至VehicleDisplay#MAIN
int32Values[3]
(選用) 刻度數量。這個值必須等於 o 大於 1。如果省略,Android 會預設為 1。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單元類型:不適用
版本:Android 13
HW_KEY_INPUT_V2
用於向 Android 提供硬體輸入事件的屬性。
int32array[0]
由VehicleDisplay
定義的目標顯示裝置,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
int32array[1]
鍵碼,必須使用標準 Android 鍵碼,例如KEYCODE_HOME
和KEYCODE_BACK
- VehicleHwKeyInputAction 中定義的
int32array[2]
動作,例如:
VehicleHwKeyInputAction::ACTION_UP
、VehicleHwKeyInputAction::ACTION_UP
int32array[3]
事件的重複計數。對於按下按鍵事件,這是重複計數,其中第一次按下按鍵的計數從 0 開始,並從該點開始計數。針對按鍵事件,這個屬性一律等於 0。int64array[0]
自上次啟動以來,停機時間 (以奈秒為單位)。表示最近一次按下按鍵事件的時間。對倒數事件而言,這是停機事件的事件時間。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:N/A
單位類型:N/A
版本:Android 14
HW_MOTION_INPUT
用於向 Android 提供硬體輸入事件的屬性。
int32array[0]
由VehicleDisplay
定義的目標螢幕,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER
、VehicleDisplay::AUX
int32array[1]
在 VehicleHwMotionInputSource 中定義的輸入類型,例如:
VehicleHwMotionInputSource::SOURCE_KEYBOARD
、VehicleHwMotionInputSource::SOURCE_DPAD
int32array[2]
VehicleHwMotionInputAction 中定義的動作程式碼,例如:
VehicleHwMotionInputAction::ACTION_UP
、VehicleHwMotionInputAction::ACTION_DOWN
int32array[3]
VehicleHwMotionButtonStateFlag 中定義的按鈕狀態旗標,例如:
VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY
、VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
int32array[4]
指標事件計數、N。N 必須是正整數。int32array[5:5+N-1]
指標 ID,長度為 Nint32array[5+N:5+2*N-1]
工具類型,長度 N。如VehicleHwMotionToolType
中的定義,例如:
VehicleHwMotionToolType::TOOL_TYPE_FINGER
、VehicleHwMotionToolType::TOOL_TYPE_STYLUS
floatArray[0:N-1]
x 資料,長度 NfloatArray[N:2*N-1]
y 資料,長度 NfloatArray[2*N:3*N-1]
壓力資料,長度為 NfloatArray[3*N:4*N-1]
大小資料,長度為 Nint64array[0]
停機時間,自開機後經過的奈秒。表示使用者最初按下向下鍵來啟動位置事件串流的時間。對於下事件,則是下事件的事件時間。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
HW_ROTARY_INPUT
將硬體旋轉事件提供給 Android 的屬性。
int32Values[0]
RotaryInputType,用於識別旋轉旋鈕的旋轉方向。int32Values[1]
點數 (點擊),代表順時針為正數,負數則為負數。int32Values[2]
在VehicleDisplay
事件中定義的目標螢幕,必須傳送至VehicleDisplay#MAIN
int32values[3 .. 3 + abs(number of detents) - 2]
當制動點數量超過 1 或小於 -1 時,連續制動點之間的納秒差異。VehiclePropValue.timestamp
輪替發生的時間。如果停靠次數大於 1 或小於 -1,即旋轉第一次度數。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:RotaryInputType
單位類型:N/A
版本:Android 13
國家/地區狀態
代表燃燒狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleIgnitionState
單位類型:不適用
版本:Android 13
INFO_DRIVER_SEAT
駕駛座椅位置 VHAL 實作時必須忽略 regionId。使用 VehicleArea:GLOBAL
變更模式:STATIC
存取模式:READ
列舉類型:VehicleAreaSeat
單位類型:N/A
版本:Android 13
INFO_EV_BATTERY_CAPACITY
電動車或油電混合車的名目電池容量。傳回額定電池容量 (電動車或油電混合)。這是全新車輛時的可用電池總容量,這個值可能與 EV_CURRENT_BATTERY_CAPACITY
不同,因為 EV_CURRENT_BATTERY_CAPACITY
會考量電池老化和溫度依賴性等因素,傳回即時可用的電池容量。
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:WH
版本:Android 13
INFO_EV_CONNECTOR_TYPE
這部電動車可能使用的連接器清單。如果車輛有多個充電埠,這個屬性必須傳回車輛上至少一個充電埠可使用的所有可能的連接器類型。
變更模式:STATIC
存取模式:READ
列舉類型:EvConnectorType
單位類型:N/A
版本:Android 13
INFO_EV_PORT_LOCATION
這個屬性必須使用 PortLocationType 列舉來傳送電動車充電埠的位置。如果車輛有多個連接埠,這個屬性必須回傳可最快充電的連接埠。如要通訊所有通訊埠位置,請使用 INFO_MULTI_EV_PORT_LOCATIONS
存取模式:讀取
列舉類型:
PortLocationType
單位類型:不適用
版本:Android 13
INFO_EXTERIOR_DIMENSIONS
車輛外層尺寸:
- 高度:
int32Values[0]
- 長度:
int32Values[1]
- 寬度:
int32Values[2]
- 寬度,包括鏡像:
int32Values[3]
- 輪盤底座,包括鏡子:
int32Values[4]
- 前方軌道寬度:
int32Values[5]
- 後置軌道寬度:
int32Values[6]
- 路邊轉彎直徑:
int32Values[7]
變更模式:STATIC
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:MILLIMETER
版本:Android 13
INFO_FUEL_CAPACITY
車輛的燃油容量 (以毫升)。這個屬性必須告知可儲存在車輛的燃料量上限 (以毫升)。這項屬性不適用於電動車 (EV)。也就是說,如果 INFO_FUEL_TYPE
只包含 FuelType::FUEL_TYPE_ELECTRIC
,就必須實作 INFO_FUEL_CAPACITY。如果是電動車,請實作 INFO_EV_BATTERY_CAPACITY。
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:MILLILITER
版本:Android 13
INFO_FUEL_DOOR_LOCATION
加油門位置。這個屬性必須提供車輛加油口的位置。這項屬性不適用於電動車。也就是說,如果 INFO_FUEL_TYPE
只包含 FuelType::FUEL_TYPE_ELECTRIC
,就無法實作這個屬性。針對電動車,請實作 INFO_EV_PORT_LOCATION
或 INFO_MULTI_LOCATIONS
變更模式:STATIC
存取模式:READ
列舉類型:PortLocationType
單位類型:不適用
版本:Android 13
INFO_FUEL_TYPE
車輛可能使用的燃料清單。只有在車輛可以充電式充電時,才需要加入 FuelType::FUEL_TYPE_ELECTRIC
。舉例來說,由於 INFO_FUEL_TYPE
INFO_FUEL_TYPE
的 INT32_VEC 值可填入 FuelType::FUEL_TYPE_ELECTRIC
,因此 Fully Hybrid Electric Vehicle (FHEV) 不得包含 FuelType::FUEL_TYPE_ELECTRIC
。
int32Values = { FuelType::FUEL_TYPE_UNLEADED }
FuelType::FUEL_TYPE_ELECTRIC
做為 INFO_FUEL_TYPE
INFO_FUEL_TYPE
的 INT32_VEC 值,例如:int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }
變更模式:STATIC
存取模式:READ
列舉類型:FuelType
單位類型:N/A
版本:Android 13
資訊_MAKE
車輛製造商。這個屬性必須傳達車輛的公共品牌名稱。
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
資訊模式
車輛型式。這個屬性必須傳達車輛的公用模型名稱。
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
INFO_MODEL_YEAR
車輛的車型年份,格式為 `YYYY`,以公曆年為準。
變更模式:STATIC
存取模式:READ
列舉類型:N/A
單位類型:VehicleUnit:YEAR
版本:Android 13
INFO_MULTI_EV_PORT_LOCATIONS
多個電動車充電座位置。如果車輛有多個電動車連接埠,請導入這個屬性。通訊埠位置是在 PortLocationType 中定義。例如,車輛有一個前左側和一個後左側的通訊埠:
int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT
如果車輛只有一個連接埠,則此屬性的值應列出一個元素。如要說明一個通訊埠的位置,請參閱 INFO-EV-PORT-LOCATION
。
變更模式:STATIC
存取模式:READ
列舉類型:PortLocationType
單位類型:N/A
版本:Android 13
INFO_VIN
車輛的車輛識別碼 (VIN)。
變更模式:STATIC
存取模式:READ
列舉類型:N/A
單位類型:N/A
版本:Android 13
INITIAL_USER_INFO
定義初始化期間要使用的 Android 使用者。Android 系統會在初始化時呼叫此屬性,並讓 HAL 定義應啟動的 Android 使用者。這項要求是由設定 VehiclePropValue (由 InitialUserInfoRequest
定義) 所提出,而 HAL 必須以屬性變更事件 (由 InitialUserInfoResponse 定義) 回應。
如果 HAL 在 Android 系統定義的時間後未回應,Android 系統會繼續執行,就好像 HAL 傳回 InitialUserInfoResponseAction:DEFAULT 動作的回應一樣。舉例來說,首次啟動時,要求可能會是:
int32[0] 42 // request id (arbitrary number set by Android system) int32[1] 1 // InitialUserInfoRequestType::FIRST_BOOT int32[2] 0 // id of current user (usersInfo.currentUser.userId) int32[3] 1 // flag of current user (usersInfo.currentUser.flags = SYSTEM) int32[4] 1 // number of existing users (usersInfo.numberUsers); int32[5] 0 // user #0 (usersInfo.existingUsers[0].userId) int32[6] 1 // flags of user #0 (usersInfo.existingUsers[0].flags)
int32[0] 42 // must match the request id from the request int32[1] 2 // action = InitialUserInfoResponseAction::CREATE int32[2] -10000 // userToSwitchOrCreate.userId (not used as user will be created) int32[3] 8 // userToSwitchOrCreate.flags = ADMIN string: "||Owner" // userLocales + separator + userNameToCreate
InitialUserInfoResponseAction:CREATE
時,以 en-US 和 pt-Owner 為字串擁有者建立相同擁有者使用者)。因此,即使您可以使用單一垂直線 (|
),但地區或名稱的值都不能包含兩個垂直線 (||
)。
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
J 到 R
LANE_CENTERING_ASSIST_COMMAND
Lane Centering Assist (LCA) 指令。用於啟用及暫停 LCA 的指令。
傳送 LaneCenteringAssistCommand
的 ACTIVATE
指令時,
LANE_CENTERING_ASSIST_STATE
必須設為 LaneCenteringAssistState#ACTIVATION_REQUESTED
。當
ACTIVATE
指令成功執行,
「LANE_CENTERING_ASSIST_STATE
」必須設為「LaneCenteringAssistState#ACTIVATED
」
當指令
LaneCenteringAssistCommand
年的 DEACTIVATE
次成功,
LANE_CENTERING_ASSIST_STATE
必須設為
LaneCenteringAssistState#ENABLED
如果是全球區域 ID (0),則必須定義 VehicleAreaConfig#supportedEnumValues
(除非全部)
支援 LaneCenteringAssistCommand
的列舉值。沒有可用的房源時
因為 LCA 已停用 (例如 LANE_CENTERING_ASSIST_ENABLED
為 false),因此
屬性必須
return StatusCode#NOT_AVAILABLE_DISABLED
如果 LANE_CENTERING_ASSIST_STATE
是
和
將狀態設為 ErrorState
值,那麼這個屬性必須傳回與StatusCode
ErrorState
值。舉例來說,如果 LANE_CENTERING_ASSIST_STATE
設為
ErrorState#NOT_AVAILABLE_SPEED_LOW
,這個屬性必須傳回
StatusCode#NOT_AVAILABLE_SPEED_LOW
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:LaneCenteringAssistCommand
單位類型:不適用
版本:Android 14
LANE_CENTERING_ASSIST_ENABLED
啟用或停用 Lane Centering Assist (LCA)。設定 true 即可啟用 LCA,設定 false 則可停用 LCA。 啟用 LCA 後,車輛中的 ADAS 系統應會開啟並等待 駕駛人發出的啟動訊號。啟用此功能後,ADAS 系統應該 轉向車輛,讓車輛保持在目前車道中心。
這與 Lane Keep Assist (LKA) 不同。LKA 會針對駕駛人無意間監控
會朝著或超出車道標示的方向偏移。如果偵測到非蓄意發車的車道,
系統會使用方向控控制項,將車輛歸回目前車道。
一般來說,LANE_CENTERING_ASSIST_ENABLED
應一律傳回 true 或 false。如果
基於某些暫時性狀態,目前無法使用這項功能,例如車速過低或
過高,此資訊必須以ErrorState
LANE_CENTERING_ASSIST_STATE
屬性。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
LANE_CENTERING_ASSIST_STATE
車道中心輔助 (LCA) 狀態。傳回 LCA 的目前狀態。這個屬性必須一律
傳回在 LaneCenteringAssistState
或 ErrorState
中定義的有效狀態
不能透過 StatusCode
顯示錯誤,且必須使用支援的錯誤
狀態。
如果 LCA 出現車道出發警告,必須透過車道顯示 離境警報 (LDW) 屬性。
如為全域區域 ID (0),VehicleAreaConfig#supportedEnumValues
陣列必須是
除非同時定義了兩個 LaneCenteringAssistState
(包括 OTHER) 的所有狀態,但這些
不建議) 且支援 ErrorState
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:LaneCenteringAssistState/ErrorState
單位類型:不適用
版本:Android 14
LANE_def_WARNING_ENABLED
啟用或停用車道出境警報 (LDW)。 設定 true 以啟用 LDW 和 false,以停用 LDW。啟用 LDW 後, 應開啟車輛,並監控車輛是否接近或越過車道 屆時系統會收到警告
一般來說,LANE_DEPARTURE_WARNING_ENABLED
應一律傳回 true 或 false。如果
基於暫時性狀態 (例如車速過低),因此無法使用這項功能
表示資訊必須以 ErrorState
值
LANE_DEPARTURE_WARNING_STATE
屬性。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
LANE_DEPARTURE_WARNING_STATE
車道出境警報 (LDW) 狀態。傳回 LDW 的目前狀態。這個屬性必須一律
傳回在 LaneDepartureWarningState
或 ErrorState
中定義的有效狀態
不能透過 StatusCode
顯示錯誤,而且必須使用系統支援的錯誤狀態
。
如為全域區域 ID (0),VehicleAreaConfig#supportedEnumValues
陣列必須是
除非同時定義了兩個 LaneDepartureWarningState
(包括 OTHER) 的所有狀態,但這些
不建議) 且支援 ErrorState
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:LaneDepartureWarningState/ErrorState
單位類型:不適用
版本:Android 14
LANE_KEEP_ASSIST_ENABLED
啟用或停用 Lane Keep Assist (LKA)。設定 True 即可啟用 LKA,設為 false 則可停用 LKA。 啟用 LKA 時,應開啟車輛中的 ADAS 系統並監控 駕駛人無意間朝車道標線前進或超出車道標示。如果車道並非刻意出發 在偵測到後,系統會採用方向盤控制,將車輛回復到目前車道。 這與 Lane Centering Assist (LCA) 不同,後者會在啟用後套用連續 方向控制設定讓車輛保持在目前車道中央。
一般來說,LANE_KEEP_ASSIST_ENABLED
應一律傳回 true 或 false。如果
基於某些暫時性狀態,目前無法使用這項功能,例如車速過低或
過高,此資訊必須以ErrorState
LANE_KEEP_ASSIST_STATE
屬性。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
請僅以 VehiclePropertyAccess.READ
的形式實作。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
LANE_KEEP_ASSIST_STATE
Lane Keep Assist (LKA) 狀態。傳回 LKA 的目前狀態。這個屬性必須一律傳回
LaneKeepAssistState
或 ErrorState
中定義的有效狀態,不得
透過 StatusCode
顯示錯誤,且必須改用系統支援的錯誤狀態
如果 LKA 在套用方向校正前顯示車道出發警告,會發生這類警告 都必須透過車內離境警報 (LDW) 屬性顯示。
如為全域區域 ID (0),則必須定義 VehicleAreaConfig#supportedEnumValues
陣列
除非同時具有 LaneKeepAssistState
的所有狀態 (包括不建議的 OTHER) 和
系統支援 ErrorState
。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:LaneKeepAssistState/ErrorState
單位類型:不適用
版本:Android 14
LOCATION_CHARACTERIZATION
用於計算位置的輸入內容特性。 這個屬性必須指出系統考量的資料和感應器輸入內容 (如有) 計算透過 GNSS HAL 與 Android 分享的車輛位置時。
值必須傳回一系列位元旗標。位元旗標定義於
位置特性。值必須僅包含下列其中一個值:DEAD_RECKONED
或
RAW_GNSS_ONLY
。
不支援這個屬性時,系統會假設沒有其他感應器輸入 轉換為 GNSS 更新所提供的 GNSS 更新檔案除非另有說明 GNSS HAL 介面
變更模式:STATIC
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
MIRROR_AUTO_FOLD_ENABLED
代表 Mirror Auto Fold 功能的屬性。如果有 的地圖項目,則此屬性為 true 自動折疊車輛的側邊鏡子 (例如鏡子向內折疊時) 自動啟動停車模式。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
MIRROR_AUTO_TILT_ENABLED
代表鏡像自動傾斜功能的屬性。如果有 的地圖項目,則此屬性為 true 自動傾斜車輛的側邊鏡子 (例如當鏡子向下傾斜時) 啟用此功能。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14
MIRROR_FOLD
鏡像摺疊。True 表示鏡像已摺疊。這個屬性定義為
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其做為
僅適用於 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
MIRROR_LOCK
鏡像鎖定。True 表示鏡像位置已鎖定,且無法變更。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
MIRROR_Y_MOVE
鏡像 Y 移動。各自的maxInt32Value
和minInt32Value
必須定義 VehicleAreaConfig
。
必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。
maxInt32Value
表示鏡像傾斜時的最大移動速度
沒錯minInt32Value
表示鏡像的最大移動速度
正在向左傾斜
較大的絕對值 (正或負) 表示移動速度較快。產生 鏡像達到位置限制,此值必須重設為 0。如果 MIRROR_Y_MOVE 的值為 ,表示目前沒有發生移動情形。
這個屬性不屬於任何特定單位,而是指定相對移動範圍 速度。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
MIRROR_Y_POS
鏡像 Y 位置。maxInt32Value
和minInt32Value
必須定義 VehicleAreaConfig
。
必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。
minInt32Value
表示鏡像完全朝左側傾斜。
不得為正數。maxInt32Value
表示鏡像傾斜
完全
。不得為負值。0 表示鏡像沒有傾斜
往上移動即可
minInt32Value
和 maxInt32Value
之間的值表示進行轉換
在左方
例如極端和右邊的極端位置
此屬性不在任何特定單位中,而是在指定相對位置的範圍中。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
MIRROR_Z_MOVE
鏡像 Z 移動。各自的maxInt32Value
和minInt32Value
必須定義 VehicleAreaConfig
。
必須支援 minInt32Value
和 maxInt32Value
之間的所有整數。
maxInt32Value
表示鏡子在向上傾斜時的最大移動速度。
minInt32Value
表示鏡子在向下傾斜時的最大移動速度。
較大的絕對值 (正或負) 表示移動速度較快。產生
鏡像達到位置限制,此值必須重設為 0。如果 MIRROR_Z_MOVE 的值為
,表示目前沒有發生移動情形。
這個屬性不屬於任何特定單位,而是指定相對移動範圍 速度。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
MIRROR_Z_POS
鏡像 Z 位置。maxInt32Value
和minInt32Value
必須定義 VehicleAreaConfig
。minInt32Value
之間的所有整數
以及 maxInt32Value
minInt32Value
代表
鏡子會完全向下傾斜不得為正數。
maxInt32Value
表示鏡子已完全向上傾斜。這必須是
非負值。0 表示鏡像沒有朝任何方向傾斜。
minInt32Value
和 maxInt32Value
之間的值表示
從完全向下到完全向上的位置之間轉換狀態。
此屬性不在任何特定單位中,而是在指定相對位置的範圍中。
這項屬性已定義為 VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以
只實作 VehiclePropertyAccess.READ
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
夜色模式
True 表示夜間模式感應器偵測到車廂環境 以在低光源環境中使用舉例來說,平台可利用這項功能執行以下動作 也能在黑暗或低光源環境中輕鬆瀏覽
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
OBD2_FREEZE_FRAME
回報發生問題時的可用 OBD2 感應器值數據匯報
並由系統偵測到必須提供 configArray 的與定義
OBD2_LIVE_FRAME
這個屬性的值解讀方式和
OBD2_LIVE_FRAME
,但 stringValue 欄位可能包含
非空白的診斷疑難排解代碼 (DTC)。
這個屬性的 IVehicle#get 要求必須提供 int64Values[0] 的值。系統會解讀這些內容
做為要擷取的凍結影格的時間戳記。您可以透過
IVehicle#get/OBD2_FREEZE_FRAME_INFO
如果指定的時間戳記沒有凍結影格,回應
NOT_AVAILABLE
必須由實作傳回。因為車輛
凍結影格的儲存空間
NOT_AVAILABLE
(即使最近曾透過
OBD2_FREEZE_FRAME_INFO
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
OBD2_FREEZE_FRAME_CLEAR
凍結畫面。回報目前可用 OBD2 感應器值的數據匯報
並偵測錯誤發生及偵測到錯誤。必須提供與以下同義相同的 configArray
為 OBD2_LIVE_FRAME
定義
這個屬性的值解讀方式和
OBD2_LIVE_FRAME
,但 stringValue 欄位可能包含非空白的診斷
。
這個屬性的 IVehicle#get 要求必須提供 int64Values[0] 的值。這將是
會解讀為要擷取的凍結影格時間戳記。你可以建立時間戳記清單
藉由 IVehicle#get/OBD2_FREEZE_FRAME_INFO
指定的時間戳記不應有凍結影格,這時 NOT_AVAILABLE
的回應就必須是
。因為車輛可能受限於有限的儲存空間,供凍結影格使用
即使框架要求與 NOT_AVAILABLE
相關
最近透過 OBD2_FREEZE_FRAME_INFO
取得了時間戳記
變更模式:ON_CHANGE
存取模式:WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
OBD2_FREEZE_FRAME_INFO
這項屬性說明目前儲存在車輛記憶體中的凍結影格,且
透過 OBD2_FREEZE_FRAME
擷取。值會按以下方式解讀。每個
int64Values 必須是偵測到錯誤代碼的時間戳記,以及對應的
而每個等元素都可用來當做 OBD2_FREEZE_FRAME
的索引鍵
擷取對應的凍結影格
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
OBD2_LIVE_FRAME
回報可用 OBD2 感應器目前 (即時) 值的數據匯報。configArray 設定如下:
configArray[0]
供應商專屬的整數值感應器數量configArray[1]
供應商專用浮點值感應器數量
系統會將這個屬性的值解讀,如以下範例所示。考慮
configArray = {2,3} int32Values
必須是包含以下內容的向量
Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX
加上兩個元素 (或 33 個元素)。
floatValues
必須是包含以下內容的向量
Obd2FloatSensorIndex.LAST_SYSTEM_INDEX
加上三個元素 (或 73 個元素)。
每個影格都可包含不同子集的感應器值,
提供的感應器和供應商專屬感應器為了支援這項功能,
屬性值會做為位元遮罩。位元組必須有足夠的資料才能代表
可能的感應器總數 (在本例中,為 14 個位元組代表 106 個可能值)。
將其解讀為連續位元遮罩,讓每個位元指向
測量影格的感應器距離,支援的位元數與 int32Values
的大小一樣多。
後面接著跟 floatValues 一樣的位元數。
舉例來說,如果 bytes[0] = 0x4C (0b01001100)
,則表示:
- 「
int32Values[0 and 1]
」不是有效的感應器值 int32Values[2 and 3]
是有效的感應器值- 「
int32Values[4 and 5]
」不是有效的感應器值 - 「
int32Values[6]
」是有效的感應器值 - 「
int32Values[7]
」不是有效的感應器值 - 「
int32Values[0 and 1]
」不是有效的感應器值 int32Values[2 and 3]
是有效的感應器值- 「
int32Values[4 and 5]
」不是有效的感應器值 - 「
int32Values[6]
」是有效的感應器值 - 「
int32Values[7]
」不是有效的感應器值
如果是 bytes[5] = 0x61 (0b01100001)
,則:
- 「
int32Values[32]
」是有效的感應器值 - 「
floatValues[0 thru 3]
」是無效的感應器值 floatValues[4 and 5]
是有效的感應器值- 「
floatValues[6]
」不是有效的感應器值。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
ON_CHANGE
變更模式:
存取模式:READ_WRITE/READ
列舉類型:
VehicleLightSwitch
單位類型:不適用
版本:Android 13
PARKING_BRAKE_AUTO_APPLY
自動套用停車煞車。如果為 true,這個屬性表示車輛的
已啟用自動停車煞車功能。False 表示車輛自動停車
已停用虛假功能。這個屬性經常與 PARKING_BRAKE_ON
混淆。
差別在於 PARKING_BRAKE_ON
會指出實際的停車位是否
開啟或關閉,PARKING_BRAKE_AUTO_APPLY
則指出自動停車煞車功能
功能為啟用或停用狀態,且未說明實際停車情形的目前狀態
Brake。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
PARKING_BRAKE_ON
停車煞車狀態。如果這個屬性為 true,則此屬性代表車輛的停車位置 煞車多動。False 表示車輛的停車煞車已緩解。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
PER_DISPLAY_亮度
表示個別螢幕亮度的屬性。
部分車款配備一或多個螢幕,且該螢幕的亮度會個別控制,
每台乘客螢幕都能顯示亮度。在所有螢幕顯示的車內亮度
因此必須採用 DISPLAY_BRIGHTNESS
只有「PER_DISPLAY_BRIGHTNESS
」和「PER_DISPLAY_BRIGHTNESS
」其中之一
。如果兩者皆是
但 AAOS 會使用 PER_DISPLAY_BRIGHTNESS
。
顯示連接埠專門用於識別裝置上的實體連接器,以供顯示輸出。 範圍從 0 到 255
- 「
int32Values[0]
」顯示連接埠 int32Values[1]
亮度
變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 14
PERF_特殊
車輛目前的里程表值。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:KILOMETER
版本:Android 13
PERF_REAR_STEERING_ANGLE
車輛的後置單車模型轉向角度。角度的測量單位為度。左邊為負數。 這個屬性與方向盤的角度無關。這個屬性必須將 後輪相對於車輛的角度,而非方向盤的角度。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:DEGREES
版本:Android 13
PERF_STEERING_ANGLE
前置單車模型的方向角度。角度的測量單位為度。左邊為負數。 這個屬性與方向盤的角度無關。這個屬性必須 與車輛的前輪角度,而非方向盤的角度。
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:DEGREES
版本:Android 13
PERF_VEHICLE_SPEED
車輛速度,當車輛持續行駛時,值必須為正數,
倒車時為負值這個值與齒輪價值無關
(CURRENT_GEAR
或 GEAR_SELECTION
)。舉例來說
GEAR_SELECTION
為 GEAR_NEUTRAL
,PERF_VEHICLE_SPEED
為
車輛持續前進時為陽性,倒車時為陰性,而在非移動時為 0。
變更模式:CONTINUOUS
存取模式:READ
單位類型:不適用
單位類型:VehicleUnit:METER_PER_SEC
版本:Android 13
PERF_VEHICLE_SPEED_DISPLAY
車輛的顯示速度,某些車款的計速器顯示速度略慢 而不是實際速度
變更模式:CONTINUOUS
存取模式:READ
列舉類型:不適用
單位類型:VehicleUnit:METER_PER_SEC
版本:Android 13
POWER_POLICY_GROUP_REQ
定義要求,用來設定用於決定預設電源政策的電源原則群組 電源狀態轉換。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
POWER_POLICY_REQ
定義套用電源政策的要求。VHAL 會設定這個屬性變更車輛電源政策。
汽車電力政策服務會訂閱這項資源,並實際變更電源政策。
方法是將 VehiclePropValue 設為電源政策 ID (如
/vendor/etc/automotive/power_policy.xml
如未定義指定 ID,車輛電源政策服務
忽略要求,並維持目前的電源政策。
string: "sample_policy_id" // power policy ID
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
POWER_POLICY_GROUP_REQ
定義要求設定電源原則群組,用來決定每次電源的預設電源政策 狀態轉換。VHAL 使用要設定的電源原則群組 ID 設定這個屬性 系統在電源狀態轉換時套用的預設電源政策。電源政策群組的定義如下: /vendor/etc/power_policy.xml。如未定義指定 ID,車輛電源政策服務會忽略該 ID 要求。汽車電力政策服務可訂閱這項資源並設定電源原則群組。 至於電源原則,則在系統電源狀態變更時, 是新電源狀態的有效對應電源政策。
string: "sample_policy_group_id" // power policy group ID
變更模式:ON_CHANGE
存取模式:READ
列舉類型:不適用
單位類型:不適用
版本:Android 13
還有 RANGE_個
剩餘範圍。燃料和充電量的剩餘電量。剩餘時間範圍應將
例如車輛的能源來源舉例來說,油電混合車的行駛範圍總和
耗電量和電池用量這個屬性已定義為 VehiclePropertyAccess.READ_WRITE
這是因為導航應用程式可根據以下條件取得更準確的預估範圍
近期路線。這個屬性可用 VehiclePropertyAccess.READ
的形式實作
。
變更模式:CONTINUOUS
存取模式:READ_WRITE
列舉類型:不適用
單位類型:VehicleUnit:METER
版本:Android 13
READING_LIGHTS_STATE
傳回閱讀燈的目前狀態。
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13
READING_LIGHTS_SWITCH
切換 t 控制閱讀燈。如果發生以下情況,這個值可能與READING_LIGHTS_STATE
不同:
因為門處於開啟狀態或你下達語音指令,所以燈才會開啟。例如,在
處於關閉或自動位置。這個屬性定義為
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其做為
僅適用於 VehiclePropertyAccess.READ
。
REAR_FOG_LIGHTS_州
傳回後霧燈的目前狀態。僅限下列值:FOG_LIGHTS_STATE
或
REAR_FOG_LIGHTS_STATE
可以實作。詳情請參閱 FOG_LIGHTS_STATE
變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13
REAR_FOG_LIGHTS_SWITCH
使用者要使用的設定。僅限下列值:FOG_LIGHTS_SWITCH
或
REAR_FOG_LIGHTS_SWITCH
必須
實際執行環境詳情請參閱 FOG_LIGHTS_SWITCH
。這個屬性定義為
VehiclePropertyAccess.READ_WRITE
,但原始設備製造商 (OEM) 可以將其做為
僅適用於 VehiclePropertyAccess.READ
。
變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:VehicleLightSwitch
單位類型:不適用
版本:Android 13
REMOVE_USER
在移除 Android 使用者後,Android 系統呼叫的呼叫。HAL 可以使用這項屬性 移除對等的使用者。此為僅寫入的卡路里。Android 系統未收到回應 從 HAL 觸發因此,這項要求不應失敗。如果無法移除對等 HAL 使用者 則 HAL 應將其標示為閒置或復原。
此要求是透過將 VehiclePropValue 設定為
RemoveUserRequest
,例如,假設系統有 3 位使用者 (0、10 和 11) 和使用者 11
要求如下:
int32[0]
42 // 請求 IDint32[1]
11 // (已移除使用者的 Android 使用者 ID)int32[2]
0 // (已移除使用者的 Android 使用者標記)int32[3]
10 // 目前的使用者int32[4]
0 // 目前使用者標記 (無)int32[5]
2 // 使用者人數int32[6]
0 // 最初招攬到使用者 (使用者 0)int32[7]
0 // 最初使用者標記 (無)int32[8]
10 // 第二位使用者 (使用者 10)int32[9
] 0 // 秒使用者標記 (無)
變更模式:STATIC
存取模式:WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13
S 到 Z
SEAT_AIRBAG_ENABLED
Represents feature to enable and disable a seat's ability to deploy airbag(s) when triggered
(for example, in a collision). If true
, it means the seat's airbags are enabled and,
if triggered, they deploy. If true
, the seat's airbags are disabled, and they do
not deploy in any circumstances. This property does not indicate if the airbags are deployed.
This property can be set to VehiclePropertyAccess.READ
read only for the purpose of
regulation or safety concerns.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_BACKREST_ANGLE_1_MOVE
Seat backrest angle 1 move. The maxInt32Value
and minInt32Value
in
each VehicleAreaConfig
must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat backrest while
angling forward. The minInt32Value
represents the maximum movement speed of the seat
backrest when reclining.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_BACKREST_ANGLE_1_MOVE
is 0, no movement is occurring.
This property is represented in a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_1_POS
Seat backrest angle 1 position. Backrest angle 1 is the actuator closest to the bottom of the
seat. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported. The minInt32Value
indicates the
seat backrest's full recline position with regard to the actuator at the bottom of the seat. The
maxInt32Value
indicates the seat backrest's most upright or forward position with
regard to the actuator at the bottom of the seat.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the full recline and the upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_2_MOVE
Seat backrest angle 2 move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat backrest while
angling forward. The minInt32Value
represents the maximum movement speed of the seat
backrest while reclining.
Larger absolute values, positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_BACKREST_ANGLE_2_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_2_POS
Seat backrest angle 2 position. Backrest angle 2 is the next actuator up from the bottom of the seat.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be #0supported.
The minInt32Value
indicates the seat backrest's full recline position with regard
to the next actuator in the backrest from the one at the bottom of the seat (see
SEAT_BACKREST_ANGLE_1_POS
for details). maxInt32Value
indicates the
seat backrest's most upright and forward position with regard to the next actuator in the backrest
from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS
for details).
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the full recline and upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_BUCKLED
Seatbelt buckled. True indicates belt is buckled. Write access indicates automatic seat buckling
capabilities. This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs
can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_HEIGHT_MOVE
Seatbelt height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat belt's shoulder
anchor while moving up. The minInt32Value
represents the maximum movement speed of
the seat belt's shoulder anchor while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat belt reaches the positional limit, the value must reset to 0. If the value of
SEAT_BELT_HEIGHT_MOVE
is 0, no movement is underway.
This property is represented as a a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_HEIGHT_POS
Seatbelt height position. Adjusts the shoulder belt anchor point.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The minInt32Value
indicates the seat belt's shoulder anchor is at its lowest
position. The maxInt32Value
indicates the seat belt's shoulder anchor is at its
highest position.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_CUSHION_SIDE_SUPPORT_MOVE
Represents property for movement direction and speed of seat cushion side support.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat cushion side
support when growing wider (for example, support is decreasing). The minInt32Value
represents the maximum movement speed of the seat cushion side support when growing narrower
(for example, support is increasing).
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat cushion side support reaches the positional limit, the value must reset to 0. If the value of
SEAT_CUSHION_SIDE_SUPPORT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_CUSHION_SIDE_SUPPORT_POS
Represents property for seat's hipside (bottom cushion's side) support position.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be defined. All integers
between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
indicates the seat cushion side support is in its widest position (for example,
least support). The minInt32Value
indicates the seat cushion side support is in its thinnest
position (for example, most support).
Values in between minInt32Value
and maxInt32Value
indicate a transition state between the
thinnest and widest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_DEPTH_MOVE
Seat depth move.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat while getting
deeper The minInt32Value
represents the maximum movement speed of the seat while
getting shallower.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_DEPTH_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_DEPTH_POS
Seat depth position. Sets the seat depth, distance from back rest to front edge of seat.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All integers
between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the seat is in its shallowest position (for example, the position with
the smallest distance between the front edge of the seat cushion and the rear end of the seat).
The maxInt32Value
indicates the seat is in its deepest position (for example, the position with the
largest distance between the front edge of the seat cushion and the rear end of the seat).
Values in between minInt32Value
and maxInt32Value
indicate a transition state between the
shallowest and deepest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_EASY_ACCESS_ENABLED
Represents property for Seat easy access feature. If true, the seat is automatically adjusted
to make it easier for the occupant to enter and exit the vehicle. Each area ID must map to the
seat that the user is trying to enter/exit with the help of the easy access feature.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_FOOTWELL_LIGHTS_STATE
Represents property for the seat footwell lights state. SEAT_FOOTWELL_LIGHTS_STATE
reflects the
current state of the lights at any point in time. This is different from the function of
SEAT_FOOTWELL_LIGHTS_SWITCH
which represents the position of the switch controlling the lights.
Therefore, SEAT_FOOTWELL_LIGHTS_STATE
may not match the value of SEAT_FOOTWELL_LIGHTS_SWITCH
(for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
and SEAT_FOOTWELL_LIGHTS_SWITCH=ON
).
This property should only be implemented if SEAT_FOOTWELL_LIGHTS_STATE
's value may be different
from that of CABIN_LIGHTS_STATE.
For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14
SEAT_FOOTWELL_LIGHTS_SWITCH
Represents property for the seat footwell lights switch. SEAT_FOOTWELL_LIGHTS_SWITCH
represents
the position of the switch controlling the lights. This is different from the function of
SEAT_FOOTWELL_LIGHTS_STATE which reflects the current state of the lights at any point in time.
Therefore, SEAT_FOOTWELL_LIGHTS_SWITCH
may not match the value of SEAT_FOOTWELL_LIGHTS_STATE
(for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
and SEAT_FOOTWELL_LIGHTS_SWITCH=ON
).
This property should only be implemented if SEAT_FOOTWELL_LIGHTS_SWITCH's value may be different from that of CABIN_LIGHTS_SWITCH.
For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
SEAT_FORE_AFT_MOVE
Seat fore and aft move. This property moves the entire seat forward/backward in the direction that it is facing.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat while moving
forward. The minInt32Value
represents the maximum movement speed of the seat while
moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat reaches the positional limit, the value must reset to 0. If the value of
SEAT_FORE_AFT_MOVE
is 0, no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_FORE_AFT_POS
Seat fore and aft position. Sets the seat position forward and backward.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the seat is at its rearward-most linear position.
The maxInt32Value
indicates the seat is at its forward-most linear position. Values
between minInt32Value
and maxInt32Value
indicate a transition state
between the closest and farthest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_ANGLE_MOVE
Headrest angle move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest while
moving into an upright or forward position. The minInt32Value
represents the maximum
movement speed of the seat's headrest while moving into a shallow position.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEADREST_ANGLE_MOVE
is 0, thenno movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_ANGLE_POS
Headrest angle position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the headrest is in its full recline position. The
maxInt32Value
indicates the headrest is in its most upright and forward position.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the full recline and most upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_FORE_AFT_MOVE
Headrest fore and aft move. The maxInt32Value
and minInt32Value
in
each VehicleAreaConfig
must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest
while moving forward. The minInt32Value
represents the maximum movement speed of
the seat's headrest while moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEADREST_FORE_AFT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_FORE_AFT_POS
Headrest fore and aft position. The maxInt32Value
and minInt32Value
in VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the headrest is in its rearward-most linear position.
The maxInt32Value
indicates the headrest is in its forward-most linear position.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the forward and backward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_MOVE
Headrest height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest while
moving up. The minInt32Value
represents the maximum movement speed of the seat's
headrest while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_HEADREST_HEIGHT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_POS
(Deprecated) Headrest height position.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_POS_V2
Headrest height position. Sets the headrest height for supported seats. VehiclePropConfig.areaConfigs specifies which seats are supported.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The minInt32Value
indicates the headrest is in its lowest position. The
maxInt32Value
indicates the headrest is in its highest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_HEIGHT_MOVE
Seat height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
maxInt32Value
represents the maximum movement speed of the seat when moving up.
minInt32Value
represents the maximum movement speed of the seat when moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEIGHT_MOVE
value is 0, no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEIGHT_POS
Seat height position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The minInt32Value
indicates the seat is in its lowest position. The
maxInt32Value
indicates the seat is in its highest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_FORE_AFT_MOVE
Lumbar fore and aft move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's lumbar support
while moving forward. The minInt32Value
represents the maximum movement speed of
the seat's lumbar support while moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed.
Once the seat's lumbar support reaches the positional limit, the value must reset to 0.
If the value of SEAT_LUMBAR_FORE_AFT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_FORE_AFT_POS
Lumber fore and aft position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The minInt32Value
indicates the lumbar support is in its rearward most position
(for example, least supportive position). The maxInt32Value
indicates the lumbar
support is in its forward most position (for example, most supportive position).
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the forward and rearward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_SIDE_SUPPORT_MOVE
Lumbar side support move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's lumbar side
support while getting wider. The minInt32Value
represents the maximum movement
speed of the seat's lumbar side support while getting thinner.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's lumbar side support reaches the positional limit, the value must reset to 0. If the
value of SEAT_LUMBAR_SIDE_SUPPORT_MOVE
0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_SIDE_SUPPORT_POS
Lumbar side support position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the lumbar side support is in its thinnest position (for example, most support). The
maxInt32Value
indicates the lumbar side support is in its widest position (for
example, least support).
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the thinnest and widest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_LUMBAR_VERTICAL_MOVE
Represents property for vertical movement direction and speed of seat lumbar support.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the lumbar support is moving at the fastest
upward speed. The minInt32Value
indicates the lumbar support is moving at the fastest
down speed.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_VERTICAL_MOVE's is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_LUMBAR_VERTICAL_POS
Represents property for seat's lumbar support vertical position. The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
maxInt32Value
indicates the lumbar support's highest position.
minInt32Value
indicates the lumbar support's lowest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_MEMORY_SELECT
This parameter selects the memory preset to use to select the seat position. The
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
is always 0, and the maxInt32Value
determines
the number of seat preset memory slots available (for example, numSeatPresets - 1). For instance,
if the driver's seat has three memory presets, the maxInt32Value
is two. When the
user selects a preset, the desired preset number (0, 1, or 2) is set.
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_MEMORY_SET
This setting allows the user to save the current seat position settings into the selected preset
slot. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. The minInt32Value
must be 0, and the
maxInt32Value
for each seat position must match the maxInt32Value
for
SEAT_MEMORY_SELECT
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_OCCUPANCY
Indicates if a specific seat is occupied, to the best of the car's ability to determine. Valid
values are from the VehicleSeatOccupancyState
enum.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleSeatOccupancyState
Unit type: N/A
Release: Android 13
SEAT_TILT_MOVE
Seat tilt move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The maxInt32Value
represents the maximum movement speed of the front edge of the seat while moving up. The
minInt32Value
represents the maximum movement speed of the front edge of the seat
while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat bottom reaches the positional limit, the value must reset to 0. If SEAT_TILT_MOVE's value is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_TILT_POS
Seat tilt position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the seat bottom is angled at its lowest angular position. This corresponds to the seat's
front edge at its lowest possible position relative to the rear end of the seat.
The maxInt32Value
indicates the seat bottom is angled at its highest angular position.
This corresponds to the seat's front edge at its highest possible position relative to the rear
end of the seat.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_WALK_IN_POS
Represents property that indicates the current walk-in position of the seat. The
minInt32Value
indicates the normal seat position. The minInt32Value
must be 0. The maxInt32Value
indicates the seat is in the full walk-in position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the normal and walk-in positions.
This property is represented as a specified range of relative positions.
The area ID must match the seat that actually moves when the walk-in feature activates, not the intended seat the passengers will sit in.
This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can
implement it as VehiclePropertyAccess.READ only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SHUTDOWN_REQUEST
Request the head unit to be shu down.
This is required for executing a task when the head unit is powered off (remote task feature). After the head unit is powered-on to execute the task, the head unit should be shut down. The head unit sends this message once the task is finished.
This property doesn't apply when a user wants to shut down the head unit.
This usually involves telling a separate system outside the head unit (for instance a power controller) to prepare to shut down the head unit.
The external system must validate that this request is valid by checking if the vehicle is in use. If a user enters the vehicle after a SHUTDOWN_REQUEST is sent, then the system must ignore this request. It is recommended to store a VehicleInUse property in the power controller and exposes it through VEHICLE_IN_USE property. A shutdown request must be ignored if VehicleInUse is true.
If allowed, the external system sends a shutdown signal to the head unit, which causes VHAL to send SHUTDOWN_PREPARE message to Android. Android will then start the shut down process by handling the message.
This property is only for issuing a request and only supports writing. Every time this property value is set, the request to shutdown is issued no matter what the current property value is. The current property value is meaningless.
Since this property is write-only, subscribing is not allowed and no property change event is generated.
The value to set indicates the shutdown option, it must be one of
{@code VehicleApPowerStateShutdownParam}
For example,
VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY
. This shutdown option might not be
honored if the system doesn't support such option. In such a case, an error is not returned.
For configuration information, VehiclePropConfig.configArray
must have bit flag
combining values in {@code VehicleApPowerStateConfigFlag}
to indicate which shutdown
options are supported.
Returns error if failed to send the shutdown request to the other system.
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: VehicleApPowerStateShutdownParam
>
Unit type: N/A
Release: Android 14
STEERING_WHEEL_DEPTH_MOVE
Steering wheel depth movement. The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All values between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
indicates the steering wheel moving away from the driver. The
minInt32Value
indicates the steering wheel moving towards the driver.
Larger integers, either positive or negative, indicate a faster movement speed. Once the
steering wheel reaches the positional limit, the value must reset to 0. If the value of
STEERING_WHEEL_DEPTH_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_DEPTH_POS
Steering wheel depth position. All steering wheel properties' unique ids start from 0x0BE0.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All values between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the steering wheel position furthest from
the driver. The minInt32Value
indicates the steering wheel position closest to the
driver.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_EASY_ACCESS_ENABLED
Steering wheel easy access feature enabled. If true, the driver's steering wheel is automatically adjusted to make it easier for the driver to enter and exit the vehicle.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_HEIGHT_MOVE
Steering wheel height movement. The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All values between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
indicates the steering wheel moving up. The
minInt32Value
indicates the steering wheel moving down.
Larger integers, either positive or negative, indicate a faster movement speed. Once the
steering wheel reaches the positional limit, the value must reset to 0. If
STEERING_WHEEL_HEIGHT_MOVE
's value is currently 0, then that means there is no movement
currently occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_HEIGHT_POS
Steering wheel height position.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All values between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the steering wheel being in the highest
position. The minInt32Value
indicates the steering wheel being in the lowest
position.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LIGHTS_STATE
Steering wheel lights state. Represents the current state of the steering wheel lights. This is
different from STEERING_WHEEL_LIGHTS_SWITCH
which represents the position of the switch
controlling the lights. Therefore, STEERING_WHEEL_LIGHTS_STATE
may not match the value of
STEERING_WHEEL_LIGHTS_SWITCH
(for example,
and
STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
STEERING_WHEEL_LIGHTS_STATE=ON
).
This property should only be implemented if STEERING_WHEEL_LIGHTS_STATE
's value may be different
from that of CABIN_LIGHTS_STATE.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LIGHTS_SWITCH
Steering wheel lights switch. Represents the position of the switch controlling the steering
wheel lights. This differs from , which represents the current state
of the steering wheel lights. Therefore, STEERING_WHEEL_LIGHTS_SWITCH
may not match
the value of STEERING_WHEEL_LIGHTS_STATE
. For example,
STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
and
STEERING_WHEEL_LIGHTS_STATE=ON
.
This property should only be implemented if the value for
STEERING_WHEEL_LIGHTS_SWITCH
can differ from that of
CABIN_LIGHTS_SWITCH
.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
must be
defined unless all enum values of VehicleLightSwitch are supported.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LOCKED
Steering wheel locked. If true, the steering wheel's position is locked and not changeable.
This property is defined as
Change mode: Steering wheel theft lock feature enabled. If true, the steering wheel locks automatically to
prevent theft in certain situations. This property is defined as VehiclePropertyAccess.READ_WRITE,
but OEMs can implement it as VehiclePropertyAccess.READ only.
Change mode: External encryption binding seed. This value is mixed with the local key storage encryption key.
This property holds 16 bytes, and is expected to be persisted on an ECU separate from the IVI.
The property is initially set by AAOS, who generates it using a CSRNG. AAOS then reads the
property on subsequent boots. The binding seed is expected to be reliably persisted. Any loss of
the seed results in a factory reset of the IVI.
Change mode: Support customize permissions for vendor properties. Implement this property if VHAL support customize vendor permissions feature.
VehiclePropConfig.configArray is used to indicate vendor properties and permissions which
selected for this vendor property. The permission must be one of enum in VehicleVendorPermission.
The configArray is set as follows, configArray[n+2] is an enum in VehicleVendorPermission and indicates the permission for writing
a value of the property. For example: If vendor properties are not in this array, they have the default vendor permission. If vendor
chose PERMISSION_NOT_ACCESSIBLE, Android does not have access to the property. In the example,
Android can not write a value for vendor_prop_2.
Change mode: (Deprecated) List of all supported property IDs.
Change mode: Defines a request to switch the foreground Android user. This property is used primarily by the Android system to inform the HAL that the current
foreground Android user is switching, but it could also be used by the HAL to request the
Android system to switch users. When the request is made by Android, it sets a VehiclePropValue
and the HAL must respond with a property change event. When the HAL makes the request, it must
also do it through a property change event (the main difference is that the request id is
positive in the former case, and negative in the latter). The SwitchUserMessageType also differs.
If the request succeeds, the HAL must update the property with: If the request fails, the response would be something like: If the request succeeded and Android has three users (0, 10, and 11), the response would be: The current and target user ids are the same. If the request fails, then they would differ.
For example, the target user would be 11 and the current user would remain 10. The HAL can update its internal state once it receives this request, but it needn't
reply to the Android system.
Change mode: Tire pressure. Each tire is identified by its areaConfig.areaId config. The
respective minFloatValue and maxFloatValue are used to store the OEM-
recommended pressure range. Values for minFloatValue and maxFloatValue
in VehicleAreaConfig must be defined.
The minFloatValue in the areaConfig data represents the lower bound of the recommended tire
pressure. The maxFloatValue in the areaConfig data represents the upper bound of the
recommended tire pressure. For example, this areaConfig indicates the recommended
tire pressure of left_front tire as from 200.0kPa to 240.0kPa.
Change mode: Tire pressure units for display. Indicates which units the car is using to display tire pressure
to the user. For example, PSI, Bar or Kilopascal. VehiclePropConfig.configArray is used to
indicate the supported pressure display units. Pressure units are defined in VehicleUnit.
For example, configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR If updating TIRE_PRESSURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties,
then their values must be updated and communicated to the AAOS framework as well.
This property is defined as
Change mode: Set to true when traction control (TC) is active and reset to false when TC is off. This
property can be intermittently set (pulse) based on the real-time state of the TC system.
Change mode: Returns the trailer state of the car.
Change mode: State of the vehicles turn signals.
Change mode: Property used to associate (or query the association) the current user with vehicle-specific
identification mechanisms (such as key FOB). This is an optional user management property. The OEM can still support user management without
defining it. In fact, this property could be used without supporting the core user-related
functions described on INITIAL_USER_INFO. To query the association, the Android system gets the property, passing a VehiclePropValue
containing the types of associations are being queried, as defined by
UserIdentificationGetRequest. The HAL must return right away, returning a VehiclePropValue with a
UserIdentificationResponse. Notice that user identification took place while the system was
booting up. takehe VHAL implementation should only return the already identified association
(such as the key FOB used to unlock the car), instead of starting a new association from the get
call. To associate types, the Android system sets the property, passing a VehiclePropValue containing
the types and values of associations being set, as defined by the UserIdentificationSetRequest.
The HAL then uses a property change event (whose VehiclePropValue is defined by
UserIdentificationResponse) indicating the current status of the types after the request. For example, to query if the current user (10) is associated with the FOB that unlocked the car
and a custom mechanism provided by the OEM, the request is:
If the user is associated with the FOB but not with the custom mechanism, the response is:
Then to associate the user with the custom mechanism, a set request is made: If the request succeeded, the response would be:
The set request adds associations but doesn't remove the existing associations. In the previous
example, the end state would be two associations (FOB and CUSTOM_1). To associate the user with
just CUSTOM_1 but not FOB, then the request would have been:
Change mode: Returns the vehicle's curb weight in kilograms. Curb weight is the total weight of the vehicle
with standard equipment and all necessary operating consumables such as motor oil, transmission
oil, brake fluid, coolant, air conditioning refrigerant, and weight of fuel at nominal tank
capacity while not loaded with either passengers or cargo. configArray[0] is used to specify the vehicle's gross weight in kilograms. The vehicle's gross
weight is the maximum operating weight of the vehicle as specified by the manufacturer
including the vehicle's chassis, body, engine, engine fluids, fuel, accessories, driver,
passengers and cargo but excluding that of any trailers.
Change mode: Indicates if the vehicle is in use. In use means a human user is present and intendeds to use
the vehicle. This doesn't necessarily mean the human user is in the vehicle. For example, if the
human user unlocks the vehicle remotely, the vehicle is considered to be in use. If this property
is supported: This property differs from This property is defined as
Change mode: Vehicle Maps Service (VMS) message. This property uses MIXED data to communicate VMS messages.
Its contents are to be interpreted as follows. The indices defined in VmsMessageIntegerValuesInde
are used to read from int32Values. bytes is a serialized VMS message as defined in the VMS
protocol, which is opaque to the framework. IVehicle#get must always return
Change mode: ON_CHANGEREAD_WRITE
Access mode: Speed units for display. Indicates the type of units used to display speed to the user.
For example, m/s, km/h, or mph. VehiclePropConfig.configArray indicates the supported speed
display units. Pressure units are defined in VehicleUnit. For example: If updating This property is defined as
Change mode: Defines an event that VHAL signals to
Car Watchdog
as a heartbeat. If VHAL supports this property, VHAL should write system uptime to this property
at every three seconds. Car Watchdog subscribes to this property and checks if the property is
updated every three seconds. With the buffer time of three seconds, Car Watchdog waits for a
heartbeat to be signaled up to six seconds from the last heartbeat. If not, Car Watchdog considers
VHAL unhealthy and terminates it. If this property is not supported by VHAL, Car Watchdog doesn't
check VHAL health status.
Change mode: Defines an event that Car Watchdog updates to indicate it's active. Car Watchdog sets this
property to system uptime in milliseconds at every three seconds. While booting, the update could
take longer.
Change mode: Defines a process terminated by Car Watchdog and the reason for the termination.
Change mode: Reports wheel ticks. The first element in the vector is a reset count. A reset indicates
previous tick counts are not comparable with this and future ones. Some sort of discontinuity in
tick counting has occurred. The next four elements represent ticks for individual wheels in the following order: All tick counts are cumulative. Tick counts increment when the vehicle moves forward, and
decrement when the vehicle moves backward. The ticks should be reset to 0 when the vehicle is
started. Uses enum Wheel. For example, if all wheels are supported, then: If a wheel is not supported, its value shall always be set to 0. The
Change mode: Window child lock. True indicates the window is child-locked. This property is defined as
Change mode: Window move. The Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
window reaches the positional limit, the value must reset to 0. If the value of
For a window that may open out of plane (a vent mode of sunroof), this parameter works as
follows. If: This property is defined as
Change mode: Window position. The Values in between This property is defined as
Change mode: Windshield wipers period (milliseconds). Returns the instantaneous time period for one full
cycle of the windshield wipers in milliseconds. A full cycle is defined as a wiper moving from
and returning to the rest position. When an intermittent wiper setting is selected, this property
value must be set to 0 during the pause period of the intermittent wiping. The
Change mode: Windshield wipers state. Returns the current state of the windshield wipers. The value of
For each supported area ID, the
Change mode: Windshield wipers switch. Represents the position of the switch controlling the windshield
wipers. The value of This property is defined as
Change mode: VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_THEFT_LOCK_ENABLED
ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STORAGE_ENCRYPTION_BINDING_SEED
ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
configArray[n]: propId : property ID
for the
vendor property where configArray[n+1] is an enum in VehicleVendorPermission and indicates the
permission for reading the value of the property.
configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }
STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SUPPORTED_PROPERTY_IDS
STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SWITCH_USER
LEGACY_ANDROID_SWITCH
Called by the Android system to indicate the Android user
is about to change, when the change request was made in a way that is not integrated with the
HAL (for example, through adb shell am switch-user). The HAL can switch its internal user once
it receives this request, but it doesn't need to reply back to the Android system. If its
internal user cannot be changed for some reason, then it must wait for the
SWITCH_USER(type=ANDROID_POST_SWITCH)
call to recover (for example, it could issue
a SWITCH_USER(type=VEHICLE_REQUEST)
to switch back to the previous user). Ideally
it should never fail (as switching back could confuse the end user).
For example, if the system have users (0, 10, 11) and it's switching from 0 to 11
(where none of them have any special flag), the request would be:
int32[0]
42 // request idint32[1]
1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCHint32[2]
11 // target user idint32[3]
0 // target user flags (none)int32[4]
10 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // user #0 (Android user id 0)int32[8]
0 // flags of user #0 (none)int32[9]
10 // user #1 (Android user id 10)int32[10]
0 // flags of user #1 (none)int32[11]
11 // user #2 (Android user id 11)int32[12]
0 // flags of user #2 (none)ANDROID_SWITCH
Called by the Android system to indicate the Android user is about to change,
but Android waits for the HAL's response (up to some time) before proceeding. The HAL must
switch its internal user once it receives this request, then respond back to Android with a
SWITCH_USER(type=VEHICLE_RESPONSE)
indicating whether its internal user was switched or not
(through the SwitchUserStatus enum). For example, if Android has users (0, 10, 11) and it's
switching from 10 to 11 (where none of them have any special flag), the request would be:
int32[0]
42 // request idint32[1]
2 // SwitchUserMessageType::ANDROID_SWITCHint32[2]
11 // target user idint32[3]
0 // target user flags (none)int32[4]
10 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // first user (user 0)int32[8]
1 // first user flags (SYSTEM)int32[9]
10 // second user (user 10)int32[10]
0 // second user flags (none)int32[11]
11 // 3rd user (user 11)int32[12]
0 // 3rd user flags (none)
int32[0]
42 // request idint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
1 // status: SwitchUserStatus::SUCCESS
int32[0]
42 // request idint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
VEHICLE_RESPONSE
Called by the HAL to indicate whether a request of type ANDROID_SWITCH
should proceed or abort. See also ANDROID_SWITCH.VEHICLE_REQUEST
Called by the HAL to request that the current foreground Android user is
switched. This is useful in situations where Android started as one user, but the vehicle
identified the driver as another user. For example, user A unlocked the car using the key fob
of user B. The INITIAL_USER_INFO request returned user B, but then a face recognition
subsubsystem identified the user as A. The HAL makes this request by a property change event
(passing a negative request id), and the Android system response is to issue an
ANDROID_POST_SWITCH call which the same request id. For example, if the current foreground
Android user is 10 and the HAL asked to switch to 11, the request would be:
int32[0]
-108 // request idint32[1]
4 // messageType: SwitchUserMessageType::VEHICLE_REQUESTint32[2]
11 // Android user id
int32[0]
-108 // request idint32[1]
5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCHint32[2]
11 // target user idint32[3]
0 // target user id flags (none)int32[4]
11 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // first user (user 0)int32[8]
0 // first user flags (none)int32[9]
10 // second user (user 10)int32[10]
4 // second user flags (none)int32[11]
11 // third user (user 11)int32[12]
3 // third user flags (none)ANDROID_POST_SWITCH
Called by the Android system after a request to switch a user was made.
This property is called after switch requests of any type (for example, >code>LEGACY_ANDROID_SWITCH,
>code>ANDROID_SWITCH, or VEHICLE_REQUEST
) and can be used to determine if the request succeeded or
failed.
INITIAL_USER_INFO
(where the request-specific
value at index 1 is SwitchUserMessageType::ANDROID_POST_SWITCH
), then two more values for
the target user id (for example, the Android user id that was requested to be switched to)
and its flags (as defined by UserFlags).VEHICLE_REQUEST
ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
TIRE_PRESSURE
.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }
CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13
TIRE_PRESSURE_DISPLAY_UNITS
VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
TRACTION_CONTROL_ACTIVE
ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
TRAILER_PRESENT
ON_CHANGE
Access mode: READ
Enum type: TrailerState
Unit type: N/A
Release: Android 13
TURN_SIGNAL_STATE
ON_CHANGE
Access mode: READ
Enum type: VehicleTurnSignal
Unit type: N/A
Release: Android 13
USER_IDENTIFICATION_ASSOCIATION
int32[0]
42 // request idint32[1]
10 (Android user id)int32[2]
0 (Android user flags)int32[3]
2 (number of types queried)int32[4]
1 (first type queried, UserIdentificationAssociationType::KEY_FOB)int32[5]
101 (second type queried, UserIdentificationAssociationType::CUSTOM_1)
int32[0]
42 // request idint32[1]
2 (number of associations in the response)int32[2]
1 (first type: UserIdentificationAssociationType::KEY_FOB)int32[3]
2 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)int32[4]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)int32[5]
4 (second value: UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)
int32[0]
43 // request idint32[1]
10 (Android user id)int32[2]
0 (Android user flags)int32[3]
1 (number of associations being set)int32[4]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)
int32[0]
43 // request idint32[1]
1 (number of associations in the response)int32[2]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)int32[3]
1 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
int32[0]
43 // request idint32[1]
10 (Android user id)int32[2]
2 (number of types set)int32[3]
1 (first type: UserIdentificationAssociationType::KEY_FOB)int32[4]
2 (first value: UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)int32[5]
101 (second type: UserIdentificationAssociationType::CUSTOM_1)int32[6]
1 (second value: UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
VEHICLE_CURB_WEIGHT
STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOGRAM
Release: Android 13
VEHICLE_IN_USE
VEHICLE_IN_USE
must be set to true. Each time the user powers off the vehicle or
the system detects the user is not present, VEHICLE_IN_USE
must be set to false.
VEHICLE_IN_USE
must be set to false.
VEHICLE_IN_USE
must be set to true.
AP_POWER_BOOTUP_REASON
in the sense that
AP_POWER_BOOTUP_REASON
is only set once during system boot. However, this property
might change multiple times during a system boot cycle. For example, a device is currently not
in use. The system bootup to execute a remote task. VEHICLE_IN_USE
is false. While
the remote task is executing, the user enters the vehicle and powers on the vehicle.
VEHICLE_IN_USE
is set to true. After a driving session, user powers off the vehicle,
VEHICLE_IN_USE
is set to false.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
VEHICLE_MAP_SERVICE
StatusCode::NOT_AVAILABLE
.READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
VEHICLE_SPEED_DISPLAY_UNITS
.configArray: { VehicleUnit::METER_PER_SEC, VehicleUnit::KILOMETERS_PER_HOUR, VehicleUnit::MILES_PER_HOUR }
configArray[0]
METER_PER_SEC
configArray[1]
MILES_PER_HOUR
configArray[2]
KILOMETERS_PER_HOUR
VEHICLE_SPEED_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS properties
, then those values must be updated and communicated to
the AAOS framework.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
VHAL_HEARTBEAT
ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WATCHDOG_ALIVE
ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
WATCHDOG_TERMINATED_PROCESS
int32Values[0] 1 // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command
ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
WHEEL_TICK
int64Values[0]
Reset countint64Values[1]
Front left ticksint64Values[2]
Front right ticksint64Values[3]
Rear right ticksint64Values[4]
Rear left ticksconfigArray
is used to indicate the micrometers-per-wheel-tick value and which
wheels are supported configArray is set as follows:configArray[0], bits [0:3] Supported wheels
configArray[0]
VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
configArray[1]
Micrometers per front left wheel tickconfigArray[2]
Micrometers per front right wheel tickconfigArray[3]
Micrometers per rear right wheel tickconfigArray[4]
Micrometers per rear left wheel tick.VehiclePropValue.timestamp
must be filled in.CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_LOCK
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_MOVE
maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The maxInt32Value
indicates the window is opening in plane/closing in the out of plane direction at the fastest
speed. The minInt32Value
indicates the window is closing in plane/opening in the
out of plane direction at the fastest speed.WINDOW_MOVE
is 0, no movement is underway. This property is represented in a
specified range of relative movement speeds.
Max
Open the sunroof further, stop automatically when fully open.Min
Close the sunroof, stop automatically when sunroof is closed.
Max
Close the vent, stop automatically stop when vent is closed.Min
Open the vent further, stop automatically when vent is fully open.
Max
Open the sunroof, stop automatically when sunroof is fully open.Min
Open the vent, stop automatically when vent is fully open.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_POS
maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the window
is closed or fully open out of plane. If the window cannot open out of plane, then
minInt32Value
is the position of the window when fully closed and must be 0. If the
window can open out of plane, the minInt32Value
indicates the window is fully open
in its position out of plane and is a negative value. See the example below for a more detailed
explanation. The maxInt32Value
indicates the window is fully open.minInt32Value
and maxInt32Value
indicate a transition
state between the closed/fully open out-of-plane and fully open positions. This property is not
in any specific unit but in a specified range of relative positions. For example, this is how the
property should work for a window that can move out of plane: For a window that may open out of
plane (vent mode of sunroof) this parameter works with negative values as follows:
In this mode, 0 indicates the window is closed.
Max
Sunroof fully open (0 for sunroof closed).Min
Sunroof vent fully open (0 for sunroof closed).VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDSHIELD_WIPERS_PERIOD
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
The maxInt32Value
for each area ID must specify the longest wiper period. The
minInt32Value
must be set to 0 for each area ID.ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 14
WINDSHIELD_WIPERS_STATE
WINDSHIELD_WIPERS_STATE
may not match the value of
WINDSHIELD_WIPERS_SWITCH
For example, WINDSHIELD_WIPERS_STATE: ON
and
WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO
If WINDSHIELD_WIPERS_STATE: ON
and WINDSHIELD_WIPERS_PERIOD
is
implemented, then WINDSHIELD_WIPERS_PERIOD
must reflect the time period of one full
cycle of the wipers.VehicleAreaConfig#supportedEnumValues
array must
be defined unless all states in WindshieldWipersState
are supported (including OTHER,
which is not recommended).ON_CHANGE
Access mode: READ
Enum type: WindshieldWipersState
Unit type: N/A
Release: Android 14
WINDSHIELD_WIPERS_SWITCH
WINDSHIELD_WIPERS_SWITCH
may not match the value of
WINDSHIELD_WIPERS_STATE
For example, WINDSHIELD_WIPERS_SWITCH: AUTO
and
WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON
For each supported area ID, the
VehicleAreaConfig#supportedEnumValues
array must be defined unless all states in
WindshieldWipersSwitch
are supported (including OTHER, which is not recommended).VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only. If this property is implemented as
VehiclePropertyAccess.READ_WRITE
and the OTHER state is listed in the
VehicleAreaConfig#supportedEnumValues
array, then OTHER is not a supported value
for writing It is only a supported value for reading.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: WindshieldWipersSwitch
Unit type: N/A
Release: Android 14