Các thuộc tính hệ thống được hỗ trợ

Trang này liệt kê các thuộc tính hệ thống được hỗ trợ trong VHAL. Các thuộc tính mà VHAL hỗ trợ phải là thuộc tính hệ thống trong danh sách bên dưới hoặc thuộc tính của nhà cung cấp. Trong Android 14 trở lên, các định nghĩa thuộc tính được xác định tại hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl.

Định nghĩa thuộc tính được xác định trong giao diện AIDL, android.hardware.automotive.vehicle.property, tách biệt với giao diện VHAL (android.hardware.automotive.vehicle). Các hoạt động triển khai VHAL và ứng dụng VHAL phải phụ thuộc vào cả hai giao diện.

Chế độ truy cập và chế độ thay đổi được tạo tự động

Trong Android 14 trở lên, để hỗ trợ việc triển khai VHAL, chúng tôi cung cấp các tệp tiêu đề C++các tệp lớp Java được tạo tự động với chế độ thay đổi hoặc chế độ truy cập được cho phép cho các thuộc tính hệ thống. Các hoạt động triển khai VHAL của nhà cung cấp có thể sử dụng các thuộc tính này để đảm bảo cấu hình thuộc tính đáp ứng thông số kỹ thuật.

ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE

Khoảng cách được đo từ xe dẫn đầu khi sử dụng tính năng Kiểm soát hành trình thích ứng (ACC) hoặc Kiểm soát hành trình dự đoán (PCC). Trả về khoảng cách được đo bằng milimét giữa điểm cuối cùng của xe dẫn đầu và điểm đầu tiên của xe ACC. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. minInt32Value phải là 0. maxInt32Value phải được điền bằng phạm vi tối đa mà cảm biến khoảng cách có thể hỗ trợ. Giá trị này phải là số không âm.

Khi không phát hiện thấy xe dẫn đầu (tức là khi không có xe dẫn đầu hoặc xe dẫn đầu quá xa để cảm biến phát hiện), thuộc tính này sẽ trả về StatusCode.NOT_AVAILABLE

Khi thuộc tính này không có sẵn do CC bị tắt (ví dụ: StatusCode#NOT_AVAILABLE_DISABLED là sai), thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_DISABLED. Nếu CRUISE_CONTROL_STATE được triển khai và trạng thái được đặt thành giá trị ErrorState, thì thuộc tính này phải trả về một StatusCode phù hợp với giá trị ErrorState. Ví dụ: nếu bạn đặt CRUISE_CONTROL_STATE thành ErrorState#NOT_AVAILABLE_SPEED_LOW, thì thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_SPEED_LOW

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: VehicleUnit:MILLIMETER
Bản phát hành: Android 14

ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP

Khoảng thời gian mục tiêu hiện tại cho ACC hoặc PCC tính bằng mili giây. Thuộc tính này phải chỉ định khoảng thời gian mục tiêu so với xe dẫn đầu. Khoảng cách này được xác định là thời gian để đi quãng đường giữa điểm cuối cùng ở phía sau của xe dẫn đầu đến điểm đầu tiên ở phía trước của xe ACC. Khoảng thời gian thực tế so với xe dẫn đầu có thể cao hơn hoặc thấp hơn giá trị này.

Các giá trị có thể đặt cho khoảng thời gian mục tiêu phải được chỉ định trong configArray theo thứ tự tăng dần. Tất cả các giá trị đều phải là số dương. Nếu thuộc tính có thể ghi, thì tất cả các giá trị đều phải có thể ghi. Khi thuộc tính này không có sẵn do CC bị tắt (ví dụ: CRUISE_CONTROL_ENABLED là false), thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_DISABLED

Nếu CRUISE_CONTROL_STATE được triển khai và trạng thái được đặt thành giá trị ErrorState, thì thuộc tính này phải trả về một StatusCode phù hợp với giá trị ErrorState. Ví dụ: nếu CRUISE_CONTROL_STATE được đặt thành ErrorState#NOT_AVAILABLE_SPEED_LOW, thì thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_SPEED_LOW

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: VehicleUnit:MILLI_SECS
Bản phát hành: Android 14

ABS_ACTIVE

Hệ thống chống bó cứng phanh (ABS) đang hoạt động. Đặt thành true khi ABS đang hoạt động và đặt lại thành false khi ABS tắt. Bạn có thể đặt thuộc tính này theo từng khoảng thời gian (điều chế xung) dựa trên trạng thái theo thời gian thực của hệ thống ABS.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

ANDROID_EPOCH_TIME

Ngày và giờ hiện tại, được mã hoá dưới dạng Thời gian bắt đầu của hệ thống (tính bằng mili giây). Giá trị này biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 (theo giờ UTC).

Giá trị này biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 (theo giờ UTC). CarServices WRITE đến giá trị này để cung cấp cho VHAL thời gian của hệ thống Android, nếu VHAL hỗ trợ thuộc tính này. Điều này có thể hữu ích để đồng bộ hoá các hệ thống khác của xe (đồng hồ trên bảng điều khiển) với thời gian của Android.

AAOS WRITE đến thuộc tính này một lần trong quá trình khởi động và sau đó WRITE chỉ khi các thay đổi về nguồn thời gian được truyền. AAOS sẽ điền chính xác VehiclePropValue.timestamp. AAOS không gửi thông tin cập nhật cho thời gian trôi qua tự nhiên. int64Values[0] = thời gian Unix đã cung cấp (tính bằng mili giây).

Thuộc tính này có thể mất hơn 0 mili giây để được truyền qua ngăn xếp và việc có một thuộc tính được gắn dấu thời gian sẽ giúp giảm mọi độ trễ về thời gian. Vì vậy, đối với tất cả WRITE đến thuộc tính, bạn có thể sử dụng dấu thời gian để loại bỏ sự chênh lệch này:

drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: Không áp dụng
Loại đơn vị: VehicleUnit:MILLI_SECS
Bản phát hành: Android 13

AP_POWER_BOOTUP_REASON

Thuộc tính để báo cáo lý do khởi động cho trạng thái bật nguồn hiện tại. Đây là thuộc tính STATIC sẽ không thay đổi trong toàn bộ thời lượng cho đến khi tắt nguồn. Ví dụ: ngay cả khi người dùng nhấn nút nguồn sau khi tự động bật nguồn bằng tính năng mở khoá cửa, lý do khởi động phải vẫn là VehicleApPowerBootupReason#USER_UNLOCK int32Values[0] phải là VehicleApPowerBootupReason

Chế độ thay đổi: STATIC
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

AP_POWER_STATE_REPORT

Thuộc tính để báo cáo trạng thái nguồn của bộ xử lý ứng dụng. Giả sử trạng thái nguồn của AP được điều khiển bằng bộ điều khiển nguồn riêng biệt.

  • int32Values[0] Giá trị enum VehicleApPowerStateReport
  • int32Values[1] Thời gian tính bằng mili giây để đánh thức, nếu cần (nếu không thì là 0)

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

AP_POWER_STATE_REQ

Thuộc tính để kiểm soát trạng thái nguồn của bộ xử lý ứng dụng. Giả sử trạng thái nguồn của AP được điều khiển bởi một bộ điều khiển nguồn riêng biệt. Đối với thông tin cấu hình, VehiclePropConfig.configArray phải có giá trị kết hợp cờ bit trong VehicleApPowerStateConfigFlag

  • int32Values[0] Giá trị enum VehicleApPowerStateReq
  • int32Values[1] Một thông số bổ sung liên quan đến từng trạng thái, 0 nếu không được sử dụng.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

AUTOMATIC_EMERGENCY_BRAKING_ENABLED

Bật hoặc tắt tính năng Phanh tự động trong trường hợp khẩn cấp (AEB). Đặt thành true để bật AEB và false để tắt AEB. Khi bật AEB, bạn phải bật và theo dõi hệ thống ADAS trong xe để tránh các va chạm tiềm ẩn. Thuộc tính này chỉ nên áp dụng cho các ứng dụng có tốc độ cao hơn. Để bật tính năng phanh khẩn cấp tự động ở tốc độ thấp, bạn nên sử dụng LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED.

Nhìn chung, AUTOMATIC_EMERGENCY_BRAKING_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính AUTOMATIC_EMERGENCY_BRAKING_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng OEM chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

AUTOMATIC_EMERGENCY_BRAKING_STATE

Trạng thái của tính năng Phanh tự động trong trường hợp khẩn cấp (AEB). Trả về trạng thái hiện tại của AEB. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong AutomaticEmergencyBrakingState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ. Thuộc tính này chỉ áp dụng cho các ứng dụng có tốc độ cao hơn. Để biểu thị trạng thái của hệ thống phanh khẩn cấp tự động ở tốc độ thấp, bạn nên sử dụng LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE.

Nếu AEB bao gồm cảnh báo va chạm phía trước trước khi kích hoạt phanh, thì các cảnh báo đó phải xuất hiện thông qua thuộc tính Cảnh báo va chạm phía trước (FCW).

Đối với mã khu vực chung (0), bạn phải xác định mảng StatusCode#VehicleAreaConfig#supportedEnumValues, trừ phi tất cả các trạng thái của cả AutomaticEmergencyBrakingState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enun: ForwardCollisionWarningState/ErrorState
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

BLIND_SPOT_WARNING_ENABLED

Bật và tắt tính năng Cảnh báo điểm mù (BSW). Đặt thành true để bật BSW và false để tắt BSW. Khi BSW được bật, hệ thống ADAS trong xe phải được bật và theo dõi các đối tượng trong điểm mù của xe.

Nhìn chung, BLIND_SPOT_WARNING_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính BLIND_SPOT_WARNING_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

BLIND_SPOT_WARNING_STATE

Trạng thái của tính năng Cảnh báo điểm mù (BSW). Trả về trạng thái hiện tại của BSW. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong BlindSpotWarningState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ.

Đối với mỗi mã khu vực được hỗ trợ, bạn phải xác định mảng StatusCode#VehicleAreaConfig#supportedEnumValues, trừ phi tất cả các trạng thái của cả BlindSpotWarningState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: BlindSpotWarningState/ErrorState
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

CABIN_LIGHTS_STATE

Trả về trạng thái của đèn trong khoang.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleLightState
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CABIN_LIGHTS_SWITCH

Công tắc đèn trong xe. Vị trí của nút chuyển thực tế dùng để điều khiển đèn trong khoang. Điều này có thể khác với CABIN_LIGHTS_STATE nếu đèn bật do cửa đang mở hoặc do lệnh thoại. Ví dụ: khi nút chuyển ở vị trí tắt hoặc tự động.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng OEM chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleLightSwitch
Loại đơn vị: N/A
Bản phát hành: Android 13

CLUSTER_DISPLAY_STATE

Thay đổi trạng thái của màn hình cụm đồng hồ.

  • Giới hạn: Khu vực hiển thị Hoạt động cụm.
  • Phần lồng ghép: Khu vực mà Hoạt động không được đặt thông tin quan trọng.

Các giá trị có thể:

  • int32[0] Bật, Tắt: 0 – tắt, 1 – bật, -1 – không quan tâm
  • int32[1] Giới hạn – trái: số dương – vị trí trái tính bằng pixel –1 – không quan trọng (nên đặt tất cả các trường Giới hạn)
  • int32[2] Giới hạn – trên cùng: cùng định dạng với "bên trái"
  • int32[3] Giới hạn – phải: cùng định dạng với "trái"
  • int32[4] Giới hạn – dưới cùng: cùng định dạng với "bên trái"
  • int32[5] Lồng ghép – bên trái: số dương – giá trị lồng ghép thực tế bên trái tính bằng pixel –1 – không quan trọng (nên đặt "không quan trọng" cho tất cả các trường Lồng ghép)
  • int32[6] Phần lồng ghép – trên cùng: cùng định dạng với "bên trái"
  • int32[7] Lồng ghép – phải: cùng định dạng với "trái"
  • int32[8] Phần lồng ghép – dưới cùng: cùng định dạng với "trái"

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CLUSTER_NAVIGATION_STATE

Thông báo trạng thái điều hướng hiện tại. bytes: thông báo được chuyển đổi tuần tự của NavigationStateProto.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum:
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CLUSTER_REPORT_STATE

Báo cáo trạng thái hiển thị hiện tại và trạng thái ClusterUI. ClusterHome gửi thông báo này khi xử lý CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE Ngoài ra, ClusterHome sẽ gửi thông báo này khi khởi động lần đầu. Khi ClusterOS nhận được thông báo này và nếu kỳ vọng nội bộ khác với thông báo đã nhận, thì hệ thống sẽ gửi lại CLUSTER_SWITCH_UI, CLUSTER_DISPLAY_STATE để khớp với trạng thái.

  • Bật/tắt int32[0]: 0 – tắt, 1 – bật
  • int32[1] Ranh giới – trái
  • int32[2] Giới hạn – trên cùng
  • int32[3] Ranh giới – bên phải
  • int32[4] Giới hạn – dưới cùng
  • int32[5] Phần lồng ghép – trái
  • int32[6] Phần lồng ghép – trên cùng
  • int32[7] Phần lồng ghép – bên phải
  • int32[8] Phần lồng ghép – dưới cùng
  • int32[9] Loại ClusterUI ở chế độ toàn màn hình hoặc màn hình chính. 0 cho biết ClusterHome. Các giá trị khác được theo sau là định nghĩa của OEM.
  • int32[10] Loại ClusterUI trong màn hình phụ nếu hiện có hai giao diện người dùng. -1 cho biết khu vực không còn được sử dụng nữa. bytes: mảng đại diện cho tình trạng có sẵn của ClusterUI. 0 cho biết không có và 1 cho biết có. Ví dụ: nếu một ô tô hỗ trợ 3 ClusterUI do OEM xác định như HOME, MAPS và CALL và chỉ hỗ trợ giao diện người dùng CALL khi có mạng di động. Sau đó, nếu có mạng, thiết bị sẽ gửi [1 1 1] và nếu không có mạng, thiết bị sẽ gửi [1 1 0].

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: VehicleLightSwitch
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CLUSTER_REQUEST_DISPLAY

Yêu cầu thay đổi trạng thái hiển thị cụm để hiển thị một số ClusterUI. Khi trạng thái màn hình hiện tại tắt và ClusterHome gửi thông báo này đến ClusterOS để yêu cầu bật màn hình hiển thị một ClusterUI cụ thể. ClusterOS sẽ phản hồi bằng CLUSTER_DISPLAY_STATE

  • int32 Loại ClusterUI cần hiển thị

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CLUSTER_SWITCH_UI

Khởi động ClusterUI trong màn hình cụm đồng hồ.

  • int32 Loại ClusterUI để hiển thị 0 cho biết ClusterHome, màn hình Home (Trang chủ) của màn hình cụm đồng hồ, đồng thời cung cấp giao diện người dùng mặc định và một loại chức năng trình chạy cho màn hình cụm đồng hồ. Các giá trị khác là theo định nghĩa của nhà sản xuất thiết bị gốc (OEM).

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CREATE_USER

Được Hệ thống Android gọi sau khi tạo người dùng Android. HAL có thể sử dụng thuộc tính này để tạo người dùng tương đương. Đây là một yêu cầu không đồng bộ: Android đưa ra yêu cầu bằng cách đặt VehiclePropValue và HAL phải phản hồi bằng một thay đổi thuộc tính cho biết yêu cầu đã thành công hay không. Nếu không thành công, hệ thống Android sẽ xoá người dùng đó.

Định dạng của yêu cầu được xác định bằng CreateUserRequest và định dạng của phản hồi được xác định bằng CreateUserResponse. Ví dụ: nếu hệ thống có hai người dùng (0 và 10) và một người dùng thứ ba (là một khách tạm thời) được tạo, thì yêu cầu sẽ là:

  • int32[0] 42 // mã yêu cầu
  • int32[1] 11 // Mã nhận dạng Android của người dùng đã tạo
  • int32[2] 6 // Cờ Android (khách tạm thời) của người dùng đã tạo
  • int32[3] 10 // người dùng hiện tại
  • int32[4] 0 // cờ người dùng hiện tại (không có)
  • int32[5] 3 // số người dùng
  • int32[6] 0 // người dùng đầu tiên (người dùng 0)
  • int32[7] 0 // cờ người dùng đầu tiên (không có)
  • int32[8] 10 // người dùng thứ hai (người dùng 10)
  • int32[9] 0 // cờ người dùng thứ hai (không có)
  • int32[10] 11 // người dùng thứ ba (người dùng 11)
  • int32[11] 6 // chuỗi cờ người dùng thứ ba (khách tạm thời): "ElGuesto" // tên của người dùng mới

Nếu yêu cầu thành công, HAL sẽ trả về:

  • int32[0] 42 // mã yêu cầu
  • int32[1] 1 // CreateUserStatus::SUCCESS

Nhưng nếu không thành công:

  • int32[0] 42 // mã yêu cầu
  • int32[1] 2 // Chuỗi CreateUserStatus::FAILURE: "D'OH!" //

Ý nghĩa là hộp đen và được chuyển đến phương thức gọi (chẳng hạn như giao diện người dùng Cài đặt) để thực hiện hành động thích hợp.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CRITICALLY_LOW_TIRE_PRESSURE

Thuộc tính này cho biết ngưỡng áp suất thấp nghiêm trọng cho mỗi lốp. Chỉ báo này cho biết thời điểm thay thế hoặc sửa chữa lốp. Giá trị này phải nhỏ hơn hoặc bằng minFloatValue trong TIRE_PRESSURE. Giá trị thuộc tính tối thiểu và tối đa (minFloatValue và maxFloatValue) không áp dụng cho thuộc tính này.

Chế độ thay đổi: STATIC
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: VehicleUnit:KILOPASCAL
Bản phát hành: Android 13

CRUISE_CONTROL_COMMAND

WRITE Lệnh Điều khiển hành trình (CC). Hãy xem CruiseControlCommand để biết thông tin chi tiết về từng lệnh được hỗ trợ. Đối với mã khu vực toàn cầu (0), bạn phải xác định mảng StatusCode#VehicleAreaConfig#supportedEnumValues trừ phi tất cả các trạng thái của CruiseControlState đều được hỗ trợ. Mọi lệnh không được hỗ trợ được gửi qua thuộc tính này phải trả về StatusCode#INVALID_ARG. Khi thuộc tính này không hoạt động do CC bị tắt (ví dụ: CRUISE_CONTROL_ENABLED là sai), thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_DISABLED. Nếu CRUISE_CONTROL_STATE được triển khai và trạng thái được đặt thành giá trị ErrorState, thì thuộc tính này phải trả về một StatusCode phù hợp với giá trị ErrorState. Ví dụ: nếu CRUISE_CONTROL_STATE được đặt thành ErrorState#NOT_AVAILABLE_SPEED_LOW, thì thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_SPEED_LOW

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: CruiseControlCommand
Loại đơn vị: N/A
Bản phát hành: Android 14

CRUISE_CONTROL_ENABLED

Bật hoặc tắt tính năng kiểm soát hành trình (CC). Đặt giá trị true để bật CC và false để tắt CC. Tất cả các hình thức của CruiseControlType đều dùng chung thuộc tính này. Khi CC được bật, hệ thống ADAS trong xe phải được bật và phản hồi các lệnh. Nhìn chung, CRUISE_CONTROL_ENABLED phải luôn trả về giá trị true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính CRUISE_CONTROL_STATE. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

CRUISE_CONTROL_STATE

Trạng thái hiện tại của tính năng Điều khiển hành trình (CC). Thuộc tính này trả về trạng thái hiện tại của CC. Nhìn chung, thuộc tính này sẽ trả về một trạng thái hợp lệ được xác định trong CruiseControlState hoặc ErrorState. Ví dụ: nếu không có tính năng này do một số trạng thái tạm thời, thì thông tin đó phải được truyền qua ErrorState. Đối với mã khu vực toàn cầu (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValue trừ phi tất cả các trạng thái của CruiseControlState (bao gồm cả OTHER, không được đề xuất) và ErrorState được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: CruiseControlState/ErrorState
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

CRUISE_CONTROL_TARGET_SPEED

Tốc độ mục tiêu hiện tại cho tính năng Kiểm soát hành trình (CC). Nhà sản xuất thiết bị gốc (OEM) nên đặt giá trị minFloatValue và maxFloatValue cho thuộc tính này để xác định giá trị tốc độ mục tiêu tối thiểu và tối đa. Các giá trị này phải là số không âm. maxFloatValue thể hiện giới hạn trên của tốc độ mục tiêu. minFloatValue thể hiện giới hạn dưới của tốc độ mục tiêu. Khi thuộc tính này không có sẵn do CC bị tắt (ví dụ: CRUISE_CONTROL_ENABLED là sai), thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_DISABLED. Nếu CRUISE_CONTROL_STATE được triển khai và trạng thái được đặt thành giá trị ErrorState, thì thuộc tính này phải trả về StatusCode phù hợp với giá trị ErrorState. Ví dụ: nếu bạn đặt CRUISE_CONTROL_STATE thành ErrorState#NOT_AVAILABLE_SPEED_LOW, thì thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_SPEED_LOW

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: VehicleUnit:METER_PER_SEC
Bản phát hành: Android 14

CRUISE_CONTROL_TYPE

Loại hiện tại của Cruise Control (CC). Khi CRUISE_CONTROL_ENABLED là true, thuộc tính này sẽ trả về loại CC hiện đang được bật (ví dụ: CC chuẩn và CC thích ứng, dự đoán). Nhìn chung, thuộc tính này sẽ trả về một trạng thái hợp lệ được xác định trong CruiseControlType hoặc ErrorState. Ví dụ: nếu tính năng không hoạt động do một số trạng thái tạm thời, thì thông tin đó phải được truyền qua ErrorState. Đối với mã khu vực toàn cầu (0), bạn phải xác định mảng StatusCode#VehicleAreaConfig#supportedEnumValues, trừ phi tất cả các trạng thái của CruiseControlType (bao gồm cả OTHER không được đề xuất) và ErrorState đều được hỗ trợ. Việc cố gắng WRITE CruiseControlType#OTHER hoặc ErrorState vào thuộc tính này sẽ gửi một IllegalArgumentException. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng OEM chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: CruiseControlType ErrorState
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

CURRENT_GEAR

Băng truyền hiện tại. Trong trường hợp không phải chế độ thủ công, bánh răng đã chọn có thể không khớp với bánh răng hiện tại. Ví dụ: nếu bánh răng được chọn là GEAR_DRIVE, thì bánh răng hiện tại sẽ là một trong các bánh răng GEAR_1, GEAR_2, v.v., phản ánh bánh răng thực tế mà hộp số đang chạy. Các giá trị trong dữ liệu cấu hình phải thể hiện danh sách các bánh răng được hỗ trợ cho xe này. Ví dụ: dữ liệu cấu hình cho hộp số tự động phải chứa {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...} và đối với hộp số thủ công, danh sách phải là {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}. Danh sách này không cần giống với danh sách các bánh răng được hỗ trợ được báo cáo trong GEAR_SELECTION

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleGear
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

CURRENT_POWER_POLICY

Thông báo chính sách nguồn hiện tại cho lớp VHAL. Dịch vụ chính sách sử dụng điện của ô tô sẽ đặt thuộc tính này khi chính sách sử dụng điện hiện tại thay đổi

string: "sample_policy_id" // power policy ID

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

DISABLED_OPTIONAL_FEATURES

Cho phép tắt các tính năng không bắt buộc trong VHAL. Thuộc tính này báo cáo các tính năng không bắt buộc mà bạn nên tắt. Tất cả tính năng không bắt buộc được phép cho hệ thống đều được khai báo trong lớp phủ Dịch vụ ô tô, config_allowed_optional_car_features. Thuộc tính này cho phép tắt các tính năng được xác định trong lớp phủ. Nếu không có thuộc tính này, tất cả các tính năng được khai báo trong lớp phủ sẽ được bật. Giá trị READ phải bao gồm tất cả các tính năng bị tắt bằng dấu phẩy (,) phân tách. Ví dụ: com.android.car.user.CarUserNoticeService,storage_monitoring

Chế độ thay đổi: STATIC
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

DISPLAY_BRIGHTNESS

Thuộc tính đại diện cho độ sáng của màn hình. Một số ô tô có một chế độ điều khiển duy nhất cho độ sáng của tất cả màn hình. Thuộc tính này dùng để chia sẻ các thay đổi trong chế độ kiểm soát đó. Trong những ô tô có màn hình được kiểm soát độ sáng riêng biệt, chúng phải sử dụng PER_DISPLAY_BRIGHTNESS. Chỉ nên triển khai một trong hai DISPLAY_BRIGHTNESSPER_DISPLAY_BRIGHTNESS. Nếu có cả hai, AAOS sẽ sử dụng PER_DISPLAY_BRIGHTNESS. Nếu thuộc tính này có thể ghi, Android có thể đặt giá trị này khi người dùng thay đổi độ sáng màn hình trong phần Cài đặt. Nếu chỉ có READ, người dùng vẫn có thể thay đổi độ sáng màn hình trong phần Cài đặt, nhưng thay đổi này không được phản ánh trên các màn hình khác.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

DISTANCE_DISPLAY_UNITS

Đơn vị khoảng cách để hiển thị. Cho biết đơn vị mà ô tô đang sử dụng để hiển thị khoảng cách cho người dùng. Ví dụ: Dặm, Mét hoặc Kilômét. Đơn vị khoảng cách được xác định trong VehicleUnit. VehiclePropConfig.configArray được dùng để chỉ định các đơn vị hiển thị khoảng cách được hỗ trợ. Ví dụ: configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILENếu việc cập nhật DISTANCE_DISPLAY_UNITS ảnh hưởng đến các giá trị của các thuộc tính *_DISPLAY_UNITS khác, thì bạn cũng phải cập nhật và thông báo các giá trị đó cho khung AAOS. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleUnit
Loại đơn vị: N/A
Bản phát hành: Android 13

DOOR_CHILD_LOCK_ENABLED

Đã bật tính năng khoá trẻ em cho cửa. Trả về true nếu tính năng khoá trẻ em cho cửa được bật và trả về false nếu tính năng này bị tắt. Nếu bật, bạn sẽ không thể mở cửa từ bên trong. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

DOOR_LOCK

Giá trị true của khoá cửa cho biết cửa đang được khoá. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

DOOR_MOVE

Bạn phải xác định maxInt32ValueminInt32Value trong mỗi VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value đều phải được hỗ trợ. maxInt32Value thể hiện tốc độ di chuyển tối đa của cửa khi mở. minInt32Value thể hiện tốc độ di chuyển tối đa của cửa khi đóng.

Giá trị tuyệt đối lớn hơn, dương hoặc âm, cho biết tốc độ di chuyển nhanh hơn. Khi cửa đạt đến giới hạn vị trí, giá trị phải được đặt lại về 0. Nếu giá trị của DOOR_MOVE là 0, thì tức là không có chuyển động nào đang diễn ra.

Thuộc tính này không ở bất kỳ đơn vị cụ thể nào mà ở một phạm vi tốc độ chuyển động tương đối được chỉ định.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

DOOR_POS

Vị trí cửa. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value phải được hỗ trợ. minInt32Value cho biết cửa đã đóng. minInt32Value phải là 0. maxInt32Value cho biết cửa đã mở hoàn toàn. Các giá trị từ minInt32Value đến maxInt32Value cho biết trạng thái chuyển đổi giữa vị trí đóng và vị trí mở hoàn toàn.

Thuộc tính này không nằm trong bất kỳ đơn vị cụ thể nào mà nằm trong một phạm vi vị trí tương đối được chỉ định. Một số xe (xe đa dụng) có thể mở cửa bằng điện. Do đó, bạn có thể WRITE thuộc tính này. Thuộc tính này được xác định là VehiclePropertyAccess READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

E đến G

ELECTRONIC_TOLL_COLLECTION_CARD_STATUS

Trạng thái thẻ thu phí điện tử. Thuộc tính này cho biết trạng thái của thẻ ETC trong xe này. Nếu đầu phát trung tâm nhận biết được thẻ ETC gắn trên xe, thì ELECTRONIC_TOLL_COLLECTION_CARD_TYPE sẽ cho biết trạng thái của thẻ đó. Nếu không, thuộc tính này phải là UNAVAILABLE

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: ElectronicTollCollectionCardStatus
Loại đơn vị: N/A
Bản phát hành: Android 13

ELECTRONIC_TOLL_COLLECTION_CARD_TYPE

Loại thẻ thu phí điện tử (ETC). Thuộc tính này cho biết loại thẻ ETC trong xe này. Nếu đầu phát trung tâm nhận biết được thẻ ETC được gắn vào xe, thì thuộc tính này sẽ trả về loại thẻ được gắn; nếu không, thuộc tính này sẽ là UNAVAILABLE

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: ElectronicTollCollectionCardType
Loại đơn vị: N/A
Bản phát hành: Android 13

EMERGENCY_LANE_KEEP_ASSIST_ENABLED

Bật hoặc tắt tính năng Hỗ trợ giữ làn đường khẩn cấp (ELKA). Đặt thành true để bật ELKA và false để tắt ELKA. Khi ELKA được bật, hệ thống ADAS trong xe phải bật và theo dõi các trường hợp người lái xe chuyển làn không an toàn. Khi phát hiện thấy một thao tác không an toàn, ELKA sẽ cảnh báo người lái xe và áp dụng các biện pháp điều chỉnh tay lái để giữ cho xe ở làn đường ban đầu. Nhìn chung, EMERGENCY_LANE_KEEP_ASSIST_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính EMERGENCY_LANE_KEEP_ASSIST_STATE. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

EMERGENCY_LANE_KEEP_ASSIST_STATE

Trạng thái của tính năng Hỗ trợ duy trì làn đường trong trường hợp khẩn cấp (ELKA). Trả về trạng thái hiện tại của ELKA. Nhìn chung, thuộc tính này sẽ trả về một trạng thái hợp lệ được xác định trong EmergencyLaneKeepAssistState hoặc ErrorState. Ví dụ: nếu tính năng không hoạt động do một số trạng thái tạm thời, thì thông tin đó phải được truyền qua ErrorState. Đối với mã khu vực toàn cầu (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValues trừ phi tất cả trạng thái của EmergencyLaneKeepAssistState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: EmergencyLaneKeepAssistState/ErrorState
Loại đơn vị: N/A
Bản phát hành: Android 14

ENGINE_COOLANT_TEMP

Nhiệt độ của chất làm mát động cơ.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:CELSIUS
Bản phát hành: Android 13

ENGINE_IDLE_AUTO_STOP_ENABLED

Biểu thị tính năng tự động dừng động cơ ở chế độ không tải. Nếu đúng, xe có thể tự động tắt động cơ khi không cần thiết và sau đó tự động khởi động lại khi cần. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

ENGINE_OIL_LEVEL

Mức dầu động cơ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleOilLevel
Loại đơn vị: N/A
Bản phát hành: Android 13

ENGINE_OIL_TEMP

Nhiệt độ của dầu động cơ.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:CELSIUS
Bản phát hành: Android 13

ENGINE_RPM

Số vòng quay động cơ mỗi phút (RPM).

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:RPM
Bản phát hành: Android 13

ENV_OUTSIDE_TEMPERATURE

Nhiệt độ bên ngoài. Thuộc tính này phải thông báo kết quả đo nhiệt độ của môi trường bên ngoài xe. Nếu có nhiều cảm biến để đo nhiệt độ bên ngoài, thì bạn nên điền giá trị trung bình hoặc trung bình trọng số có ý nghĩa của các lần đọc thể hiện tốt nhất nhiệt độ của môi trường bên ngoài vào thuộc tính này.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:CELSIUS
Bản phát hành: Android 13

EV_BATTERY_DISPLAY_UNITS

Đơn vị pin xe điện để hiển thị. Cho biết đơn vị mà ô tô đang sử dụng để hiển thị thông tin về pin xe điện cho người dùng. Ví dụ: watt giờ (Wh), kilowatt giờ (kWh) hoặc ampe giờ (Ah). VehiclePropConfig.configArray được dùng để cho biết năng lượng điện được hỗ trợ. đơn vị. Các đơn vị năng lượng điện được xác định trong VehicleUnit Ví dụ:

  configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR

Nếu việc cập nhật EV_BATTERY_DISPLAY_UNITS ảnh hưởng đến các giá trị của các thuộc tính *_DISPLAY_UNITS khác, thì bạn cũng phải cập nhật và thông báo các giá trị đó cho khung AAOS. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleUnit
Loại đơn vị: N/A
Bản phát hành: Android 13

EV_BATTERY_INSTANTANEOUS_CHARGE_RATE

Tốc độ sạc tức thời của xe điện tính bằng miliwatt. Giá trị dương cho biết pin đang sạc. Giá trị âm cho biết pin đang được xả.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:MW
Bản phát hành: Android 13

EV_BATTERY_LEVEL

Trả về mức pin hiện tại, cho dù là xe điện hay xe lai. Giá trị này sẽ không vượt quá EV_CURRENT_BATTERY_CAPACITY. Để tính phần trăm pin, hãy sử dụng (EV_BATTERY_LEVEL, EV_CURRENT_BATTERY_CAPACITY)*100.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:WH
Bản phát hành: Android 13

EV_BRAKE_REGENERATION_LEVEL

Mức phanh tái sinh của xe điện. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. Tất cả giá trị từ minInt32Value đến maxInt32Value đều phải được hỗ trợ. minInt32Value phải là 0. maxInt32Value cho biết chế độ cài đặt lượng năng lượng tối đa được tái sinh từ quá trình phanh. minInt32Value cho biết chế độ cài đặt không phanh tái sinh. Thuộc tính này là một dạng chi tiết hơn của EV_REGENERATIVE_BRAKING_STATE. Thuộc tính này cho phép người dùng đặt mức độ phanh tái sinh cụ thể hơn nếu các trạng thái trong EvRegenerativeBrakingState không đủ chi tiết cho nhà sản xuất thiết bị gốc (OEM). Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EV_CHARGE_CURRENT_DRAW_LIMIT

Cho biết ngưỡng dòng điện tối đa để sạc do người dùng đặt. EvChargeState::configArray[0] được dùng để chỉ định mức tiêu thụ dòng điện tối đa mà xe cho phép tính bằng Ampe. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITEREAD
Loại enum: N/A
Loại đơn vị: VehicleUnit:AMPERE
Bản phát hành: Android 13

EV_CHARGE_PERCENT_LIMIT

Cho biết ngưỡng tỷ lệ phần trăm mức sạc tối đa do người dùng đặt. Cho biết ngưỡng tỷ lệ phần trăm phí sạc tối đa do người dùng đặt. Trả về một giá trị float từ 0 đến 100. configArray được dùng để chỉ định các giá trị hợp lệ. Ví dụ: nếu xe hỗ trợ các giá trị giới hạn phần trăm sạc sau: [20, 40, 60, 80, 100], thì configArray phải là {20, 40, 60, 80, 100}. Nếu configArray trống, thì tất cả giá trị từ 0 đến 100 phải hợp lệ. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE,, READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EV_CHARGE_PORT_CONNECTED

Cổng sạc xe điện đã kết nối. Nếu xe có nhiều cổng sạc, thì thuộc tính này phải trả về giá trị true khi bất kỳ cổng sạc nào được kết nối.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EV_CHARGE_PORT_OPEN

Cổng sạc xe điện đang mở. Nếu xe có nhiều cổng sạc, thì thuộc tính này phải trả về giá trị true nếu có bất kỳ cổng sạc nào đang mở. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITEREAD
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EV_CHARGE_STATE

Trạng thái sạc của ô tô Trả về trạng thái sạc hiện tại của ô tô. Nếu xe có tỷ lệ phần trăm sạc mục tiêu khác 100, thì thuộc tính này phải trả về EvChargeState::STATE_FULLY_CHARGED khi mức pin đã đạt đến mức mục tiêu. Hãy xem EvChargeState::EV_CHARGE_PERCENT_LIMIT để biết thêm thông tin.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: EvChargeState
Loại đơn vị: N/A
Bản phát hành: Android 13

EV_CHARGE_SWITCH

Bắt đầu hoặc dừng sạc pin xe điện. Chế độ cài đặt mà người dùng muốn. Việc đặt thuộc tính này thành true sẽ bắt đầu sạc pin và false để ngừng sạc. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITEREAD
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EV_CHARGE_TIME_REMAINING

Thời gian sạc còn lại ước tính tính bằng giây. Trả về 0 nếu xe không sạc.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:SECS
Bản phát hành: Android 13

EV_CURRENT_BATTERY_CAPACITY

Dung lượng pin có thể sử dụng hiện tại của xe điện hoặc xe lai. Trả về giá trị thực tế của dung lượng pin, khi là xe điện hoặc xe lai. Thuộc tính này ghi lại dung lượng pin có thể sử dụng theo thời gian thực, đồng thời tính đến các yếu tố như tuổi thọ pin và độ phụ thuộc vào nhiệt độ. Giá trị này có thể khác với INFO_EV_BATTERY_CAPACITYINFO_EV_BATTERY_CAPACITY trả về dung lượng pin danh nghĩa từ khi xe còn mới.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:WH
Bản phát hành: Android 14

EV_REGENERATIVE_BRAKING_STATE

Chế độ phanh tái sinh hoặc chế độ lái một chân ga của ô tô. Trả về chế độ cài đặt hiện tại liên kết với chế độ cài đặt phanh tái sinh trong ô tô. Nếu nhà sản xuất thiết bị gốc (OEM) yêu cầu nhiều chế độ cài đặt hơn những chế độ được cung cấp trong EvRegenerativeBrakingState, thì bạn có thể sử dụng thuộc tính EV_BRAKE_REGENERATION_LEVEL để cung cấp thêm thông tin chi tiết.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: EvRegenerativeBrakingState
Loại đơn vị: N/A
Bản phát hành: Android 13

EV_STOPPING_MODE

Biểu thị thuộc tính cho chế độ dừng hiện tại của xe. Đối với mã khu vực toàn cầu (0), bạn phải xác định VehicleAreaConfig#supportedEnumValues trừ phi tất cả các giá trị enum của EvStoppingMode đều được hỗ trợ. Enum EvStoppingMode có thể được mở rộng để bao gồm nhiều trạng thái hơn trong tương lai. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng OEM có thể chỉ triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: EvStoppingMode
Loại đơn vị: N/A
Bản phát hành: Android 14

EVS_SERVICE_REQUEST

Bật và yêu cầu dịch vụ EVS. Thuộc tính này cung cấp một cách để kích hoạt các dịch vụ EVS. VHAL nên sử dụng thuộc tính này để yêu cầu Android bắt đầu hoặc dừng dịch vụ EVS.

  • int32Values[0] Loại dịch vụ EVS. Giá trị phải là một enum trong EvsServiceType.
  • int32Values[1] Trạng thái của dịch vụ EVS. Giá trị phải là một trong các enum trong EvsServiceState.

Ví dụ: để bật dịch vụ EVS cho chế độ xem sau, Android có thể đặt giá trị thuộc tính thành:

[EvsServiceType::REAR_VIEW, EvsServiceState::ON]

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

EXTERNAL_CAR_TIME

Đề xuất ngày và giờ hiện tại cho cr, được mã hoá dưới dạng Thời gian bắt đầu của hệ thống (tính bằng mili giây). Giá trị này biểu thị số mili giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970 (theo giờ UTC). Thuộc tính này cho biết có thay đổi trong CarTime thành Android. Nếu thuộc tính này được hỗ trợ, VHAL phải báo cáo CarTime hiện tại chính xác nhất khi thuộc tính này được đọc và phát hành thay đổi đối với thuộc tính này khi giá trị CarTime thay đổi.

Bạn phải phát hành sự kiện thay đổi cho thuộc tính này khi CarTime thay đổi vì bất kỳ lý do nào khác ngoài thời gian tự nhiên đã trôi qua (delta thời gian nhỏ hơn 500 mili giây sẽ không kích hoạt sự kiện thay đổi). Android sẽ đọc và đăng ký thuộc tính này để tìm nạp thời gian từ VHAL. Điều này có thể hữu ích để đồng bộ hoá thời gian của Android với các hệ thống xe khác (đồng hồ trên bảng điều khiển). int64Values[0] = thời gian Epoch được cung cấp (tính bằng mili giây) Bất cứ khi nào nhận được một Giá trị mới cho thuộc tính, AAOS sẽ tạo và gửi ExternalTimeSuggestion đến TimeDetectorService.

Nếu các nguồn khác không có mức độ ưu tiên cao hơn, Android sẽ sử dụng nguồn này để đặt thời gian hệ thống. Để biết thông tin về cách điều chỉnh mức độ ưu tiên của nguồn thời gian và cách xử lý đề xuất thời gian (bao gồm cả cách Android xử lý độ trễ, độ lệch và độ phân giải tối thiểu), hãy xem tài liệu về Dịch vụ phát hiện thời gian.

drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift

Bạn không nên sử dụng thuộc tính này để truy xuất thời gian từ ECU bằng các giao thức (chẳng hạn như GNSS, NTP và Telephony). Vì các giao thức này đã được Android hỗ trợ, nên bạn nên sử dụng các hệ thống Android thay vì kết nối qua VHAL bằng thuộc tính này.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:MILLI_SECS
Bản phát hành: Android 13

FOG_LIGHTS_STATE

Trạng thái đèn sương mù. Trả về trạng thái hiện tại của đèn sương mù. Nếu:

  • Xe có đèn sương mù trước và sau. Bạn chỉ có thể điều khiển cùng lúc đèn sương mù trước và sau. Phải triển khai FOG_LIGHTS_STATE. Không được triển khai FRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE.
  • Bạn chỉ có thể điều khiển đèn sương mù trước và sau một cách độc lập. Không được triển khai FOG_LIGHTS_STATE và phải triển khai FRONT_FOG_LIGHTS_STATEREAR_FOG_LIGHTS_STATE.
  • Xe chỉ có đèn sương mù phía trước. Bạn chỉ được triển khai một trong hai FOG_LIGHTS_STATE hoặc FRONT_FOG_LIGHTS_STATE (không phải cả hai). Không được triển khai REAR_FOG_LIGHTS_STATE.
  • Xe chỉ có đèn sương mù sau. Bạn chỉ được triển khai một trong hai FOG_LIGHTS_STATE hoặc REAR_FOG_LIGHTS_STATE (không phải cả hai). Không được triển khai FRONT_FOG_LIGHTS_STATE.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleLightState
Loại đơn vị: N/A
Bản phát hành: Android 13

FOG_LIGHTS_SWITCH

Công tắc đèn sương mù. Chế độ cài đặt mà người dùng muốn. Nếu:

  • Xe có cả đèn sương mù trước và sau. Nếu chỉ có thể điều khiển cùng lúc đèn sương mù trước và sau, bạn phải triển khai FOG_LIGHTS_SWITCH. Không được triển khai FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH.
  • Bạn chỉ có thể điều khiển đèn sương mù trước và sau một cách độc lập. Không được triển khai FOG_LIGHTS_SWITCH. Bạn phải triển khai FRONT_FOG_LIGHTS_SWITCHREAR_FOG_LIGHTS_SWITCH.
  • Xe chỉ có đèn sương mù phía trước. Bạn chỉ được triển khai một trong hai FOG_LIGHTS_SWITCH hoặc FRONT_FOG_LIGHTS_SWITCH (không phải cả hai). Không được triển khai REAR_FOG_LIGHTS_SWITCH.
  • Xe chỉ có đèn sương mù sau. Bạn chỉ được triển khai một trong hai FOG_LIGHTS_SWITCH hoặc REAR_FOG_LIGHTS_SWITCH (chứ không phải cả hai). Không được triển khai FRONT_FOG_LIGHTS_SWITCH.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleLightSwitch
Loại đơn vị: N/A
Bản phát hành: Android 13

FORWARD_COLLISION_WARNING_ENABLED

Bật hoặc tắt tính năng Cảnh báo va chạm phía trước (FCW). Đặt thành true để bật FCW và false để tắt FCW. Khi FCW được bật, hệ thống ADAS trong xe phải được bật và giám sát các vụ va chạm tiềm ẩn. Nhìn chung, FORWARD_COLLISION_WARNING_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính FORWARD_COLLISION_WARNING_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

FORWARD_COLLISION_WARNING_STATE

Trạng thái của tính năng Cảnh báo va chạm phía trước (FCW). Trả về trạng thái hiện tại của FCW. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong ForwardCollisionWarningState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ. Đối với mã khu vực chung (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValues trừ phi tất cả các trạng thái của cả ForwardCollisionWarningState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enun: ForwardCollisionWarningState/ErrorState
Loại đơn vị: N/A
Bản phát hành: Android 14

FRONT_FOG_LIGHTS_STATE

Trạng thái đèn sương mù phía trước. Trả về trạng thái hiện tại của đèn sương mù phía trước. Bạn chỉ được triển khai một trong hai thuộc tính FOG_LIGHTS_STATE hoặc FRONT_FOG_LIGHTS_STATE. Hãy tham khảo tài liệu về FOG_LIGHTS_STATE để biết thêm thông tin.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleLightState
Loại đơn vị: N/A
Bản phát hành: Android 13

FRONT_FOG_LIGHTS_SWITCH

Công tắc đèn sương mù trước. Chế độ cài đặt mà người dùng muốn. Bạn chỉ được triển khai một trong hai thuộc tính FOG_LIGHTS_SWITCH hoặc FRONT_FOG_LIGHTS_SWITCH. Hãy tham khảo tài liệu về FOG_LIGHTS_SWITCH để biết thêm thông tin.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleLightSwitch
Loại đơn vị: N/A
Bản phát hành: Android 13

FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME

Đơn vị tiêu thụ nhiên liệu để hiển thị. Cho biết loại đơn vị mà ô tô đang sử dụng để hiển thị thông tin về mức tiêu thụ nhiên liệu cho người dùng True cho biết đơn vị là quãng đường trên thể tích, chẳng hạn như MPG. False cho biết đơn vị là thể tích trên quãng đường, chẳng hạn như L/100KM. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

FUEL_DOOR_OPEN

Nắp bình xăng đang mở. Thuộc tính này phải thông báo liệu cửa nhiên liệu trên xe có mở hay không. Thuộc tính này không áp dụng cho xe điện. Tức là nếu INFO_FUEL_TYPE chỉ chứa FuelType::FUEL_TYPE_ELECTRIC, thì bạn không được triển khai thuộc tính này. Đối với xe điện, hãy triển khai EV_CHARGE_PORT_OPEN. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

FUEL_LEVEL

Lượng nhiên liệu còn lại trong xe, tính bằng mililit. Thuộc tính này phải thông báo lượng nhiên liệu còn lại trong xe theo đơn vị mililit. Thuộc tính này không áp dụng cho xe điện. Tức là nếu INFO_FUEL_TYPE chỉ chứa FuelType::FUEL_TYPE_ELECTRIC, thì bạn không được triển khai thuộc tính này. Đối với xe điện, hãy triển khai EV_BATTERY_LEVEL Giá trị không được vượt quá INFO_FUEL_CAPACITY

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:MILLILITER
Bản phát hành: Android 13

FUEL_LEVEL_LOW

Cảnh báo mức nhiên liệu thấp. Thuộc tính này tương ứng với cảnh báo mức nhiên liệu thấp trên trang tổng quan. Sau khi đặt FUEL_LEVEL_LOW, bạn không được xoá giá trị này cho đến khi thêm nhiên liệu vào xe. Thuộc tính này có thể tính đến tất cả nguồn nhiên liệu trong một xe. Ví dụ: trong:

  • Xe chạy bằng xăng, thuộc tính này chỉ dựa trên mức xăng.
  • Xe chạy bằng pin, thuộc tính này chỉ dựa trên mức pin.
  • Xe lai: thuộc tính này có thể dựa trên mức xăng và mức pin, tuỳ thuộc vào quyết định của nhà sản xuất thiết bị gốc (OEM).

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

FUEL_VOLUME_DISPLAY_UNITS

Đơn vị thể tích nhiên liệu để hiển thị. Cho biết đơn vị mà ô tô đang sử dụng để hiển thị lượng nhiên liệu cho người dùng. Ví dụ: Lít hoặc Gallon. VehiclePropConfig.configArray được dùng để cho biết các đơn vị hiển thị dung tích nhiên liệu được hỗ trợ. Các đơn vị âm lượng được xác định trong VehicleUnit. Ví dụ: configArray[0] = LITER configArray[1] = GALLON. Nếu việc cập nhật FUEL_VOLUME_DISPLAY_UNITS ảnh hưởng đến các giá trị của các thuộc tính *_DISPLAY_UNITS khác, thì bạn cũng phải cập nhật và thông báo các giá trị đó cho khung AAOS. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleUnit
Loại đơn vị: N/A
Bản phát hành: Android 13

GEAR_SELECTION

Bánh răng do người dùng chọn. Các giá trị trong dữ liệu cấu hình phải thể hiện danh sách các bánh răng được hỗ trợ cho xe này. Ví dụ: dữ liệu cấu hình cho hộp số tự động phải chứa {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_DRIVE, GEAR_1, GEAR_2,...} và đối với hộp số tay, danh sách phải là {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}. Đối với xe có hộp số tự động cho phép người lái xe chọn các bánh răng cụ thể theo yêu cầu (ví dụ: chế độ thủ công), bạn phải đặt giá trị cho GEAR_SELECTION thành bánh răng cụ thể do người lái xe chọn thay vì GEAR_DRIVE

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleGear
Loại đơn vị: N/A
Bản phát hành: Android 13

GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT

Yêu cầu tuân thủ Quy định chung về bảo mật của Liên minh Châu Âu. Trả về một giá trị cho biết liệu bạn có bắt buộc phải tuân thủ quy định chung về bảo mật hay không và nếu có thì loại yêu cầu đó là gì.

Chế độ thay đổi: STATIC
Chế độ truy cập: READ
Loại enum: GsrComplianceRequirementType
Loại đơn vị: N/A
Bản phát hành: Android 14

GLOVE_BOX_DOOR_POS

Thuộc tính đại diện cho vị trí hiện tại của cửa hộc đựng găng tay. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value phải được hỗ trợ. minInt32Value cho biết cửa hộp đựng găng tay đang đóng. minInt32Value phải là 0. maxInt32Value cho biết cửa hộp đựng găng tay đang ở vị trí mở hoàn toàn. Các giá trị nằm giữa minInt32ValuemaxInt32Value cho biết trạng thái chuyển đổi giữa vị trí đóng và vị trí mở hoàn toàn.

Thuộc tính này không nằm trong bất kỳ đơn vị cụ thể nào mà nằm trong một phạm vi vị trí tương đối được chỉ định. Mã khu vực phải khớp với vị trí ghế mà người dùng dự định sử dụng hộp đựng găng tay. Ví dụ: nếu bảng điều khiển bên phải phía trước có hộp đựng găng tay được nhúng vào, thì mã nhận dạng khu vực phải là SEAT_1_RIGHT

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

GLOVE_BOX_LOCKED

Khoá hoặc mở khoá hộp đựng găng tay. Nếu là true, thì hộc đựng găng tay sẽ được khoá. Nếu giá trị là false, thì hộp đựng găng tay sẽ được mở khoá. Mã khu vực phải khớp với vị trí ghế mà người dùng dự định sử dụng hộp đựng găng tay. Ví dụ: nếu bảng điều khiển bên phải phía trước có hộp đựng găng tay được nhúng, thì mã nhận dạng khu vực phải là VehicleAreaSeat#ROW_1_RIGHT

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

H đến I

HANDS_ON_DETECTION_DRIVER_STATE

Hands On Detection (HOD) driver state. Returns whether the driver's hands are on the steering wheel. Generally, this property should return a valid state defined in the HandsOnDetectionDriverState or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through ErrorState If the vehicle wants to send a warning to the user because the driver's hands have been off the steering wheel for too long, the warning should be surfaced through HANDS_ON_DETECTION_WARNING For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionDriverState (including OTHER, which is not recommended) and ErrorState are supported.

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

HANDS_ON_DETECTION_ENABLED

Enable or disable Hands On Detection (HOD). Set true to enable HOD and false to disable HOD. When HOD is enabled, a system inside the vehicle should be monitoring the presence of the driver's hands on the steering wheel and send a warning if it detects that the driver's hands are no longer on the steering wheel. In general, HANDS_ON_DETECTION_ENABLED should always return true or false.

If the feature is not available due to some temporary state, that information must be conveyed through the ErrorState values in the HANDS_ON_DETECTION_STATE property. This property is defined as minInt32Value VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

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

HANDS_ON_DETECTION_WARNING

Hands On Detection (HOD) warning. Returns whether a warning is being sent to the driver for having their hands off the wheel for too long a duration. Generally, this property should return a valid state defined in HandsOnDetectionWarning or ErrorState For example, if the feature is not available due to some temporary state, that information should be conveyed through an ErrorState For the global area ID (0), the VehicleAreaConfig#supportedEnumValues array must be defined unless all states of both HandsOnDetectionWarning (including OTHER, which is not recommended) and ErrorState are supported.

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

HAZARD_LIGHTS_STATE

Hazard light status. Return the current status of hazard lights.

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

HAZARD_LIGHTS_SWITCH

Hazard light switch. The setting that the user wants. 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

HEADLIGHTS_STATE

Headlights state. Returns the current state of headlights.

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

HEADLIGHTS_SWITCH

Headlight switch. The setting that the user wants. 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

HIGH_BEAM_LIGHTS_STATE

High beam lights state. Returns the current state of high beam lights.

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

HIGH_BEAM_LIGHTS_SWITCH

High beam light switch. The setting that the user wants. 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

HVAC_AC_ON

Turn AC on and off AC for the designated areaId. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_ACTUAL_FAN_SPEED_RPM

Actual fan speed.

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

HVAC_AUTO_ON

Turn automatic climate control on and off. If true, automatic climate control is on. If false, automatic climate control is off. If the vehicle does not support directly turning off automatic climate control, then OEMs should add logic in their VHAL implementation to set HVAC_AUTO_ON to false, which changes the necessary HVAC settings to indirectly turn off HVAC_AUTO_ON Ideally, this should not disrupt the user. OEMs should revert to the previous state any settings that were modified when automatic climate control is off. This way, the only outcome should be that HVAC_AUTO_ON is off. If restoring HVAC settings to previous settings is not possible, then the OEM should implement the least disruptive change.

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

HVAC_AUTO_RECIRC_ON

Automatic recirculation on or off. When automatic recirculation is on, the HVAC system may automatically switch to recirculation mode if the vehicle detects poor incoming air quality. 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

HVAC_DEFROSTER

Fan-based defrost for designated window. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_DUAL_ON

Enable temperature coupling between areas. The AreaIDs for the HVAC_DUAL_ON property shall contain a combination of HVAC_TEMPERATURE_SET AreaIDs that can be coupled together. If HVAC_TEMPERATURE_SET is mapped to AreaIDs[a_1, a_2, ..., a_n] and if HVAC_DUAL_ON can be enabled to couple a_i and a_j, then HVAC_DUAL_ON property must be mapped to [a_i | a_j]. Further, if a_k and a_l can also be coupled together separately, then HVAC_DUAL_ON must be mapped to [a_i | a_j, a_k | a_l]. For example, a car has two front seats (ROW_1_LEFT and ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, and ROW_2_RIGHT). There are two temperature control units, driver side and passenger side, which can be optionally synchronized. This can be expressed this way in the 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]

When the property is enabled, the ECU must synchronize the temperature for the affected areas. Any parameters modified as a side effect of turning on or off the DUAL_ON parameter shall generate onPropertyEvent() callbacks to the VHAL. In addition, if setting a temperature (for example, driver temperature) changes another temperature (such as front passenger temperature), then the appropriate onPropertyEvent() callbacks must be generated.

If a user changes a temperature that breaks the coupling (for example, sets passenger temperature independently), then the VHAL must send the appropriate onPropertyEvent() callbacks (including HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx). This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_ELECTRIC_DEFROSTER_ON

Electric defrosters' status.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_FAN_DIRECTION

Fan direction setting. 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: VehicleHvacFanDirection
Unit type: N/A
Release: Android 13

HVAC_FAN_DIRECTION_AVAILABLE

Fan positions available. This is a bit mask of fan positions available for the zone. Each available fan direction is denoted by a separate entry in the vector. A fan direction can have multiple bits from vehicle_hvac_fan_direction set. For instance, a typical car may have these fan positions:

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

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

HVAC_FAN_SPEED

Fan speed setting. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported.

  • minInt32Value lowest fan speed
  • maxInt32Value highest fan speed

This property is not in any specific unit but in a specified range of relative speeds. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can elect to 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

HVAC_MAX_AC_ON

MAX AC on or off. When MAX AC is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to cool the vehicle as quickly as possible. Any parameters modified as a side effect of turning on or off the MAX AC parameter generates onPropertyEvent() callbacks to the VHAL. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_MAX_DEFROST_ON

Turn MAX DEFROST on and off. When MAX DEFROST is on, the ECU can adjust items such as vent position, fan speed, and temperature as needed to defrost the windows as quickly as possible. Any parameters modified as a side effect of turning on or off MAX DEFROST parameter generates onPropertyEvent() callbacks to the VHAL. The AreaIDs for HVAC_MAX_DEFROST_ON indicate MAX DEFROST can be controlled in the area. For example, areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT} indicates that HVAC_MAX_DEFROST_ON can only be controlled for the front rows. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_POWER_ON

Represents the global power state for HVAC. Setting this property to false MAY mark some properties that control individual HVAC features and subsystems in the UNAVAILABLE state. Setting this property to true MAY mark some properties that control individual HVAC features and subsystems to the AVAILABLE state (unless any or all of the properties are UNAVAILABLE on their own individual merits).

HvacPower_DependentProperties are those properties that require HVAC to be powered on to enable functionality. In some cars, for example, to turn on the AC, HVAC must first be powered on. The HvacPower_DependentProperties list must be set in the VehiclePropConfig.configArray HvacPower_DependentProperties must only contain those properties associated with VehicleArea:SEAT

AreaID mapping for HVAC_POWER_ON property must contain all AreaIDs that HvacPower_DependentProperties are mapped to. For example, a car has two:

  1. Front seats (ROW_1_LEFT, ROW_1_RIGHT) and three back seats (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). If the HVAC features (AC, Temperature etc.) throughout the car are dependent on a single HVAC power controller, then HVAC_POWER_ON must be mapped to [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
  2. Seats in the front row (ROW_1_LEFT, ROW_1_RIGHT) and three seat in the second (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT) and third rows (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT). If the car has temperature controllers in the front row that can operate entirely independently of temperature controllers in the back of the vehicle, then HVAC_POWER_ON must be mapped to a two element array:
    - ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
    

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to 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

HVAC_RECIRC_ON

Recirculation on and off. Controls the supply of exterior air to the cabin. Recirc on means most of the airflow into the cabin originates in the cabin. Recirc off means most of the airflow into the cabin comes from outside the car. This property is defined as VehiclePropertyAccess.READ_WRITE but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_SEAT_TEMPERATURE

Seat heating and cooling. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum seat temperature heating setting. The minInt32Value must be 0, unless the vehicle supports seat cooling. In this case, minInt32Value indicates the maximum seat temperature cooling setting. This property is not in any specific unit, but in a specified range of relative temperature settings. 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

HVAC_SEAT_VENTILATION

Seat ventilation. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The minInt32Value must be 0. The maxInt32Value indicates the maximum ventilation setting available for the seat.

This property is not in any particular unit but in the specified range of ventilation settings.

Used by HVAC apps and Assistant to enable, change, or read state of seat ventilation. This is different than seating cooling. It can be on at the same time as cooling, or not.

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

HVAC_SIDE_MIRROR_HEAT

Side mirror heat. Increasing values denote higher heating levels for side mirrors. You must define maxInt32Value and minInt32Value in VehicleAreaConfig All integers between minInt32Value and maxInt32Value must be supported. In config data:

  • maxInt32Value represents maximum heating level.
  • minInt32Value MUST be 0 and indicates no heating.

This property is not in any particular unit but in a specified range of relative heating settings. This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ

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

HVAC_STEERING_WHEEL_HEAT

Sets the amount of heating and cooling for the steering wheel. The maxInt32Value and minInt32Value in VehicleAreaConfig must be defined. All integers between minInt32Value and maxInt32Value must be supported. The maxInt32Value indicates the maximum steering wheel heating setting. The minInt32Value should be 0, unless the vehicle supports steering wheel cooling, too. In this case, the minInt32Value indicates the maximum steering wheel cooling setting. This property is not in any particular unit but in a specified range of heating settings. This property is defined as VehiclePropertyAccess.READ, 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

HVAC_TEMPERATURE_CURRENT

HVAC current temperature.

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

HVAC_TEMPERATURE_DISPLAY_UNITS

Temperature units for display. Indicates if temperature is displayed in Celsius or Fahrenheit. VehiclePropConfig.configArray indicates the supported temperature display units. For example, configArray[0] = CELSIUS configArray[1] = FAHRENHEIT This parameter MAY be used to display any HVAC temperature in the system. Values must be one of VehicleUnit.CELSIUS or VehicleUnit.FAHRENHEIT

If updating HVAC_TEMPERATURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITSproperties, then their values must be updated and communicated to the AAOS framework.

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can implement it is VehiclePropertyAccess.READ only.

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

HVAC_TEMPERATURE_SET

HVAC target temperature set in Celsius.

The minFloatValue and maxFloatValue in VehicleAreaConfig must be defined:

  • minFloatValue minimum temperature setting in Celsius.
  • maxFloatValue maximum temperature setting in Celsius.

If all the values between minFloatValue and maxFloatValue are not supported, use the configArray to list the valid temperature values that can be set. This also describes a lookup table to convert the temperature from Celsius to Fahrenheit (and vice versa) for the vehicle. The configArray must be defined if standard unit conversion is not supported on the vehicle.

The configArray is set as follows:

  • configArray[0] [lower bound of supported temperature in Celsius] * 10
  • configArray[1] [upper bound of supported temperature in Celsius] * 10
  • configArray[2] [increment in Celsius] * 10
  • configArray[3] [lower bound of the supported temperature in Fahrenheit] * 10
  • configArray[4] [upper bound of the supported temperature in Fahrenheit] * 10
  • configArray[5] [increment in Fahrenheit] * 10

The minFloatValue and maxFloatValue in VehicleAreaConfig must be equal to configArray[0] and configArray[1] respectively. For example, if the vehicle supports temperature values as [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5] in Fahrenheit, the configArray should be configArray = {160, 280, 5, 605, 845, 10}

Ideally, the ratio of the Celsius increment to the Fahrenheit increment should be as close to the actual ratio of 1 degree Celsius to 1.8 degrees Fahrenheit. There must be a one-to-one mapping of all Celsius values to Fahrenheit values defined by the configArray The configArray is used by clients to convert this property's temperature from Celsius to Fahrenheit. Also, it lets clients know what Celsius value to set the property to achieve their desired Fahreneheit value for the system. If the ECU does not have a one-to-one mapping of all Celsius values to Fahrenheit values, then the configArray should only define the list of Celsius and Fahrenheit values that have a one-to-one mapping.

For example, if the ECU supports Celsius values from 16 to 28 and Fahrenheit values from 60 to 85, each with an increment of 1, then one possible configArray is code>{160, 280, 10, 600, 840, 20}In this case, 85 is not a supported temperature.

Any value set in between a valid value should be rounded to the closest valid value. We highly recommended that the OEM also implement the HVAC_TEMPERATURE_VALUE_SUGGESTION vehicle property because it provides applications with a simple method for determining temperature values that can be set for a vehicle and for converting values between Celsius and Fahrenheit.

This property is defined as VehiclePropertyAccess.READ, but OEMs can implement it as VehiclePropertyAccess.READ

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

HVAC_TEMPERATURE_VALUE_SUGGESTION

Suggested values for setting HVAC temperature.

Implement the property to help applications understand the closest supported temperature value in Celsius or Fahrenheit.

  • floatValues[0] Requested value that an app wants to set a temperature to.
  • floatValues[1] Unit for floatValues[0] and should be one of {VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
  • floatValues[2] Value OEMs suggested in CELSIUS (this value is not included in the request).
  • floatValues[3] Value OEMs suggested in FAHRENHEIT (this value is not included in the request).

An application calls set(VehiclePropValue propValue) with the requested value and unit for the value. OEMs need to return the suggested values in floatValues[2] and floatValues[3] by onPropertyEvent() callbacks. The suggested values must conform to the values that can be derived from the HVAC_TEMPERATURE_SET configArray In other words, the suggested values and the table of values from the configArray should be the same.

We recommended that the OEM add custom logic in their VHAL implementation to avoid making requests to the HVAC ECU. The logic can be as follows. To convert temperature from Celsius to Fahrenheit:

// 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;

For example, when a driver uses the voice assistant to set HVAC temperature to 66.2 in Fahrenheit. First, an application sets this property with the value [66.2, (float)VehicleUnit.FAHRENHEIT,0,0] If an OEM suggests to set 19.0 in Celsius or 66.5 in Fahrenheit at the user's request, then VHAL must generate a callback with a property value [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5] After the voice assistant gets the callback, it informs the user and sets the HVAC temperature to the suggested value.

Another example, an app receives 21 Celsius as the current temperature value by querying HVC_TEMPERATURE_SET but the app needs to know what value is displayed on the car's UI in Fahrenheit. For this, the app sets the property to [21, (float)VehicleUnit.CELSIUS, 0, 0] If the suggested value by the OEM for 21 Celsius is 70 Fahrenheit, then VHAL must generate a callback with property value [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0] In this case, the app can know that the value is 70.0 Fahrenheit in the car's UI.

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

HW_CUSTOM_INPUT

Defines a custom OEM partner input event. This input event must be used by OEM partners who want to propagate events not supported by Android. It is composed by an array of int32 values only. The Android properties are:

  • int32Values[0] Input code identifying the function representing this event. Valid event types are defined by CustomInputType.CUSTOM_EVENT_F1 up to CustomInputType.CUSTOM_EVENT_F10 They represent the custom event to be defined by OEM partners.
  • int32Values[1] Target display type defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32Values[2] Repeat counter, if 0 then event is not repeated. Values 1 or higher indicate how many times this event has been repeated.

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

HW_KEY_INPUT

Property to feed hardware input events to Android.

  • int32Values[0] Action defined by VehicleHwKeyInputAction
  • int32Values[1] Key code, must use standard android key code
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to specific display must be sent to VehicleDisplay#MAIN
  • int32Values[3] (Optional) Number of ticks. The value must be equal o greater than 1. When omitted, Android defaults to 1.

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

HW_KEY_INPUT_V2

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Key code, must use the standard Android key code, such as KEYCODE_HOME and KEYCODE_BACK
  • int32array[2] action defined in VehicleHwKeyInputAction, such as:
    VehicleHwKeyInputAction::ACTION_UP, VehicleHwKeyInputAction::ACTION_UP
  • int32array[3] Repeat count of the event. For key down events, this is the repeat count with the first down starting at 0 and counting up from there. For key up events, this is always equal to 0.
  • int64array[0] Down time in elapsed nanoseconds since the last boot. Denotes the time of the most recent key down event. For the down event, this is the event time of the down event.

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

HW_MOTION_INPUT

Property to feed hardware input events to Android.

  • int32array[0] Target display defined by VehicleDisplay, such as:
    VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
  • int32array[1] Input type defined in VehicleHwMotionInputSource, such as:
    VehicleHwMotionInputSource::SOURCE_KEYBOARD, VehicleHwMotionInputSource::SOURCE_DPAD
  • int32array[2] Action code defined in VehicleHwMotionInputAction, such as:
    VehicleHwMotionInputAction::ACTION_UP, VehicleHwMotionInputAction::ACTION_DOWN
  • int32array[3] Button state flag defined in VehicleHwMotionButtonStateFlag, such as:
    VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY, VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
  • int32array[4] Pointer events count, N. N must be a positive integer.
  • int32array[5:5+N-1] Pointer id, length N
  • int32array[5+N:5+2*N-1] Tool type, length N. As defined in VehicleHwMotionToolType, such as:
    VehicleHwMotionToolType::TOOL_TYPE_FINGER, VehicleHwMotionToolType::TOOL_TYPE_STYLUS
  • floatArray[0:N-1] x data, length N
  • floatArray[N:2*N-1] y data, length N
  • floatArray[2*N:3*N-1] pressure data, length N
  • floatArray[3*N:4*N-1] size data, length N
  • int64array[0] Down time, elapsed nanoseconds since boot. Denotes the time when the user originally pressed down to start a stream of position events. For the down event, it is the event time of the down event.

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

HW_ROTARY_INPUT

Property to feed hardware rotary events to Android.

  • int32Values[0] RotaryInputType to identify which rotary knob is rotated.
  • int32Values[1] Number of detents (clicks), positive for clockwise, negative for counterclockwise.
  • int32Values[2] Target display defined in VehicleDisplay Events not tied to a specific display must be sent to VehicleDisplay#MAIN
  • int32values[3 .. 3 + abs(number of detents) - 2] Nanosecond deltas between pairs of consecutive detents when the number of detents is more than 1 or less than -1.
  • VehiclePropValue.timestamp When the rotation took place. If the number of detents is more than 1 or less than -1, when the first detent of rotation took place.

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

IGNITION_STATE

Represents ignition state.

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

INFO_DRIVER_SEAT

Driver's seat location VHAL implementations must ignore the areaId. Use VehicleArea:GLOBAL

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

INFO_EV_BATTERY_CAPACITY

Nominal battery capacity for EV or hybrid vehicle. Returns the nominal battery capacity, EV or hybrid. This is the total usable battery capacity when the vehicle is new. This value may differ from EV_CURRENT_BATTERY_CAPACITY because EV_CURRENT_BATTERY_CAPACITY returns the real-time usable battery capacity taking into account factors such as battery aging and temperature dependency.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13

INFO_EV_CONNECTOR_TYPE

List of connectors this EV may use. If the vehicle has multiple charging ports, this property must return all possible connector types that can be used by at least one charging port on the vehicle.

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

INFO_EV_PORT_LOCATION

This property must communicate the location of the charging port on the EV using the PortLocationType enum. If a vehicle has multiple ports, this property must return the port that allows the fastest charging. To communicate all port locations, use INFO_MULTI_EV_PORT_LOCATIONS

EV port location: STATIC
Access mode: READ
Enum type: PortLocationType
Unit type: N/A
Release: Android 13

INFO_EXTERIOR_DIMENSIONS

Exterior dimensions of vehicle:

  • Height: int32Values[0]
  • Length: int32Values[1]
  • Width: int32Values[2]
  • Width, including mirrors: int32Values[3]
  • Wheel base, including mirrors: int32Values[4]
  • Track width front: int32Values[5]
  • Track width rear: int32Values[6]
  • Curb-to-curb turning diameter: int32Values[7]

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLIMETER
Release: Android 13

INFO_FUEL_CAPACITY

Fuel capacity of the vehicle in milliliters. This property must communicate the maximum amount of fuel that can be stored in the vehicle in milliliters. This property does not apply to electric vehicles (EV). That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, INFO_FUEL_CAPACITY must not be implemented. For EVs, implement INFO_EV_BATTERY_CAPACITY.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13

INFO_FUEL_DOOR_LOCATION

Fuel door location. This property must communicate the location of the fuel door on the vehicle. This property does not apply to EVs. That is, if INFO_FUEL_TYPE only contains FuelType::FUEL_TYPE_ELECTRIC, this property must not be implemented. For EVs, implement INFO_EV_PORT_LOCATION or INFO_MULTI_LOCATIONS

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

INFO_FUEL_TYPE

List of fuels the vehicle may use. FuelType::FUEL_TYPE_ELECTRIC must only be included if the vehicle can plug-in rechargeable. For example, a Fully Hybrid Electric Vehicle (FHEV) must not include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such.

int32Values = { FuelType::FUEL_TYPE_UNLEADED }
On the other hand, a Plug-in Hybrid Electric Vehicle (PHEV) is plug-in rechargeable and should include FuelType::FUEL_TYPE_ELECTRIC as the INT32_VEC value for INFO_FUEL_TYPE INFO_FUEL_TYPE can be populated as such, int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }

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

INFO_MAKE

Manufacturer of vehicle. This property must communicate the vehicle's public brand name.

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

INFO_MODEL

Model of vehicle. This property must communicate the vehicle's public model name.

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

INFO_MODEL_YEAR

Model year of vehicle in `YYYY` format based on the Gregorian calendar.

Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:YEAR
Release: Android 13

INFO_MULTI_EV_PORT_LOCATIONS

Multiple EV port locations. Implement this property if the vehicle has multiple EV ports. Port locations are defined in PortLocationType. For example, a car has one port front left and one port rear left:

int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT

If a vehicle has only one port, this property's value should list one element. To describe one port location, see INFO-EV-PORT-LOCATION

.

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

INFO_VIN

VIN of vehicle.

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

INITIAL_USER_INFO

Defines the Android user to be used during initialization. This property is called by the Android system when it initializes and lets the HAL define which Android user should be started. This request is made by setting a VehiclePropValue (defined by InitialUserInfoRequest), and the HAL must respond with a property change event (defined by InitialUserInfoResponse). If the HAL doesn't respond after a time defined by the Android system, the Android system proceeds as if HAL returned a response of action InitialUserInfoResponseAction:DEFAULT. For example, on first boot, the request could be:

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)
If the HAL responds with the creation of an admin user called Owner, the response would be:
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
The string value represents multiple values, separated by ||. The first value is the (optional) system locales for the user to be created (empty in this case meaning it uses the Android default value), while the second value is the (optional) name of the user to be created (when the type of response is InitialUserInfoResponseAction:CREATE). For example, to create the same Owner user with en-US and pt-BR locales, the string value of the response is en-US,pt-BR||Owner. As such, neither the locale nor the name can contain two vertical bars (||) in their values, although you can use a single vertical bar (|).

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

J đến R

LANE_CENTERING_ASSIST_COMMAND

Lệnh của tính năng Hỗ trợ giữ làn đường (LCA). Các lệnh để kích hoạt và tạm ngưng LCA. Khi lệnh ACTIVATE từ LaneCenteringAssistCommand được gửi, bạn phải đặt LANE_CENTERING_ASSIST_STATE thành LaneCenteringAssistState#ACTIVATION_REQUESTED. Khi lệnh ACTIVATE thành công, bạn phải đặt LANE_CENTERING_ASSIST_STATE thành LaneCenteringAssistState#ACTIVATED. Khi lệnh DEACTIVATE từ LaneCenteringAssistCommand thành công, bạn phải đặt LANE_CENTERING_ASSIST_STATE thành LaneCenteringAssistState#ENABLED

Đối với mã khu vực toàn cầu (0), bạn phải xác định VehicleAreaConfig#supportedEnumValues trừ phi tất cả giá trị enum của LaneCenteringAssistCommand đều được hỗ trợ. Khi thuộc tính này không có sẵn vì LCA bị tắt (ví dụ: LANE_CENTERING_ASSIST_ENABLED là sai), thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_DISABLED. Nếu LANE_CENTERING_ASSIST_STATE được triển khai và trạng thái được đặt thành giá trị ErrorState, thì thuộc tính này phải trả về StatusCode phù hợp với giá trị ErrorState. Ví dụ: nếu LANE_CENTERING_ASSIST_STATE được đặt thành ErrorState#NOT_AVAILABLE_SPEED_LOW, thì thuộc tính này phải trả về StatusCode#NOT_AVAILABLE_SPEED_LOW

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: LaneCenteringAssistCommand
Loại đơn vị: N/A
Bản phát hành: Android 14

LANE_CENTERING_ASSIST_ENABLED

Bật hoặc tắt tính năng Hỗ trợ căn giữa làn đường (LCA). Đặt true để bật LCA và false để tắt LCA. Khi LCA được bật, hệ thống ADAS trong xe phải được bật và chờ tín hiệu kích hoạt từ người lái xe. Sau khi tính năng này được kích hoạt, hệ thống ADAS sẽ điều khiển xe để giữ cho xe ở giữa làn đường hiện tại.

Tính năng này khác với tính năng Hỗ trợ giữ làn đường (LKA) – theo dõi xem người lái xe có vô tình trượt sang hoặc vượt qua vạch kẻ đường hay không. Nếu phát hiện thấy xe vô tình rời khỏi làn đường, hệ thống sẽ áp dụng chức năng điều khiển tay lái để đưa xe trở lại làn đường hiện tại. Nhìn chung, LANE_CENTERING_ASSIST_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp hoặc quá cao, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính LANE_CENTERING_ASSIST_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

LANE_CENTERING_ASSIST_STATE

Trạng thái của tính năng Hỗ trợ căn giữa làn đường (LCA). Trả về trạng thái hiện tại của LCA. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong LaneCenteringAssistState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ.

Nếu LCA bao gồm cảnh báo chệch làn đường, thì các cảnh báo đó phải xuất hiện thông qua thuộc tính Cảnh báo chệch làn đường (LDW).

Đối với mã khu vực chung (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValues trừ phi tất cả các trạng thái của cả LaneCenteringAssistState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: LaneCenteringAssistState/ErrorState
Loại đơn vị: N/A
Bản phát hành: Android 14

LANE_DEPARTURE_WARNING_ENABLED

Bật hoặc tắt tính năng Cảnh báo chệch làn đường (LDW). Đặt thành true để bật LDW và false để tắt LDW. Khi LDW được bật, hệ thống ADAS trong xe sẽ được bật và theo dõi xem xe có đang tiến gần hoặc băng qua các vạch làn đường hay không. Trong trường hợp này, hệ thống sẽ đưa ra cảnh báo.

Nhìn chung, LANE_DEPARTURE_WARNING_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp hoặc quá cao, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính LANE_DEPARTURE_WARNING_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

LANE_DEPARTURE_WARNING_STATE

Trạng thái Cảnh báo chệch làn đường (LDW). Trả về trạng thái hiện tại của LDW. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong LaneDepartureWarningState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ.

Đối với mã khu vực chung (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValues trừ phi tất cả các trạng thái của cả LaneDepartureWarningState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: LaneDepartureWarningState/ErrorState
Loại đơn vị: N/A
Bản phát hành: Android 14

LANE_KEEP_ASSIST_ENABLED

Bật hoặc tắt tính năng Hỗ trợ giữ làn đường (LKA). Đặt thành true để bật LKA và false để tắt LKA. Khi bật LKA, hệ thống ADAS trong xe phải được bật và theo dõi xem người lái xe có vô tình trôi về phía hoặc vượt qua vạch kẻ đường hay không. Nếu phát hiện thấy xe vô tình rời khỏi làn đường, hệ thống sẽ áp dụng chức năng điều khiển tay lái để đưa xe trở lại làn đường hiện tại. Tính năng này khác với tính năng Hỗ trợ giữ làn đường (LCA). Khi được kích hoạt, tính năng này sẽ áp dụng chế độ điều khiển tay lái liên tục để giữ cho xe ở giữa làn đường hiện tại.

Nhìn chung, LANE_KEEP_ASSIST_ENABLED phải luôn trả về true hoặc false. Nếu tính năng này không hoạt động do một số trạng thái tạm thời, chẳng hạn như tốc độ xe quá thấp hoặc quá cao, thì thông tin đó phải được truyền qua các giá trị ErrorState trong thuộc tính LANE_KEEP_ASSIST_STATE.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

LANE_KEEP_ASSIST_STATE

Trạng thái của tính năng Hỗ trợ giữ làn đường (LKA). Trả về trạng thái hiện tại của LKA. Thuộc tính này phải luôn trả về một trạng thái hợp lệ được xác định trong LaneKeepAssistState hoặc ErrorState. Thuộc tính này không được hiển thị lỗi thông qua StatusCode và phải sử dụng các trạng thái lỗi được hỗ trợ

Nếu LKA bao gồm cảnh báo chệch làn đường trước khi áp dụng biện pháp điều chỉnh tay lái, thì các cảnh báo đó phải xuất hiện thông qua các thuộc tính Cảnh báo chệch làn đường (LDW).

Đối với mã khu vực chung (0), bạn phải xác định mảng VehicleAreaConfig#supportedEnumValues trừ phi tất cả các trạng thái của cả LaneKeepAssistState (bao gồm cả OTHER, không nên dùng) và ErrorState đều được hỗ trợ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: LaneKeepAssistState/ErrorState
Loại đơn vị: N/A
Bản phát hành: Android 14

LOCATION_CHARACTERIZATION

Đặc điểm của dữ liệu đầu vào dùng để tính toán vị trí. Thuộc tính này phải cho biết dữ liệu và đầu vào cảm biến nào (nếu có) mà hệ thống xem xét khi tính toán vị trí của xe được chia sẻ với Android thông qua HAL GNSS.

Giá trị phải trả về một tập hợp cờ bit. Cờ bit được xác định trong LocationCharacterization. Giá trị này cũng phải bao gồm đúng một trong hai giá trị DEAD_RECKONED hoặc RAW_GNSS_ONLY trong tập hợp cờ bit.

Khi thuộc tính này không được hỗ trợ, giả định là không có đầu vào cảm biến nào khác được hợp nhất vào thông tin cập nhật GNSS được cung cấp thông qua HAL GNSS. Trừ phi có quy định khác thông qua giao diện HAL GNSS.

Chế độ thay đổi: STATIC
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

MIRROR_AUTO_FOLD_ENABLED

Biểu thị thuộc tính cho tính năng Tự động gập gương. Thuộc tính này có giá trị true khi tính năng tự động gập gương chiếu hậu bên của xe được bật (ví dụ: khi gương tự động gập vào khi người dùng rời khỏi và khoá xe).

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

MIRROR_AUTO_TILT_ENABLED

Biểu thị thuộc tính cho tính năng Tự động nghiêng của gương. Thuộc tính này có giá trị true khi tính năng tự động nghiêng gương chiếu hậu của xe (ví dụ: khi gương tự động nghiêng xuống khi người lái xe lùi) được bật.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

MIRROR_FOLD

Gấp theo kiểu gương. True cho biết gương đang gập lại. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

MIRROR_LOCK

Khoá gương. True cho biết vị trí gương được khoá và không thể thay đổi. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

MIRROR_Y_MOVE

Di chuyển theo trục Y phản chiếu. Bạn phải xác định maxInt32ValueminInt32Value trong mỗi VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value phải được hỗ trợ.

maxInt32Value thể hiện tốc độ di chuyển tối đa của gương trong khi nghiêng sang phải. minInt32Value thể hiện tốc độ di chuyển tối đa của gương trong khi nghiêng sang trái.

Giá trị tuyệt đối lớn hơn, dương hoặc âm, cho biết tốc độ di chuyển nhanh hơn. Khi gương đạt đến giới hạn vị trí, giá trị phải được đặt lại thành 0. Nếu giá trị của MIRROR_Y_MOVE hiện là 0, thì tức là không có chuyển động nào đang diễn ra.

Thuộc tính này không ở bất kỳ đơn vị cụ thể nào mà ở một phạm vi tốc độ chuyển động tương đối được chỉ định.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

MIRROR_Y_POS

Phản chiếu vị trí Y. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value phải được hỗ trợ. minInt32Value cho biết gương được nghiêng hoàn toàn sang trái.

Đây phải là một giá trị không dương. maxInt32Value cho biết gương được nghiêng hoàn toàn sang bên phải. Đây phải là giá trị không âm. 0 cho biết gương không bị nghiêng theo hướng nào.

Các giá trị nằm giữa minInt32ValuemaxInt32Value cho biết trạng thái chuyển đổi giữa vị trí cực trái và cực phải.

Thuộc tính này không nằm trong bất kỳ đơn vị cụ thể nào mà nằm trong một phạm vi vị trí tương đối được chỉ định.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

MIRROR_Z_MOVE

Di chuyển theo hướng phản chiếu Z. Bạn phải xác định maxInt32ValueminInt32Value trong mỗi VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value phải được hỗ trợ.

maxInt32Value thể hiện tốc độ di chuyển tối đa của gương trong khi nghiêng lên trên. minInt32Value thể hiện tốc độ di chuyển tối đa của gương trong khi nghiêng xuống dưới. Giá trị tuyệt đối lớn hơn, dương hoặc âm, cho biết tốc độ di chuyển nhanh hơn. Khi gương đạt đến giới hạn vị trí, giá trị phải được đặt lại thành 0. Nếu giá trị của MIRROR_Z_MOVE hiện là 0, thì tức là không có chuyển động nào đang diễn ra.

Thuộc tính này không ở bất kỳ đơn vị cụ thể nào mà ở một phạm vi tốc độ chuyển động tương đối được chỉ định.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

MIRROR_Z_POS

Phản chiếu vị trí Z. Bạn phải xác định maxInt32ValueminInt32Value trong VehicleAreaConfig. Tất cả các số nguyên từ minInt32Value đến maxInt32Value đều phải được hỗ trợ. minInt32Value cho biết gương nghiêng hoàn toàn xuống dưới. Đây phải là một giá trị không dương. maxInt32Value cho biết gương được nghiêng hoàn toàn lên trên. Đây phải là giá trị không âm. 0 cho biết gương không bị nghiêng theo hướng nào.

Các giá trị nằm giữa minInt32ValuemaxInt32Value cho biết trạng thái chuyển đổi giữa vị trí hoàn toàn hướng xuống và hoàn toàn hướng lên.

Thuộc tính này không nằm trong bất kỳ đơn vị cụ thể nào mà nằm trong một phạm vi vị trí tương đối được chỉ định.

Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

NIGHT_MODE

True cho biết cảm biến chế độ ban đêm đã phát hiện môi trường trong xe có ánh sáng yếu. Ví dụ: nền tảng có thể sử dụng thông tin này để bật giao diện người dùng phù hợp nhằm giúp người dùng xem tốt hơn trong môi trường tối hoặc có ánh sáng yếu.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

OBD2_FREEZE_FRAME

Báo cáo thông tin tổng quan nhanh về giá trị của các cảm biến OBD2 có sẵn tại thời điểm lỗi xảy ra và được phát hiện. Bạn phải cung cấp configArray có cùng ý nghĩa như đã xác định cho OBD2_LIVE_FRAME

Các giá trị của thuộc tính này được diễn giải theo cách tương tự như các giá trị của OBD2_LIVE_FRAME, ngoại trừ trường stringValue có thể chứa mã khắc phục sự cố chẩn đoán không trống (DTC).

Yêu cầu IVehicle#get của thuộc tính này phải cung cấp giá trị cho int64Values[0]. Giá trị này được diễn giải là dấu thời gian của khung hình tĩnh cần truy xuất. Bạn có thể lấy danh sách dấu thời gian bằng IVehicle#get của OBD2_FREEZE_FRAME_INFO

Nếu không có khung hình cố định tại dấu thời gian đã cho, thì quá trình triển khai phải trả về phản hồi là NOT_AVAILABLE. Vì các phương tiện có thể có bộ nhớ giới hạn cho ảnh tĩnh, nên yêu cầu khung hình có thể phản hồi bằng NOT_AVAILABLE ngay cả khi dấu thời gian liên kết đã được lấy gần đây thông qua OBD2_FREEZE_FRAME_INFO

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

OBD2_FREEZE_FRAME_CLEAR

Xoá khung hình dừng. Báo cáo thông tin tổng quan nhanh về giá trị của các cảm biến OBD2 có sẵn tại thời điểm lỗi xảy ra và được phát hiện. Bạn phải cung cấp configArray có cùng ý nghĩa như được xác định cho OBD2_LIVE_FRAME

Các giá trị của thuộc tính này được diễn giải theo cách tương tự như các giá trị của OBD2_LIVE_FRAME, ngoại trừ trường stringValue có thể chứa mã khắc phục sự cố chẩn đoán không trống (DTC).

Yêu cầu IVehicle#get của thuộc tính này phải cung cấp giá trị cho int64Values[0]. Giá trị này sẽ được diễn giải là dấu thời gian của khung hình dừng để truy xuất. Bạn có thể lấy danh sách dấu thời gian bằng IVehicle#get của OBD2_FREEZE_FRAME_INFO

Nếu không có khung hình cố định tại dấu thời gian đã cho, thì quá trình triển khai phải trả về phản hồi là NOT_AVAILABLE. Vì các phương tiện có thể có bộ nhớ hạn chế cho ảnh tĩnh, nên yêu cầu khung hình có thể phản hồi bằng NOT_AVAILABLE ngay cả khi dấu thời gian liên kết gần đây đã được lấy qua OBD2_FREEZE_FRAME_INFO

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

OBD2_FREEZE_FRAME_INFO

Thuộc tính này mô tả các khung hình tĩnh hiện tại được lưu trữ trong bộ nhớ của xe và có thể truy xuất thông qua OBD2_FREEZE_FRAME. Các giá trị sẽ được diễn giải như sau. Mỗi phần tử của int64Values phải là dấu thời gian tại thời điểm phát hiện mã lỗi và khung hình tĩnh tương ứng được lưu trữ. Bạn có thể dùng mỗi phần tử như vậy làm khoá cho OBD2_FREEZE_FRAME để truy xuất khung hình tĩnh tương ứng.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

OBD2_LIVE_FRAME

Báo cáo thông tin tổng quan nhanh về các giá trị hiện tại (trực tiếp) của các cảm biến OBD2 hiện có. Bạn có thể đặt configArray như sau:

  • configArray[0] Số lượng cảm biến có giá trị số nguyên dành riêng cho nhà cung cấp
  • configArray[1] Số lượng cảm biến có giá trị float dành riêng cho nhà cung cấp

Giá trị của thuộc tính này được diễn giải như trong ví dụ sau. Xem xét configArray = {2,3} int32Values phải là một vectơ chứa Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX cộng với hai phần tử (hoặc 33 phần tử). floatValues phải là một vectơ chứa Obd2FloatSensorIndex.LAST_SYSTEM_INDEX cộng với 3 phần tử (hoặc 73 phần tử).

Mỗi khung hình có thể chứa một tập hợp con khác nhau của các giá trị cảm biến, cả cảm biến do hệ thống cung cấp và cảm biến dành riêng cho nhà cung cấp. Để hỗ trợ việc này, phần tử byte của giá trị thuộc tính được dùng làm mặt nạ bit. Số byte phải đủ để biểu thị tổng số cảm biến có thể có (trong trường hợp này là 14 byte để biểu thị 106 giá trị có thể có). Giá trị này được đọc dưới dạng mặt nạ bit liền nhau, trong đó mỗi bit cho biết có hay không có cảm biến trong khung, bắt đầu bằng số bit bằng kích thước của int32Values, ngay sau đó là số bit bằng kích thước của floatValues.

Ví dụ: nếu bytes[0] = 0x4C (0b01001100) thì có nghĩa là:

  • int32Values[0 and 1] không phải là giá trị cảm biến hợp lệ
  • int32Values[2 and 3] là các giá trị cảm biến hợp lệ
  • int32Values[4 and 5] không phải là giá trị cảm biến hợp lệ
  • int32Values[6] là giá trị cảm biến hợp lệ
  • int32Values[7] không phải là giá trị cảm biến hợp lệ
  • int32Values[0 and 1] không phải là giá trị cảm biến hợp lệ
  • int32Values[2 and 3] là các giá trị cảm biến hợp lệ
  • int32Values[4 and 5] không phải là giá trị cảm biến hợp lệ
  • int32Values[6] là giá trị cảm biến hợp lệ
  • int32Values[7] không phải là giá trị cảm biến hợp lệ

Nếu bytes[5] = 0x61 (0b01100001), thì:

  • int32Values[32] là giá trị cảm biến hợp lệ
  • floatValues[0 thru 3] là các giá trị cảm biến không hợp lệ
  • floatValues[4 and 5] là các giá trị cảm biến hợp lệ
  • floatValues[6] không phải là giá trị cảm biến hợp lệ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

ON_CHANGE

Chế độ thay đổi:
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleLightSwitch
Loại đơn vị:N/A
Bản phát hành: Android 13

PARKING_BRAKE_AUTO_APPLY

Tự động áp dụng phanh đỗ xe. Khi có giá trị true, thuộc tính này cho biết phanh đỗ xe tự động của ô tô đang bật. Giá trị False cho biết tính năng phanh tự động khi đỗ xe của ô tô đang tắt. Thuộc tính này thường bị nhầm lẫn với PARKING_BRAKE_ON. Điểm khác biệt là PARKING_BRAKE_ON cho biết phanh tay thực tế đang bật hay tắt, còn PARKING_BRAKE_AUTO_APPLY cho biết tính năng phanh tay tự động đang bật hay tắt và không mô tả trạng thái hiện tại của phanh tay thực tế.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

PARKING_BRAKE_ON

Trạng thái phanh đỗ xe. Khi có giá trị true, thuộc tính này cho biết phanh đỗ xe của ô tô đang được kích hoạt. Giá trị sai cho biết phanh đỗ xe của ô tô đang ở trạng thái ngắt.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

PER_DISPLAY_BRIGHTNESS

Thuộc tính thể hiện độ sáng của màn hình được kiểm soát riêng biệt. Một số ô tô có một hoặc nhiều màn hình được kiểm soát độ sáng riêng biệt và thuộc tính này là để thông báo độ sáng của từng màn hình dành cho hành khách. Trong ô tô, nơi tất cả độ sáng của màn hình được kiểm soát cùng nhau, chúng phải sử dụng DISPLAY_BRIGHTNESS

Bạn chỉ nên triển khai một trong hai PER_DISPLAY_BRIGHTNESSPER_DISPLAY_BRIGHTNESS. Nếu có cả hai, AAOS sẽ sử dụng PER_DISPLAY_BRIGHTNESS.

Cổng hiển thị xác định duy nhất một đầu nối thực trên thiết bị để xuất ra màn hình, dao động từ 0 đến 255.

  • int32Values[0] Cổng hiển thị
  • int32Values[1] Độ sáng

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 14

PERF_ODOMETER

Giá trị hiện tại trên công tơ mét của xe.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:KILOMETER
Bản phát hành: Android 13

PERF_REAR_STEERING_ANGLE

Góc lái của mô hình xe đạp phía sau. Góc được đo bằng độ. Trái là âm. Thuộc tính này không phụ thuộc vào góc của vô lăng. Thuộc tính này phải thông báo góc của bánh sau so với xe, chứ không phải góc của vô lăng.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:DEGREES
Bản phát hành: Android 13

PERF_STEERING_ANGLE

Góc lái của mô hình xe đạp trước cho xe. Góc được đo bằng độ. Trái là âm. Thuộc tính này không phụ thuộc vào góc của vô lăng. Thuộc tính này phải thông báo góc của bánh xe trước so với xe, chứ không phải góc của vô lăng.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:DEGREES
Bản phát hành: Android 13

PERF_VEHICLE_SPEED

Tốc độ của xe, Giá trị phải là số dương khi xe đang di chuyển về phía trước và âm khi xe đang lùi. Giá trị này độc lập với giá trị bánh răng (CURRENT_GEAR hoặc GEAR_SELECTION). Ví dụ: nếu GEAR_SELECTIONGEAR_NEUTRAL, thì PERF_VEHICLE_SPEED sẽ dương khi xe đang di chuyển về phía trước, âm khi lùi và bằng 0 khi không di chuyển.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại đơn vị: Không áp dụng
Loại đơn vị: VehicleUnit:METER_PER_SEC
Bản phát hành: Android 13

PERF_VEHICLE_SPEED_DISPLAY

Tốc độ của xe để hiển thị, Một số ô tô hiển thị tốc độ trên đồng hồ tốc độ chậm hơn một chút so với tốc độ thực tế.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ
Loại enum: N/A
Loại đơn vị: VehicleUnit:METER_PER_SEC
Bản phát hành: Android 13

POWER_POLICY_GROUP_REQ

Xác định một yêu cầu để đặt nhóm chính sách nguồn điện dùng để quyết định chính sách nguồn điện mặc định cho mỗi quá trình chuyển đổi trạng thái nguồn điện.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

POWER_POLICY_REQ

Xác định yêu cầu áp dụng chính sách nguồn. VHAL đặt thuộc tính này để thay đổi chính sách về nguồn điện của ô tô. Dịch vụ chính sách về nguồn điện của ô tô sẽ đăng ký tài sản này và thực sự thay đổi chính sách về nguồn điện. Yêu cầu được thực hiện bằng cách đặt VehiclePropValue bằng mã nhận dạng của chính sách nguồn điện được xác định tại /vendor/etc/automotive/power_policy.xml. Nếu mã nhận dạng đã cho không được xác định, thì dịch vụ chính sách nguồn điện của ô tô sẽ bỏ qua yêu cầu và duy trì chính sách nguồn điện hiện tại.

string: "sample_policy_id" // power policy ID

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

POWER_POLICY_GROUP_REQ

Xác định một yêu cầu để đặt nhóm chính sách nguồn điện dùng để quyết định chính sách nguồn điện mặc định cho mỗi quá trình chuyển đổi trạng thái nguồn điện. VHAL đặt thuộc tính này bằng mã nhận dạng của một nhóm chính sách nguồn để đặt chính sách nguồn mặc định được áp dụng khi chuyển đổi trạng thái nguồn. Các nhóm chính sách về nguồn điện được xác định tại /vendor/etc/power_policy.xml. Nếu mã nhận dạng đã cho không được xác định, thì dịch vụ chính sách về nguồn điện của ô tô sẽ bỏ qua yêu cầu. Dịch vụ chính sách sử dụng điện của ô tô sẽ đăng ký thuộc tính này và đặt nhóm chính sách sử dụng điện. Việc áp dụng chính sách nguồn thực tế diễn ra khi trạng thái nguồn của hệ thống thay đổi và có một chính sách nguồn được liên kết hợp lệ cho trạng thái nguồn mới.

string: "sample_policy_group_id" // power policy group ID

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

RANGE_REMAINING

Quãng đường còn lại. Đồng hồ đo lượng nhiên liệu và pin còn lại. Phạm vi còn lại phải tính đến tất cả nguồn năng lượng trong xe. Ví dụ: phạm vi của xe lai là tổng phạm vi dựa trên nhiên liệu và pin. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE vì ứng dụng chỉ đường có thể cập nhật phạm vi nếu ứng dụng có thông tin ước tính chính xác hơn dựa trên tuyến đường sắp tới. Nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ theo ý mình.

Chế độ thay đổi: CONTINUOUS
Chế độ truy cập: READ_WRITE
Loại enum: N/A
Loại đơn vị: VehicleUnit:METER
Bản phát hành: Android 13

READING_LIGHTS_STATE

Trả về trạng thái hiện tại của đèn đọc sách.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleLightState
Loại đơn vị: N/A
Bản phát hành: Android 13

READING_LIGHTS_SWITCH

Công tắc điều khiển đèn đọc sách. Điều này có thể khác với READING_LIGHTS_STATE nếu đèn bật do cửa đang mở hoặc do lệnh thoại. Ví dụ: khi nút chuyển ở vị trí tắt hoặc tự động. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

REAR_FOG_LIGHTS_STATE

Trả về trạng thái hiện tại của đèn sương mù sau. Bạn chỉ có thể triển khai một trong hai FOG_LIGHTS_STATE hoặc REAR_FOG_LIGHTS_STATE. Xem FOG_LIGHTS_STATE

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ
Loại enum: VehicleLightState
Loại đơn vị: N/A
Bản phát hành: Android 13

REAR_FOG_LIGHTS_SWITCH

Chế độ cài đặt mà người dùng muốn. Bạn chỉ được triển khai một trong hai FOG_LIGHTS_SWITCH hoặc REAR_FOG_LIGHTS_SWITCH. Hãy xem FOG_LIGHTS_SWITCH để tìm hiểu thêm. Thuộc tính này được xác định là VehiclePropertyAccess.READ_WRITE, nhưng nhà sản xuất thiết bị gốc (OEM) chỉ có thể triển khai thuộc tính này dưới dạng VehiclePropertyAccess.READ.

Chế độ thay đổi: ON_CHANGE
Chế độ truy cập: READ_WRITE/READ
Loại enum: VehicleLightSwitch
Loại đơn vị: N/A
Bản phát hành: Android 13

REMOVE_USER

Được Hệ thống Android gọi sau khi người dùng Android bị xoá. HAL có thể sử dụng thuộc tính này để xoá người dùng tương đương. Đây là lịch chỉ có thể ghi. Hệ thống Android không mong đợi phản hồi từ HAL. Do đó, yêu cầu này sẽ không bị từ chối. Nếu không thể xoá người dùng HAL tương đương, thì HAL sẽ đánh dấu người dùng đó là không hoạt động hoặc khôi phục theo cách khác.

Yêu cầu được thực hiện bằng cách đặt VehiclePropValue bằng nội dung do RemoveUserRequest xác định. Ví dụ: nếu hệ thống có 3 người dùng (0, 10 và 11) và người dùng 11 đã bị xoá, thì yêu cầu sẽ là:

  • int32[0] 42 // mã yêu cầu
  • int32[1] 11 // (Mã nhận dạng người dùng Android của người dùng đã bị xoá)
  • int32[2] 0 // (Cờ người dùng Android của người dùng đã bị xoá)
  • int32[3] 10 // người dùng hiện tại
  • int32[4] 0 // cờ người dùng hiện tại (không có)
  • int32[5] 2 // số người dùng
  • int32[6] 0 // người dùng đầu tiên (người dùng 0)
  • int32[7] 0 // cờ người dùng đầu tiên (không có)
  • int32[8] 10 // người dùng thứ hai (người dùng 10)
  • int32[9] 0 // cờ người dùng thứ hai (không có)

Chế độ thay đổi: STATIC
Chế độ truy cập: WRITE
Loại enum: Không áp dụng
Loại đơn vị: Không áp dụng
Bản phát hành: Android 13

Từ S đến 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