支援的系統屬性

本頁面列出 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 實作 確保屬性設定符合規格

ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE

使用自動調節郵輪控制 (ACC) 或預測功能時,與主要車輛之間的測量距離 郵輪管制 (PCC)。傳回最後時間點之間的測量距離 (以公釐為單位) 以及 ACC 車輛的最前點maxInt32Value 必須定義 VehicleAreaConfig 中的 minInt32ValueminInt32Value 應為 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。 如果因暫時性狀態 (例如車輛速度太慢) 而無法使用這項功能 低,資訊必須以 ErrorStateAUTOMATIC_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 的目前狀態。這個屬性必須一律 傳回在 BlindSpotWarningStateErrorState 中定義的有效狀態 不能透過 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_UICLUSTER_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 // 請求 ID
  • int32[1] 11 // 已建立使用者的 Android ID
  • int32[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 // 請求 ID
  • int32[1] 1 // CreateUserStatus::成功

但如果失敗了,就會發生以下狀況:

  • int32[0] 42 // 請求 ID
  • int32[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。如果這項功能因暫時性狀態而無法使用, 例如車速過低,必須以 ErrorStateCRUISE_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_DISABLEDCRUISE_CONTROL_STATE 是 且狀態已設為 ErrorState 值,則此屬性必須傳回 與 ErrorState 值相符的 StatusCode。舉例來說 已設定CRUISE_CONTROL_STATEErrorState#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#OTHERErrorState 屬性會擲回 IllegalArgumentException 這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 請僅以 VehiclePropertyAccess.READ 的形式實作。

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:CruiseControlType ErrorState
單位類型:不適用
版本:Android 14

目前第 _GEAR

目前齒輪。如果未手動操作,則所選齒輪可能會與目前的齒輪不相符。適用對象 舉例來說,如果選取的齒輪是 GEAR_DRIVE,則目前的齒輪會是其中一種 GEAR_1GEAR_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_BRIGHTNESSPER_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 中的 maxInt32ValueminInt32Value 都必須 介於 minInt32ValuemaxInt32Value 之間的所有整數都必須是 支援。maxInt32Value 表示門的最大移動速度 正在打開minInt32Value 表示門的最大移動速度 關閉中。

較大的絕對值 (正或負) 表示移動速度較快。產生 ,此值必須重設為 0。如果 DOOR_MOVE 為 0, 也就是說,目前沒有移動中的事件

這個屬性不屬於任何特定單位,但落在指定的相對移動速度範圍內。

這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 請僅以 VehiclePropertyAccess.READ 的形式實作。

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

DOOR_POS

門位置。maxInt32ValueminInt32Value 必須定義 VehicleAreaConfig。 必須支援 minInt32ValuemaxInt32Value 之間的所有整數。 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 的目前狀態。一般來說,這個屬性應傳回 EmergencyLaneKeepAssistStateErrorState 中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則這項資訊應透過 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 中的 maxInt32ValueminInt32Value。必須支援 minInt32ValuemaxInt32Value 之間的所有值。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

已連接電動車充電座。如果車輛有多個充電座,則此屬性必須在任何充電座連線時傳回 true

變更模式: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#supportedEnumValuesEvStoppingMode 列舉可能會在日後擴充,納入更多狀態。這個屬性定義為 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_STATEFRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE 不得實作。
  • 你只能個別控制前置和後置霧燈。 FOG_LIGHTS_STATE 不得實作,但必須實作 FRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE
  • 車輛只有前霧的燈。您必須實作 FOG_LIGHTS_STATEFRONT_FOG_LIGHTS_STATE 其中之一 (不能同時實作兩者)。REAR_FOG_LIGHTS_STATE 不得實作。
  • 車輛只有後霧燈。您必須實作 FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE 其中之一 (不能同時實作兩者)。無法實作 FRONT_FOG_LIGHTS_STATE

變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:N/A
版本:Android 13

FOG_LIGHTS_SWITCH

霧燈開關。使用者想要的設定。如果出現以下情況:

  • 車輛同時配備前後霧燈。如果前後霧燈只能一起控制,就必須實作 FOG_LIGHTS_SWITCH。不得實作 FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH
  • 前後霧燈只能分別控制。FOG_LIGHTS_SWITCH 不得實作。必須實作 FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH
  • 車輛只有前霧燈。您只能實作 FOG_LIGHTS_SWITCHFRONT_FOG_LIGHTS_SWITCH 中的其中一個 (不能同時實作兩者)。REAR_FOG_LIGHTS_SWITCH
  • 車輛只有後霧燈。您必須實作 FOG_LIGHTS_SWITCHREAR_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 的目前狀態。此屬性必須一律傳回 ForwardCollisionWarningStateErrorState 中定義的有效狀態。不得透過 StatusCode 顯示錯誤,而必須改用支援的錯誤狀態。對於全域區域 ID (0),除非 ForwardCollisionWarningStateErrorState 都支援所有狀態 (包括不建議使用的 OTHER),否則必須定義 VehicleAreaConfig#supportedEnumValues 陣列。

變更模式:ON_CHANGE
存取模式:READ
Enun 類型:ForwardCollisionWarningState/ErrorState
單位類型:N/A
版本:Android 14

FRONT_FOG_LIGHTS_STATE

前霧的燈光狀態。傳回前霧燈的目前狀態。您必須實作 FOG_LIGHTS_STATEFRONT_FOG_LIGHTS_STATE 其中之一。詳情請參閱 FOG_LIGHTS_STATE 的說明文件。

變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:N/A
版本:Android 13

FRONT_FOG_LIGHTS_SWITCH

正面霧燈開關。使用者想要的設定。您只需要實作 FOG_LIGHTS_SWITCHFRONT_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 中的 maxInt32ValueminInt32Value。必須支援 minInt32ValuemaxInt32Value 之間的所有整數。minInt32Value 表示手套箱門已關閉。minInt32Value 必須為 0。maxInt32Value 表示手套盒門已完全打開。介於 minInt32ValuemaxInt32Value 之間的值,表示在關閉和完全開啟位置之間的轉換狀態。

這個屬性不屬於任何特定單位,而是落在指定的相對位置範圍。 區域 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) 狀態。傳回駕駛者的雙手是否放在方向盤上。一般來說,這個屬性應傳回 HandsOnDetectionDriverStateErrorState 中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則應透過 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) 警告。傳回是否向駕駛人發出警告,因為駕駛人雙手離開方向盤的時間過長。一般來說,這個屬性應傳回 HandsOnDetectionWarningErrorState 中定義的有效狀態。舉例來說,如果因臨時狀態導致這項功能無法使用,則這項資訊應透過 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_LEFTROW_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 中的 maxInt32ValueminInt32Value。必須支援 minInt32ValuemaxInt32Value 之間的所有整數。

  • 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_ONAreaIDs 表示可在該區域控制 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。舉例來說,汽車有兩個:

  1. 前座 (ROW_1_LEFTROW_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]
  2. 前排座位 (ROW_1_LEFTROW_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 中的 maxInt32ValueminInt32Value 必須定義。必須支援 minInt32ValuemaxInt32Value 之間的所有整數。maxInt32Value 表示最高座椅溫度的暖氣設定。minInt32Value 必須為 0,除非車輛支援座椅冷氣。在本例中,minInt32Value 表示座椅冷氣設定的最高溫度。這個屬性並未使用任何特定單位,而是使用相對溫度設定的指定範圍。這個屬性定義為 VehiclePropertyAccess.READ_WRITE,但 OEM 只能將其實作為 VehiclePropertyAccess.READ

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

HVAC_SEAT_VENTILATION

座椅通風設備。必須定義 VehicleAreaConfig 中的 maxInt32ValueminInt32Value。必須支援 minInt32ValuemaxInt32Value 之間的所有整數。minInt32Value 必須是 0。maxInt32Value 表示該座位可用的最大通風設定。

這個屬性不屬於任何特定單位,而是在指定的通風設定範圍內。

空調應用程式和 Google 助理會使用這項權限啟用、變更或讀取座椅通風功能的狀態。這與座椅冷卻不同。只能與冷氣同時開啟。

這項屬性已定義為 >VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 只能以 VehiclePropertyAccess.READ 的形式實作。

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

HVAC_SIDE_MIRROR_HEAT

側後視鏡過熱。數值增加代表側邊鏡像的加熱量較高。您必須在 VehicleAreaConfig 中定義 maxInt32ValueminInt32Value,且 minInt32ValuemaxInt32Value 之間的所有整數都必須受支援。在設定資料中:

  • 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 中的 maxInt32ValueminInt32Value 必須定義。必須支援介於 minInt32ValuemaxInt32Value 之間的所有整數。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.CELSIUSVehicleUnit.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 中的 minFloatValuemaxFloatValue

  • 最低溫度設定為攝氏 minFloatValue
  • maxFloatValue 最高溫度設定 (攝氏)。

如果不支援 minFloatValuemaxFloatValue 之間的所有值,請使用 configArray 列出可設定的有效溫度值。這也說明了查詢表格,用於將車輛的溫度從攝氏轉換為華氏 (反之亦然)。如果車輛不支援標準單位轉換,則必須定義 configArray

configArray 的設定如下:

  • configArray[0] [支援溫度的下限攝氏度] * 10
  • configArray[1] [支援的攝氏溫度上限] * 10
  • configArray[2] [以攝氏為單位遞增] * 10
  • configArray[3] [支援溫度的下限,以華氏為單位] * 10
  • configArray[4] [支援溫度的上限 (以華氏為單位)] * 10
  • configArray[5] [以華氏為單位遞增] * 10

VehicleAreaConfig 中的 minFloatValuemaxFloatValue 必須分別等於 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_HOMEKEYCODE_BACK
  • VehicleHwKeyInputAction 中定義的 int32array[2] 動作,例如:
    VehicleHwKeyInputAction::ACTION_UPVehicleHwKeyInputAction::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_CLUSTERVehicleDisplay::AUX
  • int32array[1] 在 VehicleHwMotionInputSource 中定義的輸入類型,例如:
    VehicleHwMotionInputSource::SOURCE_KEYBOARDVehicleHwMotionInputSource::SOURCE_DPAD
  • int32array[2] VehicleHwMotionInputAction 中定義的動作程式碼,例如:
    VehicleHwMotionInputAction::ACTION_UPVehicleHwMotionInputAction::ACTION_DOWN
  • int32array[3]VehicleHwMotionButtonStateFlag 中定義的按鈕狀態旗標,例如:
    VehicleHwMotionButtonStateFlag::BUTTON_PRIMARYVehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
  • int32array[4] 指標事件計數、N。N 必須是正整數。
  • int32array[5:5+N-1] 指標 ID,長度為 N
  • int32array[5+N:5+2*N-1] 工具類型,長度 N。如 VehicleHwMotionToolType 中的定義,例如:
    VehicleHwMotionToolType::TOOL_TYPE_FINGERVehicleHwMotionToolType::TOOL_TYPE_STYLUS
  • floatArray[0:N-1] x 資料,長度 N
  • floatArray[N:2*N-1] y 資料,長度 N
  • floatArray[2*N:3*N-1] 壓力資料,長度為 N
  • floatArray[3*N:4*N-1] 大小資料,長度為 N
  • int64array[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

EV 連接埠位置:靜態
存取模式:讀取
列舉類型: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_LOCATIONINFO_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 }
另一方面,插電式油電混合電動車 (PHEV) 為插電式電動車,且應加入 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)
如果 HAL 回應建立名為「Owner」的管理員使用者,回應內容會是:
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
字串值代表多個值,以 || 分隔。第一個值是要建立使用者的 (選用) 系統語言代碼 (在此例中為空白,表示使用的是 Android 預設值),第二個值則是要建立的使用者 (選用) 名稱 (當回應類型為 InitialUserInfoResponseAction:CREATE 時,以 en-US 和 pt-Owner 為字串擁有者建立相同擁有者使用者)。因此,即使您可以使用單一垂直線 (|),但地區或名稱的值都不能包含兩個垂直線 (||)。

變更模式:ON_CHANGE
存取模式:READ_WRITE
列舉類型:不適用
單位類型:不適用
版本:Android 13

J 到 R

LANE_CENTERING_ASSIST_COMMAND

Lane Centering Assist (LCA) 指令。用於啟用及暫停 LCA 的指令。 傳送 LaneCenteringAssistCommandACTIVATE 指令時, 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 的目前狀態。這個屬性必須一律 傳回在 LaneCenteringAssistStateErrorState 中定義的有效狀態 不能透過 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。如果 基於暫時性狀態 (例如車速過低),因此無法使用這項功能 表示資訊必須以 ErrorStateLANE_DEPARTURE_WARNING_STATE 屬性。

這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 請僅以 VehiclePropertyAccess.READ 的形式實作。

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 14

LANE_DEPARTURE_WARNING_STATE

車道出境警報 (LDW) 狀態。傳回 LDW 的目前狀態。這個屬性必須一律 傳回在 LaneDepartureWarningStateErrorState 中定義的有效狀態 不能透過 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 的目前狀態。這個屬性必須一律傳回 LaneKeepAssistStateErrorState 中定義的有效狀態,不得 透過 StatusCode 顯示錯誤,且必須改用系統支援的錯誤狀態

如果 LKA 在套用方向校正前顯示車道出發警告,會發生這類警告 都必須透過車內離境警報 (LDW) 屬性顯示。

如為全域區域 ID (0),則必須定義 VehicleAreaConfig#supportedEnumValues 陣列 除非同時具有 LaneKeepAssistState 的所有狀態 (包括不建議的 OTHER) 和 系統支援 ErrorState

變更模式:ON_CHANGE
存取模式:READ
列舉類型:LaneKeepAssistState/ErrorState
單位類型:不適用
版本:Android 14

LOCATION_CHARACTERIZATION

用於計算位置的輸入內容特性。 這個屬性必須指出系統考量的資料和感應器輸入內容 (如有) 計算透過 GNSS HAL 與 Android 分享的車輛位置時。

值必須傳回一系列位元旗標。位元旗標定義於 位置特性。值必須僅包含下列其中一個值:DEAD_RECKONEDRAW_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 移動。各自的maxInt32ValueminInt32Value 必須定義 VehicleAreaConfig。 必須支援 minInt32ValuemaxInt32Value 之間的所有整數。

maxInt32Value 表示鏡像傾斜時的最大移動速度 沒錯minInt32Value 表示鏡像的最大移動速度 正在向左傾斜

較大的絕對值 (正或負) 表示移動速度較快。產生 鏡像達到位置限制,此值必須重設為 0。如果 MIRROR_Y_MOVE 的值為 ,表示目前沒有發生移動情形。

這個屬性不屬於任何特定單位,而是指定相對移動範圍 速度。

這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 只實作 VehiclePropertyAccess.READ

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

MIRROR_Y_POS

鏡像 Y 位置。maxInt32ValueminInt32Value 必須定義 VehicleAreaConfig。 必須支援 minInt32ValuemaxInt32Value 之間的所有整數。 minInt32Value 表示鏡像完全朝左側傾斜。

不得為正數。maxInt32Value 表示鏡像傾斜 完全 。不得為負值。0 表示鏡像沒有傾斜 往上移動即可

minInt32ValuemaxInt32Value 之間的值表示進行轉換 在左方 例如極端和右邊的極端位置

此屬性不在任何特定單位中,而是在指定相對位置的範圍中。

這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 只實作 VehiclePropertyAccess.READ

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

MIRROR_Z_MOVE

鏡像 Z 移動。各自的maxInt32ValueminInt32Value 必須定義 VehicleAreaConfig。 必須支援 minInt32ValuemaxInt32Value 之間的所有整數。

maxInt32Value 表示鏡子在向上傾斜時的最大移動速度。 minInt32Value 表示鏡子在向下傾斜時的最大移動速度。 較大的絕對值 (正或負) 表示移動速度較快。產生 鏡像達到位置限制,此值必須重設為 0。如果 MIRROR_Z_MOVE 的值為 ,表示目前沒有發生移動情形。

這個屬性不屬於任何特定單位,而是指定相對移動範圍 速度。

這項屬性已定義為 VehiclePropertyAccess.READ_WRITE,但原始設備製造商 (OEM) 可以 只實作 VehiclePropertyAccess.READ

變更模式:ON_CHANGE
存取模式:READ_WRITE/READ
列舉類型:不適用
單位類型:不適用
版本:Android 13

MIRROR_Z_POS

鏡像 Z 位置。maxInt32ValueminInt32Value 必須定義 VehicleAreaConfigminInt32Value 之間的所有整數 以及 maxInt32ValueminInt32Value 代表 鏡子會完全向下傾斜不得為正數。 maxInt32Value 表示鏡子已完全向上傾斜。這必須是 非負值。0 表示鏡像沒有朝任何方向傾斜。

minInt32ValuemaxInt32Value 之間的值表示 從完全向下到完全向上的位置之間轉換狀態。

此屬性不在任何特定單位中,而是在指定相對位置的範圍中。

這項屬性已定義為 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_GEARGEAR_SELECTION)。舉例來說 GEAR_SELECTIONGEAR_NEUTRALPERF_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_STATEREAR_FOG_LIGHTS_STATE 可以實作。詳情請參閱 FOG_LIGHTS_STATE

變更模式:ON_CHANGE
存取模式:READ
列舉類型:VehicleLightState
單位類型:不適用
版本:Android 13

REAR_FOG_LIGHTS_SWITCH

使用者要使用的設定。僅限下列值:FOG_LIGHTS_SWITCHREAR_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 // 請求 ID
  • int32[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 only.

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

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

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

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, STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC and 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 VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only./p>

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STEERING_WHEEL_THEFT_LOCK_ENABLED

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: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14

STORAGE_ENCRYPTION_BINDING_SEED

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: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

SUPPORT_CUSTOMIZE_VENDOR_PERMISSION

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]: 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[n+2] is an enum in VehicleVendorPermission and indicates the permission for writing a value of the property. For example:

configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }

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: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

SUPPORTED_PROPERTY_IDS

(Deprecated) List of all supported property IDs.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14

SWITCH_USER

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.

The format of both requests is defined by SwitchUserRequest and the format of the response (when needed) is defined by SwitchUserResponse. How the HAL (or Android system) should proceed depends on the message type (which is defined by the SwitchUserMessageType parameter), as defined below.
  • 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 id
    • int32[1] 1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[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 id
    • int32[1] 2 // SwitchUserMessageType::ANDROID_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user flags (none)
    • int32[4] 10 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[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)

    If the request succeeds, the HAL must update the property with:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 1 // status: SwitchUserStatus::SUCCESS

    If the request fails, the response would be something like:

    • int32[0] 42 // request id
    • int32[1] 3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSE
    • int32[2] 2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
    • OEM-specific error message
  • 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 id
    • int32[1] 4 // messageType: SwitchUserMessageType::VEHICLE_REQUEST
    • int32[2] 11 // Android user id

    If the request succeeded and Android has three users (0, 10, and 11), the response would be:

    • int32[0] -108 // request id
    • int32[1] 5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCH
    • int32[2] 11 // target user id
    • int32[3] 0 // target user id flags (none)
    • int32[4] 11 // current user
    • int32[5] 0 // current user flags (none)
    • int32[6] 3 // number of users
    • int32[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)

    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.

  • 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.
    • When it succeeds, it's called when the Android user is in the unlocked state and the value of the current and target users ids in the response are the same. This is equivalent to receiving an Intent.ACTION_USER_UNLOCKED in an Android app.
    • When it fails, it's called right away and the value of the current and target users ids in the response differ (since the current user didn't change to the target).
    • If a new switch request is made before the HAL responded to the previous one or before the user was unlocked, then the ANDROID_POST_SWITCH request is not made. For example, the driver might accidentally switch to the wrong user, which has lock credentials, and then switch to the correct user before entering the credentials.

    The HAL can update its internal state once it receives this request, but it needn't reply to the Android system.

    • Request. The first N values as defined by 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).
    • Response: none. For example, see VEHICLE_REQUEST

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

TIRE_PRESSURE

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.

.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13

TIRE_PRESSURE_DISPLAY_UNITS

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 VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as only./p>

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13

TRACTION_CONTROL_ACTIVE

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: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

TRAILER_PRESENT

Returns the trailer state of the car.

Change mode: ON_CHANGE
Access mode: READ
Enum type: TrailerState
Unit type: N/A
Release: Android 13

TURN_SIGNAL_STATE

State of the vehicles turn signals.

Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleTurnSignal
Unit type: N/A
Release: Android 13

USER_IDENTIFICATION_ASSOCIATION

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:

  • int32[0] 42 // request id
  • int32[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)

If the user is associated with the FOB but not with the custom mechanism, the response is:

  • int32[0] 42 // request id
  • int32[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)

Then to associate the user with the custom mechanism, a set request is made:

  • int32[0] 43 // request id
  • int32[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)

If the request succeeded, the response would be:

  • int32[0] 43 // request id
  • int32[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)

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:

  • int32[0] 43 // request id
  • int32[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)

Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

VEHICLE_CURB_WEIGHT

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: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOGRAM
Release: Android 13

VEHICLE_IN_USE

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:

  • Each time the user powers on the vehicle or the system detects the user is present, 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.
  • If the user powers off the vehicle or the system detects the user is not present, VEHICLE_IN_USE must be set to false.
  • If the user powers on the vehicle or the system detects the user is present, VEHICLE_IN_USE must be set to true.

This property differs from 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.

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

VEHICLE_MAP_SERVICE

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 StatusCode::NOT_AVAILABLE.

Change mode: ON_CHANGEREAD_WRITE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

VEHICLE_SPEED_DISPLAY_UNITS

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:

.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

If updating VEHICLE_SPEED_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties, then those values must be updated and communicated to the AAOS framework.

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

VHAL_HEARTBEAT

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: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WATCHDOG_ALIVE

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: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

WATCHDOG_TERMINATED_PROCESS

Defines a process terminated by Car Watchdog and the reason for the termination.

int32Values[0] 1  // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command

Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13

WHEEL_TICK

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:

  1. Front left
  2. Front right
  3. Rear right
  4. Rear left

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.

  • int64Values[0] Reset count
  • int64Values[1] Front left ticks
  • int64Values[2] Front right ticks
  • int64Values[3] Rear right ticks
  • int64Values[4] Rear left ticks

configArray 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

Uses enum Wheel. For example, if all wheels are supported, then:

  • configArray[0] VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
  • configArray[1] Micrometers per front left wheel tick
  • configArray[2] Micrometers per front right wheel tick
  • configArray[3] Micrometers per rear right wheel tick
  • configArray[4] Micrometers per rear left wheel tick.

If a wheel is not supported, its value shall always be set to 0.

The VehiclePropValue.timestamp must be filled in.

Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13

WINDOW_LOCK

Window child lock. True indicates the window is child-locked. 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

WINDOW_MOVE

Window move. The 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.

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 WINDOW_MOVE is 0, no movement is underway. This property is represented in a specified range of relative movement speeds.

For a window that may open out of plane (a vent mode of sunroof), this parameter works as follows. If:

  • Sunroof is open:
    • Max Open the sunroof further, stop automatically when fully open.
    • Min Close the sunroof, stop automatically when sunroof is closed.
  • Vent is open:
    • Max Close the vent, stop automatically stop when vent is closed.
    • Min Open the vent further, stop automatically when vent is fully open.
  • Sunroof is closed:
    • Max Open the sunroof, stop automatically when sunroof is fully open.
    • Min Open the vent, stop automatically when vent is fully open.

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

WINDOW_POS

Window position. The 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.

Values in between 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:

  • Max Sunroof fully open (0 for sunroof closed).
  • Min Sunroof vent fully open (0 for sunroof closed).
In this mode, 0 indicates the window is closed.

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

WINDSHIELD_WIPERS_PERIOD

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

Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 14

WINDSHIELD_WIPERS_STATE

Windshield wipers state. Returns the current state of the windshield wipers. The value of 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.

For each supported area ID, the VehicleAreaConfig#supportedEnumValues array must be defined unless all states in WindshieldWipersState are supported (including OTHER, which is not recommended).

Change mode: ON_CHANGE
Access mode: READ
Enum type: WindshieldWipersState
Unit type: N/A
Release: Android 14

WINDSHIELD_WIPERS_SWITCH

Windshield wipers switch. Represents the position of the switch controlling the windshield wipers. The value of 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).

This property is defined as 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.

Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: WindshieldWipersSwitch
Unit type: N/A
Release: Android 14