This page lists the supported system properties in the VHAL. Properties supported by the VHAL
must either be a system property from the list below or a vendor property. In Android 14 and
higher, property definitions are defined at
hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl
.
The property definition is defined in AIDL interface,
android.hardware.automotive.vehicle.property
, which is separate from the VHAL
interface (android.hardware.automotive.vehicle
). VHAL implementations and VHAL
clients must depend on both interfaces.
Auto-generated access modes and change modes
In Android 14 and higher, to support VHAL implementations, we provide auto-generated C++ header files and Java class files with the allowed change mode or access mode for system properties. Vendor VHAL implementations can use these to ensure the property configs meet the specification.
A to D
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE
使用自适应巡航控制 (ACC) 或预测性巡航控制 (PCC) 时测量的与前车的距离。返回前车最后端点与 ACC 车辆最前端点之间的测量距离,单位为毫米。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。minInt32Value
应为 0。maxInt32Value
应填充距离传感器支持的最大范围。此值应为非负值。
如果未检测到前车(即,没有前车;或与前车相距太远,传感器无法检测到),此属性应返回 StatusCode.NOT_AVAILABLE
如果此属性因 CC 处于停用状态(例如 StatusCode#NOT_AVAILABLE_DISABLED
为 false)而不可用,则必须返回 StatusCode#NOT_AVAILABLE_DISABLED
。如果实现了 CRUISE_CONTROL_STATE
且状态设置为 ErrorState
值,则此属性必须返回与 ErrorState
值一致的 StatusCode
。例如,如果 CRUISE_CONTROL_STATE
设置为 ErrorState#NOT_AVAILABLE_SPEED_LOW
,则此属性必须返回 StatusCode#NOT_AVAILABLE_SPEED_LOW
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLIMETER
版本:Android 14
ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP
ACC 或 PCC 的当前目标时间间隔(以毫秒为单位)。 此属性应指定与前车的目标时间间隔。此时间间隔定义为,从前车的最后端点行驶到 ACC 车辆的最前端点所需的时间。与前车的实际时间间隔可能会高于或低于此值。
应在 configArray 中按升序指定可为目标时间间隔设置的值。所有值都必须为正数。如果该属性可写入,则所有值都必须可写入。如果此属性因 CC 处于停用状态(例如 CRUISE_CONTROL_ENABLED
为 false)而不可用,则必须返回 StatusCode#NOT_AVAILABLE_DISABLED
如果实现了 CRUISE_CONTROL_STATE
且状态设置为 ErrorState
值,则此属性必须返回与 ErrorState
值一致的 StatusCode
。例如,如果 CRUISE_CONTROL_STATE
设置为 ErrorState#NOT_AVAILABLE_SPEED_LOW
,则此属性必须返回 StatusCode#NOT_AVAILABLE_SPEED_LOW
此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但原始设备制造商 (OEM) 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 14
ABS_ACTIVE
自动制动系统 (ABS) 处于启用状态。当 ABS 处于启用状态时设置为 true,当 ABS 处于关闭状态时重置为 false。此属性可根据 ABS 系统的实时状态间歇性设置(脉冲式)。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
ANDROID_EPOCH_TIME
采用纪元时间编码的当前日期和时间(以毫秒为单位)。此值表示自世界协调时间 (UTC) 1970 年 1 月 1 日以来经过的毫秒数。
此值表示自世界协调时间 (UTC) 1970 年 1 月 1 日以来经过的毫秒数。
如果 VHAL 支持此属性,CarServices 会向此值执行 WRITE
,以向 VHAL 提供 Android 系统的时间。这对于使其他车载系统(仪表盘时钟)与 Android 时间保持同步非常有用。
AAOS 会在启动期间对此属性执行一次 WRITE
,之后仅会在时间源变化被传播时才会执行 WRITE
。AAOS 会正确填充 VehiclePropValue.timestamp。AAOS 不会因时间自然流逝而发送更新。int64Values[0] 表示提供的 Unix 时间(以毫秒为单位)。
该属性可能需要超过 0 毫秒的时间才能通过堆栈传播,而拥有带着时间戳的属性有助于减少时移。因此,对于向该属性执行的所有 WRITE
,时间戳都可用于消除这种时移:
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 13
AP_POWER_BOOTUP_REASON
用于报告当前开机原因的属性。这是一个 STATIC
属性,在设备关机前的整个时间段内都不会改变。例如,在系统因车门解锁而自动开机后,即使用户再次按下电源按钮,开机原因仍会保持为 VehicleApPowerBootupReason#USER_UNLOCK
,int32Values[0]
必须为 VehicleApPowerBootupReason
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
AP_POWER_STATE_REPORT
用于报告应用处理器电源状态的属性。 假设 AP 的电源状态由单独的电源控制器控制。
int32Values[0]
VehicleApPowerStateReport 枚举值int32Values[1]
唤醒所需的时间,以毫秒 (ms) 为单位,如有必要的话(否则为 0)
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
AP_POWER_STATE_REQ
用于控制应用处理器电源状态的属性。 假设 AP 的电源状态由单独的电源控制器控制。对于配置信息,VehiclePropConfig.configArray
必须在 VehicleApPowerStateConfigFlag
中具有位标志组合值
int32Values[0]
VehicleApPowerStateReq 枚举值int32Values[1]
与每个状态相关的额外参数;如果未使用,则为 0。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
AUTOMATIC_EMERGENCY_BRAKING_ENABLED
启用或停用自动紧急制动 (AEB)。
设置为 true 可启用 AEB,设置为 false 可停用 AEB。当 AEB 处于启用状态时,车辆中的 ADAS 系统应保持开启并进行监控,以避免可能发生的碰撞。此属性应仅适用于车速较高的应用场景。如需启用低速自动紧急制动功能,应使用 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED
。
一般来说,AUTOMATIC_EMERGENCY_BRAKING_ENABLED
应始终返回 true 或 false。如果该功能因某种临时状态(例如车速过低)而不可用,则必须通过 AUTOMATIC_EMERGENCY_BRAKING_STATE
属性中的 ErrorState
值传达此信息。
此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
AUTOMATIC_EMERGENCY_BRAKING_STATE
自动紧急制动 (AEB) 状态。返回 AEB 的当前状态。此属性必须始终返回 AutomaticEmergencyBrakingState 或 ErrorState
中定义的有效状态。它不得通过 StatusCode
显示错误,而必须改用受支持的错误状态。此属性应仅适用于车速较高的应用场景。如需表示低速自动紧急制动系统的状态,应使用 LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE
。
如果 AEB 在启用刹车之前包含前向碰撞警告,这些警告必须通过前向碰撞警告 (FCW) 属性显示。
对于全局区域 ID (0),必须定义 StatusCode#VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 AutomaticEmergencyBrakingState
(包括不推荐的 OTHER
)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ForwardCollisionWarningState/ErrorState
单位类型:无
版本:Android 14
BLIND_SPOT_WARNING_ENABLED
启用和停用盲点警告 (BSW)。 设置为 true 可启用 BSW,设置为 false 可停用 BSW。当 BSW 处于启用状态时,车辆中的 ADAS 系统应保持开启,并监控车辆的盲点区域是否有物体。
一般来说,BLIND_SPOT_WARNING_ENABLED
应始终返回 true 或 false。 如果该功能因某种临时状态(例如车速过低)而不可用,则必须通过 BLIND_SPOT_WARNING_STATE
属性中的 ErrorState
值传达此信息。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
BLIND_SPOT_WARNING_STATE
盲点警告 (BSW) 状态。 返回 BSW 的当前状态。此属性必须始终返回 BlindSpotWarningState
或 ErrorState
中定义的有效状态。它不得通过 StatusCode
显示错误,而必须改用受支持的错误状态。
对于每个受支持的区域 ID,必须定义 StatusCode#VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 BlindSpotWarningState
(包括不推荐的 OTHER
)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:BlindSpotWarningState/ErrorState
单位类型:无
版本:Android 14
CABIN_LIGHTS_STATE
返回车厢灯的状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
CABIN_LIGHTS_SWITCH
车厢灯开关。 控制车厢灯的实体开关的位置。如果灯开着是因为门打开了或因为语音指令,则可能与 CABIN_LIGHTS_STATE
不同。例如,当开关处于关闭或自动位置时。
此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
CLUSTER_DISPLAY_STATE
更改仪表板屏幕的状态。
- 边界:用于渲染仪表集群 activity 的区域。
- 边衬区:activity 不应在该区域放置重要信息。
可能的值为:
int32[0]
开启、关闭:0 - 关闭,1 - 开启,-1 - 随意int32[1]
边界 - 左:正数 - 左侧位置(以像素为单位)-1 - 随意(应设置所有边界字段)int32[2]
边界 - 上:与“左”格式相同int32[3]
边界 - 右:与“左”格式相同int32[4]
边界 - 下:与“左”格式相同int32[5]
边衬区 - 左:正数 - 实际左边衬区值(以像素为单位)-1 - 随意(应将所有边衬区字段设置为“随意”)int32[6]
边衬区 - 上:与“左”格式相同int32[7]
边衬区 - 右:与“左”格式相同int32[8]
边衬区 - 下:与“左”格式相同
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
CLUSTER_NAVIGATION_STATE
通知当前导航状态。字节:NavigationStateProto 的序列化消息。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:
单位类型:无
版本:Android 13
CLUSTER_REPORT_STATE
报告当前显示状态和 ClusterUI 状态。
ClusterHome
在处理 CLUSTER_SWITCH_UI
、CLUSTER_DISPLAY_STATE
时发送此消息。此外,ClusterHome
应在首次启动时发送此消息。当 ClusterOS 收到此消息时,如果内部预期与收到的消息不同,那么它应会再次发送 CLUSTER_SWITCH_UI
、CLUSTER_DISPLAY_STATE
以匹配状态。
int32[0]
开启/关闭:0 - 关闭,1 - 开启int32[1]
边界 - 左int32[2]
边界 - 上int32[3]
边界 - 右int32[4]
边界 - 下int32[5]
边衬区 - 左int32[6]
边衬区 - 上int32[7]
边衬区 - 右int32[8]
边衬区 - 下int32[9]
全屏或主屏幕中的 ClusterUI 类型。0 表示ClusterHome
。其他值则按照 OEM 的定义。int32[10]
子屏幕中的 ClusterUI 类型,如果当前显示两个界面的话。-1 表示该区域不再使用。字节:表示 ClusterUI 可用性的数组。0 表示不可用,1 表示可用。例如,如果汽车支持 OEM 定义的三个 ClusterUI(例如 HOME、MAPS 和 CALL),并且仅在移动网络可用时支持 CALL 界面。然后,如果网络可用,它发送 [1 1 1];如果网络不可用,则发送 [1 1 0]。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
CLUSTER_REQUEST_DISPLAY
用于更改仪表板显示屏状态以显示某些 ClusterUI 的请求。 当前显示状态为关闭时,ClusterHome
会将此消息发送到 ClusterOS,请求开启显示屏以显示特定的 ClusterUI。ClusterOS 应使用 CLUSTER_DISPLAY_STATE
响应此请求
int32
要显示的 ClusterUI 类型
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
CLUSTER_SWITCH_UI
在仪表板显示屏中启动 ClusterUI。
int32
要显示的 ClusterUI 类型,0 表示ClusterHome
,即仪表集群显示屏的主屏幕,并为仪表集群显示屏提供默认界面和一种启动器功能。其他值则按照 OEM 的定义。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
CREATE_USER
创建 Android 用户后由 Android 系统调用。 HAL 可以使用此属性来创建其相应的用户。这是一个异步请求:Android 通过设置 VehiclePropValue 发出请求,HAL 必须通过属性更改进行响应,指明请求是成功还是失败。如果失败,Android 系统会移除该用户。
请求的格式由 CreateUserRequest 定义,响应的格式由 CreateUserResponse 定义。例如,如果系统有两位用户(0 和 10),并且创建了第三位用户(即临时访客),请求将如下所示:
int32[0]
42 // 请求 IDint32[1]
11 // 所创建用户的 Android IDint32[2]
6 // 所创建用户的 Android 标志(临时访客)int32[3]
10 // 当前用户int32[4]
0 // 当前用户标志(无)int32[5]
3 // 用户数量int32[6]
0 // 第一位用户(用户 0)int32[7]
0 // 第一位用户标志(无)int32[8]
10 // 第二位用户(用户 10)int32[9]
0 // 第二位用户标志(无)int32[10]
11 // 第三位用户(用户 11)int32[11]
6 // 第三位用户标志(临时访客)字符串:"ElGuesto" // 新用户的名称
如果请求成功,HAL 会返回:
int32[0]
42 // 请求 IDint32[1]
1 // CreateUserStatus::SUCCESS
但如果失败,则返回:
int32[0]
42 // 请求 IDint32[1]
2 // CreateUserStatus::FAILURE 字符串:"D'OH!" //
含义是黑箱,并传递给调用方(例如设置界面),后者会执行适当的操作。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
CRITICALLY_LOW_TIRE_PRESSURE
此属性表示每个轮胎的极低胎压阈值。它表示何时更换或修理轮胎。此值必须小于或等于 TIRE_PRESSURE 中的 minFloatValue。最小和最大属性值(minFloatValue 和 maxFloatValue)不适用于此属性。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOPASCAL
版本:Android 13
CRUISE_CONTROL_COMMAND
WRITE
巡航控制 (CC) 指令。如需详细了解每个受支持的指令,请参阅 CruiseControlCommand。对于全局区域 ID (0),必须定义 StatusCode#VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 CruiseControlState
的所有状态。通过此属性发送的任何不受支持的指令都必须返回 StatusCode#INVALID_ARG
。如果此属性因 CC 处于停用状态(例如 CRUISE_CONTROL_ENABLED
为 false)而不可用,则必须返回 StatusCode#NOT_AVAILABLE_DISABLED
。如果实现了 CRUISE_CONTROL_STATE
且状态设置为 ErrorState
值,则此属性必须返回与 ErrorState
值一致的 StatusCode
。例如,如果 CRUISE_CONTROL_STATE
设置为 ErrorState#NOT_AVAILABLE_SPEED_LOW
,则此属性必须返回 StatusCode#NOT_AVAILABLE_SPEED_LOW
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:CruiseControlCommand
单位类型:无
版本:Android 14
CRUISE_CONTROL_ENABLED
启用或停用巡航控制 (CC)。 设置为 true 表示启用 CC,设置为 false 表示停用 CC。此属性由所有形式的 CruiseControlType 共享。当 CC 处于启用状态时,车辆中的 ADAS 系统应处于开启状态并响应指令。一般来说,CRUISE_CONTROL_ENABLED
应始终返回 true 或 false。如果该功能因某种临时状态(例如车速过低)而不可用,则必须通过 CRUISE_CONTROL_STATE
属性中的 ErrorState
值传达此信息。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
CRUISE_CONTROL_STATE
巡航控制 (CC) 的当前状态。 此属性会返回 CC 当前的状态。通常,此属性应返回 CruiseControlState 或 ErrorState
中定义的有效状态。例如,如果该功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValue
数组,除非同时支持 CruiseControlState(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:CruiseControlState/ErrorState
单位类型:无
版本:Android 14
CRUISE_CONTROL_TARGET_SPEED
巡航控制 (CC) 的当前目标速度。 OEM 应为此属性设置 minFloatValue 和 maxFloatValue 值,以定义最小和最大目标速度值。这些值必须是非负值。maxFloatValue 表示目标速度的上限。minFloatValue 表示目标速度的下限。如果此属性因 CC 处于停用状态(例如 CRUISE_CONTROL_ENABLED
为 false)而不可用,则必须返回 StatusCode#NOT_AVAILABLE_DISABLED
。如果实现了 CRUISE_CONTROL_STATE
且状态设置为 ErrorState 值,则此属性必须返回与 ErrorState 值一致的 StatusCode
。例如,如果 CRUISE_CONTROL_STATE
设置为 ErrorState#NOT_AVAILABLE_SPEED_LOW
,则此属性必须返回 StatusCode#NOT_AVAILABLE_SPEED_LOW
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:METER_PER_SEC
版本:Android 14
CRUISE_CONTROL_TYPE
巡航控制 (CC) 的当前类型。 当 CRUISE_CONTROL_ENABLED
为 true 时,此属性会返回当前启用的 CC 类型(例如标准 CC 和自适应 CC、预测性 CC)。通常,此属性应返回 CruiseControlType
或 ErrorState
中定义的有效状态。例如,如果该功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。对于全局区域 ID (0),必须定义 StatusCode#VehicleAreaConfig#supportedEnumValues
数组,除非支持 CruiseControlType
(包括不推荐的 OTHER
)和 ErrorState
的所有状态。尝试将 CruiseControlType#OTHER
或 ErrorState
WRITE
到此属性会抛出 IllegalArgumentException
。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:CruiseControlType
ErrorState
单位类型:无
版本:Android 14
CURRENT_GEAR
当前档位。在非手动情况下,所选档位可能与当前档位不符。例如,所选档位是 GEAR_DRIVE
,而当前档位是 GEAR_1
、GEAR_2
等档位中的一个,这反映了变速器当前运行的实际档位。配置数据中的值必须表示此车辆的受支持档位列表。例如,自动变速器的配置数据必须包含 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...}
,而手动变速器的列表必须为 {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
。此列表不必与 GEAR_SELECTION
中报告的受支持档位列表相同。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleGear
单位类型:无
版本:Android 13
CURRENT_POWER_POLICY
向 VHAL 层通知当前电源政策。 当前电源政策发生变化时,汽车电源政策服务会设置此属性
string: "sample_policy_id" // power policy ID
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
DISABLED_OPTIONAL_FEATURES
允许在 VHAL 中停用可选功能。此属性会报告应停用的可选功能。系统的所有允许可选功能均在汽车服务叠加层中声明,即 config_allowed_optional_car_features
。此属性允许停用叠加层中定义的功能。如果没有此属性,叠加层中声明的所有功能都将被启用。值 READ
应包含所有已停用的功能,并以英文逗号 (,
) 分隔。例如:com.android.car.user.CarUserNoticeService,storage_monitoring
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
DISPLAY_BRIGHTNESS
用于表示显示屏亮度的属性。 某些车辆只有一个用于控制所有显示屏亮度的控件。此属性用于共享对该控件的更改。如果配备了亮度受单独控制的显示屏,汽车必须使用 PER_DISPLAY_BRIGHTNESS
。应仅实现 DISPLAY_BRIGHTNESS
和 PER_DISPLAY_BRIGHTNESS
中的一个。如果这两者都可用,AAOS 会使用 PER_DISPLAY_BRIGHTNESS
。如果此属性可写入,Android 可以在用户通过“设置”更改显示屏亮度时设置此值。如果仅为 READ
,用户仍可通过“设置”更改显示屏亮度,但更改不得反映在其他显示屏上。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
DISTANCE_DISPLAY_UNITS
显示距离单位。 表示汽车使用哪些单位向用户显示距离。例如,英里、米或公里。距离单位在 VehicleUnit 中定义。VehiclePropConfig.configArray 用于表示支持的距离显示单位。例如,configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE
。如果更新 DISTANCE_DISPLAY_UNITS
会影响其他 *_DISPLAY_UNITS
属性的值,则必须更新它们的值,并也将其传达给 AAOS 框架。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
DOOR_CHILD_LOCK_ENABLED
已启用车门童锁功能。 如果已启用车门童锁功能,则返回 true;如果已停用,则返回 false。如果已启用,门就无法从内部打开。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
DOOR_LOCK
门锁为 true 表示门已上锁。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
DOOR_MOVE
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示车门在打开时的最快移动速度。minInt32Value
表示车门在关闭时的最慢移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。门达到位置极限后,该值必须重置为 0。如果 DOOR_MOVE
的值为 0,则表示目前没有发生任何移动。
此属性不采用任何特定单位,而是采用相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
DOOR_POS
车门位置。 必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。
必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示车门已关闭。minInt32Value
必须是 0。maxInt32Value
表示车门已完全打开。介于 minInt32Value
和 maxInt32Value
之间的值表示门处于关闭位置和完全打开位置之间的过渡状态。
此属性不采用任何特定单位,而是采用相对位置的指定范围。某些车辆(小型货车)可以通过电动方式打开车门。因此,具备 WRITE
此属性的能力。此属性定义为 VehiclePropertyAccess
READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
E to G
ELECTRONIC_TOLL_COLLECTION_CARD_STATUS
Electronic Toll Collection card status. This property indicates the status of ETC card in this
vehicle. If the head unit is aware of an ETC card attached to the vehicle,
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
gives that status of the card. Otherwise, this
property should be UNAVAILABLE
Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardStatus
Unit type: N/A
Release: Android 13
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
Electronic Toll Collection (ETC) card type. This property indicates the type of ETC card in this
vehicle. If the head unit is aware of an ETC card attached to the vehicle, this property should
return the type of card attached; otherwise, this property should be UNAVAILABLE
Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardType
Unit type: N/A
Release: Android 13
EMERGENCY_LANE_KEEP_ASSIST_ENABLED
Enable or disable Emergency Lane Keep Assist (ELKA). Set true to enable ELKA and false to
disable ELKA. When ELKA is enabled, the ADAS system in the vehicle should be on and monitoring
for unsafe lane changes by the driver. When an unsafe maneuver is detected, ELKA alerts the
driver and applies steering corrections to keep the vehicle in its original lane.
In general, EMERGENCY_LANE_KEEP_ASSIST_ENABLED
should always return true or false.
If the feature is not available due to some temporary state, such as the vehicle speed being too
low, that information must be conveyed through the ErrorState
values in the
EMERGENCY_LANE_KEEP_ASSIST_STATE
property. 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
EMERGENCY_LANE_KEEP_ASSIST_STATE
Emergency Lane Keep Assist (ELKA) state. Returns the current state of ELKA. Generally, this
property should return a valid state defined in the EmergencyLaneKeepAssistState
or
ErrorState
For example, if the feature is not available due to some temporary state, that information
should be conveyed through ErrorState
For the global area ID (0), the
VehicleAreaConfig#supportedEnumValues
array must be defined unless all states of
EmergencyLaneKeepAssistState
(including OTHER, which is not recommended) and
ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EmergencyLaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14
ENGINE_COOLANT_TEMP
Temperature of engine coolant.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
ENGINE_IDLE_AUTO_STOP_ENABLED
Represents feature for engine idle automatic stop. If true, the vehicle may automatically shut
off the engine when it is not needed and then automatically restart it when needed.
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
ENGINE_OIL_LEVEL
Engine oil level.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleOilLevel
Unit type: N/A
Release: Android 13
ENGINE_OIL_TEMP
Temperature of engine oil.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
ENGINE_RPM
Engine revolutions per minute (RPM).
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:RPM
Release: Android 13
ENV_OUTSIDE_TEMPERATURE
Outside temperature. This property must communicate the temperature reading of the environment outside the vehicle. If there are multiple sensors for measuring the outside temperature, this property should be populated with the mean or a meaningful weighted average of the readings that best represent the temperature of the outside environment.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
EV_BATTERY_DISPLAY_UNITS
EV battery units for display. Indicates which units the car is using to display EV battery
information to the user. For example, watt-hours (Wh), kilowatt-hours (kWh) or ampere-hours (Ah).
VehiclePropConfig.configArray
is used to indicate the supported electrical energy.
units. Electrical energy units are defined in VehicleUnit
For example:
configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR
If updating EV_BATTERY_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 VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
EV_BATTERY_INSTANTANEOUS_CHARGE_RATE
EV instantaneous charge rate in milliwatts. A positive value indicates the battery is being charged. A negative value indicates the battery being discharged.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MW
Release: Android 13
EV_BATTERY_LEVEL
Returns the current battery level, whether EV or hybrid. This value will not exceed
EV_CURRENT_BATTERY_CAPACITY
To calculate the battery percentage, use
(EV_BATTERY_LEVEL
, EV_CURRENT_BATTERY_CAPACITY
)*100.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13
EV_BRAKE_REGENERATION_LEVEL
Regenerative braking level of a electronic vehicle. The maxInt32Value
and
minInt32Value
in VehicleAreaConfig must be defined. All values between
minInt32Value
and maxInt32Value
must be
supported. The minInt32Value
must be 0. The maxInt32Value
indicates
the setting for the maximum amount of energy regenerated from braking. The
minInt32Value
indicates the setting for no
regenerative braking. This property is a more granular form of
EV_REGENERATIVE_BRAKING_STATE
It allows the user to set a more specific level of regenerative braking if the states in
EvRegenerativeBrakingState
are not granular enough for the OEM. 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
EV_CHARGE_CURRENT_DRAW_LIMIT
Indicates the maximum current draw threshold for charging set by the user.
EvChargeState::configArray[0]
is
used to specify the max current draw allowed by the vehicle in Amperes. This property is defined
as VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: VehicleUnit:AMPERE
Release: Android 13
EV_CHARGE_PERCENT_LIMIT
Indicates the maximum charge percent threshold set by the user. Indicates the maximum charge
percent threshold set by the user. Returns a float value from 0 to 100.
configArray is used to specify the valid values. For example, if the vehicle supports the
following charge percent limit values: [20, 40, 60, 80, 100] then the configArray should be
{20, 40, 60, 80, 100} If the configArray is empty then all values from 0 to 100 must be valid.
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
EV_CHARGE_PORT_CONNECTED
EV charge port connected. If the vehicle has multiple charging ports, this property must return
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_PORT_OPEN
EV charge port open. If the vehicle has multiple charging ports, this property must return
true if any of the charge ports are 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_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_STATE
Charging state of the car
Returns the current charging state of the car.
If the vehicle has a target charge percentage other than 100, this property must return
EvChargeState::STATE_FULLY_CHARGED
when the battery charge level has reached the
target level. See EvChargeState::EV_CHARGE_PERCENT_LIMIT
for more context.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EvChargeState
Unit type: N/A
Release: Android 13
EV_CHARGE_SWITCH
Start or stop charging the EV battery. The setting wanted by the user. Setting this property
to true starts the battery charging, and false to stop charging. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_TIME_REMAINING
Estimated charge time remaining in seconds. Returns 0 if the vehicle is not charging.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:SECS
Release: Android 13
EV_CURRENT_BATTERY_CAPACITY
Current usable battery capacity for and EV or hybrid vehicle. Returns the actual value of
battery capacity, when EV or hybrid. This property captures the real-time usable battery capacity
taking into account factors such as battery aging and temperature dependency. This value might
differ from INFO_EV_BATTERY_CAPACITY
because INFO_EV_BATTERY_CAPACITY
returns the nominal battery capacity from when the vehicle was new.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 14
EV_REGENERATIVE_BRAKING_STATE
Regenerative braking or one-pedal drive setting of the car. Returns the current setting
associated with the regenerative braking setting in the car. If the OEM requires more setting
than those provided in EvRegenerativeBrakingState
, the
EV_BRAKE_REGENERATION_LEVEL
property can be used instead, which provides more
granular information.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EvRegenerativeBrakingState
Unit type: N/A
Release: Android 13
EV_STOPPING_MODE
Represents property for the current stopping mode of the vehicle. For the global area ID (0),
the VehicleAreaConfig#supportedEnumValues
must be defined unless all enum values of
EvStoppingMode
are supported. The EvStoppingMode
enum may be extended to
include more states in the future. 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: EvStoppingMode
Unit type: N/A
Release: Android 14
EVS_SERVICE_REQUEST
Enable and request an EVS service. The property provides a way to trigger EVS services. The VHAL should use this property to request Android to start or stop EVS service.
int32Values[0]
Type of EVS service. The value must be and enum in EvsServiceType.int32Values[1]
State of the EVS service. The value must be one of enums in EvsServiceState.
For example, to enable rear view EVS service, Android can set the property value as:
[EvsServiceType::REAR_VIEW, EvsServiceState::ON]
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EXTERNAL_CAR_TIME
Current date and time suggestion for the cr, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC. This property signals a change in CarTime to Android. If the property is supported, VHAL must report the most accurate current CarTime when this property is read, and publish a change to this property when the CarTime value has changed.
An on-change event for this property must be published when CarTime changes for any reason other than the natural elapse of time (time delta smaller than 500ms should not trigger an on change event). Android will read and subscribe to this property to fetch time from VHAL. This can be useful to synchronize Android's time with other vehicle systems (dash clock). int64Values[0] = provided Epoch time (in milliseconds) Whenever a new Value for the property is received, AAOS creates and sends an ExternalTimeSuggestion to the TimeDetectorService.
If other sources do not have a higher priority, Android will use this to set the system time. For information on how to adjust time source priorities and how time suggestions are handled (including how Android handles gitter, drift, and minimum resolution), see the Time Detector Service documentation.
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
We strongly recommend that this propertynot be used to retrieve time from ECUs using protocols (such as GNSS, NTP, and Telephony). Since these protocols are already supported by Android, we recommend you use Android systems instead of wiring through the VHAL with this property.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13
FOG_LIGHTS_STATE
Fog light state. Return the current state of fog lights. If the:
- Car has front and rear fog lights. Front and rear fog lights can only be controlled
together.
FOG_LIGHTS_STATE
must be implemented.FRONT_FOG_LIGHTS_STATE
andREAR_FOG_LIGHTS_STATE
must not be implemented. - Front and rear fog lights can only be controlled independently.
FOG_LIGHTS_STATE
must not be implemented andFRONT_FOG_LIGHTS_STATE
andREAR_FOG_LIGHTS_STATE
must be implemented. - Car has only front fog lights. Only one of
FOG_LIGHTS_STATE
orFRONT_FOG_LIGHTS_STATE
must be implemented (not both).REAR_FOG_LIGHTS_STATE
must not be implemented. - Car has only rear fog lights. Only one of
FOG_LIGHTS_STATE
orREAR_FOG_LIGHTS_STATE
must be implemented (not both).FRONT_FOG_LIGHTS_STATE
must not be implemented.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
FOG_LIGHTS_SWITCH
Fog light switch. The setting wanted by the user. If the:
- Car has both front and rear fog lights. If front and rear fog lights can only be controlled
together,
FOG_LIGHTS_SWITCH
must be implemented.FRONT_FOG_LIGHTS_SWITCH
andREAR_FOG_LIGHTS_SWITCH
must not be implemented. - Front and rear fog lights can only be controlled independently.
FOG_LIGHTS_SWITCH
must not be implemented.FRONT_FOG_LIGHTS_SWITCH
andREAR_FOG_LIGHTS_SWITCH
must be implemented. - Car has only front fog lights. Only one of
FOG_LIGHTS_SWITCH
orFRONT_FOG_LIGHTS_SWITCH
must be implemented (not both).REAR_FOG_LIGHTS_SWITCH
must not be implemented. - Car has only rear fog lights. Only one of
FOG_LIGHTS_SWITCH
orREAR_FOG_LIGHTS_SWITCH
must be implemented (and not both).FRONT_FOG_LIGHTS_SWITCH
must not be implemented.
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
FORWARD_COLLISION_WARNING_ENABLED
Enable or disable Forward Collision Warning (FCW). Set to true to enable FCW and false to
disable FCW. When FCW is enabled, the ADAS system in the vehicle should be turned on and
monitoring for potential collisions. In general, FORWARD_COLLISION_WARNING_ENABLED
should always return true or false. If the feature is not available due to some temporary state,
such as the vehicle speed being too low, that information must be conveyed through the
ErrorState
values in the FORWARD_COLLISION_WARNING_STATE
property.
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
FORWARD_COLLISION_WARNING_STATE
Forward Collision Warning (FCW) state. Returns the current state of FCW. This property must
always return a valid state defined in ForwardCollisionWarningState
or
ErrorState
It must not
surface errors through StatusCode and must use the supported error states instead.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both ForwardCollisionWarningState
(including OTHER,
which is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14
FRONT_FOG_LIGHTS_STATE
Front fog lights state. Returns the current state of the front fog lights. Only one of
FOG_LIGHTS_STATE
or FRONT_FOG_LIGHTS_STATE
must be implemented.
Refer to the documentation on FOG_LIGHTS_STATE
for more information.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
FRONT_FOG_LIGHTS_SWITCH
Front fog lights switch. The setting wanted by the user. Only one of
FOG_LIGHTS_SWITCH
or FRONT_FOG_LIGHTS_SWITCH
must be implemented. Refer
to the documentation on FOG_LIGHTS_SWITCH
for more information.
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
FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME
Fuel consumption units for display.
Indicates type of units the car is using to display fuel consumption information to user
True indicates units are distance over volume such as MPG. False indicates units are volume
over distance such as L/100KM. 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
FUEL_DOOR_OPEN
Fuel door open. This property must communicate if the fuel door on the vehicle is open or not.
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 EV_CHARGE_PORT_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
FUEL_LEVEL
Fuel remaining in the vehicle, in milliliters. This property must communicate the current
amount of fuel remaining in the vehicle in milliliters. This property does not apply to electric
vehicles. That is, if INFO_FUEL_TYPE
only contains
FuelType::FUEL_TYPE_ELECTRIC
, this property must not be implemented. For EVs, implement
EV_BATTERY_LEVEL
Value can not exceed INFO_FUEL_CAPACITY
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13
FUEL_LEVEL_LOW
Warning for fuel low level. This property corresponds to the low fuel warning on the dashboard.
Once FUEL_LEVEL_LOW
is set, it should not be cleared until more fuel is added to the
vehicle. This property can account for all fuel sources in a vehicle. For example, in a:
- Gas-powered vehicle, this property is based solely on gas level.
- Battery powered vehicle, this property is based only on battery level.
- Hybrid vehicle, this property may can based on a combination of gas and battery levels, at the OEM's discretion.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
FUEL_VOLUME_DISPLAY_UNITS
Fuel volume units for display. Indicates which units the car is using to display fuel volume
to the user. For example, Liter or Gallon. VehiclePropConfig.configArray
is used to
indicate the supported fuel volume display units. Volume units are defined in
VehicleUnit
For example, configArray[0] = LITER configArray[1] = GALLON
If updating FUEL_VOLUME_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS
properties,
then their values must be updated and communicated to the AAOS framework, too.
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: VehicleUnit
Unit type: N/A
Release: Android 13
GEAR_SELECTION
The gear selected by the user. Values in the config data must represent the list of supported
gears for this vehicle. For example, config data for an automatic transmission must contain
{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK,
and for
manual transmission the list must be GEAR_DRIVE
, GEAR_1, GEAR_2,...}{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
For an automatic transmission vehicle that allows the driver to select specific gears on demand
(for example, manual mode), the value for GEAR_SELECTION
must be set to the specific
gear selected by the driver instead of GEAR_DRIVE
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13
GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
EU's General security regulation compliance requirement. Returns a value to indicate if general security regulation compliance is required and, if so, the type of requirement.
Change mode: STATIC
Access mode: READ
Enum type: GsrComplianceRequirementType
Unit type: N/A
Release: Android 14
GLOVE_BOX_DOOR_POS
Property that represents the current position of the glove box door. The
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates that the glove box door is closed.
The minInt32Value
must be 0. The maxInt32Value
indicates that the
glove box door is in the fully open position. Values in between minInt32Value
and
maxInt32Value
indicate a transition state between the closed and fully open
positions.
This property is not in any particular unit but in a specified range of relative positions.
The area ID must match the seat by which the glove box is intended to be used. For example if the
front right dashboard has a glove box embedded in it, then the area ID should be
SEAT_1_RIGHT
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
GLOVE_BOX_LOCKED
Lock or unlock the glove box. If true, the glove box is locked. If false, the glove box is
unlocked. The area ID must match the seat by which the glove box is intended to be used. For
example, if the front right dashboard has an embedded glove box embedded, then the area ID should
be VehicleAreaSeat#ROW_1_RIGHT
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
H to 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 speedmaxInt32Value
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:
- 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, thenHVAC_POWER_ON
must be mapped to [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
- 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, thenHVAC_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_UNITS
properties, 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] * 10configArray[1]
[upper bound of supported temperature in Celsius] * 10configArray[2]
[increment in Celsius] * 10configArray[3]
[lower bound of the supported temperature in Fahrenheit] * 10configArray[4]
[upper bound of the supported temperature in Fahrenheit] * 10configArray[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 forfloatValues[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 byCustomInputType.CUSTOM_EVENT_F1
up toCustomInputType.CUSTOM_EVENT_F10
They represent the custom event to be defined by OEM partners.int32Values[1]
Target display type defined inVehicleDisplay
Events not tied to a specific display must be sent toVehicleDisplay#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 VehicleHwKeyInputActionint32Values[1]
Key code, must use standard android key codeint32Values[2]
Target display defined inVehicleDisplay
Events not tied to specific display must be sent toVehicleDisplay#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 byVehicleDisplay
such as:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
int32array[1]
Key code, must use the standard Android key code, such asKEYCODE_HOME
andKEYCODE_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 byVehicleDisplay
, 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 Nint32array[5+N:5+2*N-1]
Tool type, length N. As defined inVehicleHwMotionToolType
, such as:
VehicleHwMotionToolType::TOOL_TYPE_FINGER
,VehicleHwMotionToolType::TOOL_TYPE_STYLUS
floatArray[0:N-1]
x data, length NfloatArray[N:2*N-1]
y data, length NfloatArray[2*N:3*N-1]
pressure data, length NfloatArray[3*N:4*N-1]
size data, length Nint64array[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 inVehicleDisplay
Events not tied to a specific display must be sent toVehicleDisplay#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
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 }
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)
int32[0] 42 // must match the request id from the request int32[1] 2 // action = InitialUserInfoResponseAction::CREATE int32[2] -10000 // userToSwitchOrCreate.userId (not used as user will be created) int32[3] 8 // userToSwitchOrCreate.flags = ADMIN string: "||Owner" // userLocales + separator + userNameToCreate
InitialUserInfoResponseAction:CREATE
). 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 to R
LANE_CENTERING_ASSIST_COMMAND
Lane Centering Assist (LCA) commands. Commands to activate and suspend LCA.
When the command ACTIVATE
from LaneCenteringAssistCommand
is sent,
LANE_CENTERING_ASSIST_STATE
must be set to LaneCenteringAssistState#ACTIVATION_REQUESTED
When the
ACTIVATE
command succeeds,
LANE_CENTERING_ASSIST_STATE
must be set to LaneCenteringAssistState#ACTIVATED
When the command
DEACTIVATE
from LaneCenteringAssistCommand
succeeds,
LANE_CENTERING_ASSIST_STATE
must be set to
LaneCenteringAssistState#ENABLED
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
must be defined unless all
enum values of LaneCenteringAssistCommand
are supported. When this property is not available
because LCA is disabled (for example, LANE_CENTERING_ASSIST_ENABLED
is false), this
property must
return StatusCode#NOT_AVAILABLE_DISABLED
If LANE_CENTERING_ASSIST_STATE
is
implemented and the
state is set to an ErrorState
value, then this property must return a StatusCode
that aligns with
the ErrorState
value. For example, if LANE_CENTERING_ASSIST_STATE
is set to
ErrorState#NOT_AVAILABLE_SPEED_LOW
then this property must return
StatusCode#NOT_AVAILABLE_SPEED_LOW
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: LaneCenteringAssistCommand
Unit type: N/A
Release: Android 14
LANE_CENTERING_ASSIST_ENABLED
Enable or disable Lane Centering Assist (LCA). Set true to enable LCA and false to disable LCA. When LCA is enabled, the ADAS system in the vehicle should be turned on and waiting for an activation signal from the driver. Once the feature is activated, the ADAS system should be steering the vehicle to keep it centered in its current lane.
This is different from Lane Keep Assist (LKA) which monitors if the driver unintentionally
drifts toward or over the lane marking. If an unintentional lane departure is detected, the
system applies steering control to return the vehicle into the current lane.
In general, LANE_CENTERING_ASSIST_ENABLED
should always return true or false. If the
feature is not available due to some temporary state, such as the vehicle speed being too low or
too high, that information must be conveyed through the ErrorState
values in the
LANE_CENTERING_ASSIST_STATE
property.
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
LANE_CENTERING_ASSIST_STATE
Lane Centering Assist (LCA) state. Returns the current state of LCA. This property must always
return a valid state defined in LaneCenteringAssistState
or ErrorState
It must not surface errors through StatusCode
and must use the supported error
states instead.
If LCA includes lane departure warnings, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both LaneCenteringAssistState
(including OTHER, which
is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneCenteringAssistState/ErrorState
Unit type: N/A
Release: Android 14
LANE_DEPARTURE_WARNING_ENABLED
Enable or disable Lane Departure Warning (LDW). Set true to enable LDW and false to disable LDW. When LDW is enabled, the ADAS system in the vehicle should be turned on and monitoring if the vehicle is approaching or crossing lane lines, in which case a warning will be given.
In general, LANE_DEPARTURE_WARNING_ENABLED
should always return true or false. If
the feature is not available due to some temporary state, such as the vehicle speed being too low
or too high, that information must be conveyed through the ErrorState
values in the
LANE_DEPARTURE_WARNING_STATE
property.
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
LANE_DEPARTURE_WARNING_STATE
Lane Departure Warning (LDW) state. Returns the current state of LDW. This property must always
return a valid state defined in LaneDepartureWarningState
or ErrorState
It must not surface errors through StatusCode
and must use the supported error states
instead.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both LaneDepartureWarningState
(including OTHER, which
is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneDepartureWarningState/ErrorState
Unit type: N/A
Release: Android 14
LANE_KEEP_ASSIST_ENABLED
Enable or disable Lane Keep Assist (LKA). Set true to enable LKA and false to disable LKA. When LKA is enabled, the ADAS system in the vehicle should be turned on and monitoring if the driver unintentionally drifts toward or over the lane marking. If an unintentional lane departure is detected, the system applies steering control to return the vehicle into the current lane. This is different from Lane Centering Assist (LCA) which, when activated, applies continuous steering control to keep the vehicle centered in the current lane.
In general, LANE_KEEP_ASSIST_ENABLED
should always return true or false. If the
feature is not available due to some temporary state, such as the vehicle speed being too low or
too high, that information must be conveyed through the ErrorState
values in the
LANE_KEEP_ASSIST_STATE
property.
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
LANE_KEEP_ASSIST_STATE
Lane Keep Assist (LKA) state. Returns the current state of LKA. This property must always return
a valid state defined in LaneKeepAssistState
or ErrorState
It must not
surface errors through StatusCode
and must use the supported error states instead
If LKA includes lane departure warnings before applying steering corrections, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be defined
unless all states of both LaneKeepAssistState
(including OTHER, which is not recommended) and
ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14
LOCATION_CHARACTERIZATION
Characterization of inputs used for computing location. This property must indicate what (if any) data and sensor inputs are considered by the system when computing the vehicle's location that is shared with Android through the GNSS HAL.
The value must return a collection of bit flags. The bit flags are defined in
LocationCharacterization. The value must also include exactly one of DEAD_RECKONED
or
RAW_GNSS_ONLY
among its collection of bit flags.
When this property is not supported, it is assumed that no additional sensor inputs are fused into the GNSS updates provided through the GNSS HAL. That is unless otherwise specified through the GNSS HAL interfaces.
Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14
MIRROR_AUTO_FOLD_ENABLED
Represents property for Mirror Auto Fold feature. This property is true when the feature for automatically folding the vehicle's side mirrors (for example, when the mirrors fold inward automatically when one exits and locks the vehicle) is enabled.
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
MIRROR_AUTO_TILT_ENABLED
Represents property for Mirror Auto Tilt feature. This property is true when the feature for automatically tilting the vehicle's side mirrors (for example, when the mirrors tilt downward automatically when one reverses the vehicle) is enabled.
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
MIRROR_FOLD
Mirror fold. True indicates mirrors are folded. 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
MIRROR_LOCK
Mirror lock. True indicates mirror positions are locked and not changeable.
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
MIRROR_Y_MOVE
Mirror Y 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 mirror while tilting
right. The minInt32Value
represents the maximum movement speed of the mirror while
tilting left.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the mirror reaches the positional limit, the value must reset to 0. If MIRROR_Y_MOVE's value is currently 0, then that means there is no movement currently occurring.
This property is not in any particular unit but 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
MIRROR_Y_POS
Mirror Y position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the mirror is tilted completely to the left.
This must be a non-positive value. The maxInt32Value
indicates the mirror is tilted
completely
to the right. This must be a non-negative value. 0 indicates the mirror is not tilted in either
direction.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the left
extreme and right extreme positions.
This property is not in any particular unit but in 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
MIRROR_Z_MOVE
Mirror Z 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 mirror while tilting upwards.
The minInt32Value
represents the maximum movement speed of the mirror while tilting downwards.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
mirror reaches the positional limit, the value must reset to 0. If MIRROR_Z_MOVE's value is
currently 0, then that means there is no movement currently occurring.
This property is not in any particular unit but 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
MIRROR_Z_POS
Mirror Z position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported. The minInt32Value
indicates the
mirror is tilted completely downwards. This must be a non-positive value. The
maxInt32Value
indicates the mirror is tilted completely upwards. This must be a
non-negative value. 0 indicates the mirror is not tilted in either direction.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the fully downward and fully upwards positions.
This property is not in any particular unit but in 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
NIGHT_MODE
True indicates that the night mode sensor has detected the car cabin environment to have low light. The platform can use this to, for example, enable an appropriate UI for better viewing in dark or low light environments.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME
Reports a snapshot of the value of the OBD2 sensors available at the time that a fault occurred
and was detected. A configArray must be provided with the same meaning as defined for
OBD2_LIVE_FRAME
The values of this property are to be interpreted in a similar fashion as those for
OBD2_LIVE_FRAME
, with the exception that the stringValue field may contain a
non-empty diagnostic troubleshooting code (DTC).
An IVehicle#get request of this property must provide a value for int64Values[0]. This is interpreted
as the timestamp of the freeze frame to retrieve. A list of timestamps can be obtained by an
IVehicle#get of OBD2_FREEZE_FRAME_INFO
Should no freeze frame be available at the given timestamp, a response of
NOT_AVAILABLE
must be returned by the implementation. Because vehicles may have
limited storage for freeze frames, it is possible for a frame request to respond with
NOT_AVAILABLE
even if the associated timestamp has been recently obtained through
OBD2_FREEZE_FRAME_INFO
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME_CLEAR
Freeze frame clear. Reports a snapshot of the value of the OBD2 sensors available at the time
that a fault occurred and was detected. A configArray must be provided with the same meaning as
defined for OBD2_LIVE_FRAME
The values of this property are to be interpreted in a similar fashion as those for
OBD2_LIVE_FRAME
, with the exception that the stringValue field may contain a non-empty diagnostic
troubleshooting code (DTC).
A IVehicle#get request of this property must provide a value for int64Values[0]. This will be
interpreted as the timestamp of the freeze frame to retrieve. A list of timestamps can be
obtained by a IVehicle#get of OBD2_FREEZE_FRAME_INFO
Should no freeze frame be available at the given timestamp, a response of NOT_AVAILABLE
must be
returned by the implementation. Because vehicles may have limited storage for freeze frames,
it is possible for a frame request to respond with NOT_AVAILABLE
even if the associated
timestamp has been recently obtained via OBD2_FREEZE_FRAME_INFO
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME_INFO
This property describes the current freeze frames stored in vehicle memory and available for
retrieval through OBD2_FREEZE_FRAME
The values are to be interpreted as follows. Each element of
int64Values must be the timestamp at which a a fault code has been detected and the corresponding
freeze frame stored, and each such element can be used as the key to OBD2_FREEZE_FRAME
to
retrieve the corresponding freeze frame.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_LIVE_FRAME
Reports a snapshot of the current (live) values of the OBD2 sensors available. The configArray is set as follows:
configArray[0]
Number of vendor-specific integer-valued sensorsconfigArray[1]
Number of vendor-specific float-valued sensors
The values of this property are to be interpreted as in the following example. Considering a
configArray = {2,3} int32Values
must be a vector containing
Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX
plus two elements (or, 33 elements).
floatValues
must be a vector containing
Obd2FloatSensorIndex.LAST_SYSTEM_INDEX
plus three elements (or, 73 elements).
It is possible for each frame to contain a different subset of sensor values, both system
provided sensors, and vendor-specific ones. In order to support this, the bytes element of the
property value is used as a bitmask. Bytes must have a sufficient number of bytes to represent
the total number of possible sensors (in this case, 14 bytes to represent 106 possible values).
It'is to be read as a contiguous bitmask such that each bit indicates the presence or absence of
a sensor from the frame, starting with as many bits as the size of int32Values
,
immediately followed by as many bits as the size of floatValues.
For example, should bytes[0] = 0x4C (0b01001100)
it means that:
int32Values[0 and 1]
are not valid sensor valuesint32Values[2 and 3]
are valid sensor valuesint32Values[4 and 5]
are not valid sensor valuesint32Values[6]
is a valid sensor valueint32Values[7]
is not a valid sensor valueint32Values[0 and 1]
are not valid sensor valuesint32Values[2 and 3]
are valid sensor valuesint32Values[4 and 5]
are not valid sensor valuesint32Values[6]
is a valid sensor valueint32Values[7]
is not a valid sensor value
If bytes[5] = 0x61 (0b01100001)
, then:
int32Values[32]
is a valid sensor valuefloatValues[0 thru 3]
are invalid sensor valuesfloatValues[4 and 5]
are valid sensor valuesfloatValues[6]
is not a valid sensor value.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
ON_CHANGE
Change mode:
Access mode: READ_WRITE/READ
Enum type:
Unit type:N/A
Release: Android 13
VehicleLightSwitch
PARKING_BRAKE_AUTO_APPLY
Auto-apply parking brake. When true, this property indicates that the car's
automatic parking brake is enabled. False indicates that the car's automatic parking
brake feature is disabled. This property is often confused with PARKING_BRAKE_ON
The
difference being that PARKING_BRAKE_ON
indicates if the actual parking brake is
on or off whereas PARKING_BRAKE_AUTO_APPLY
indicates if the automatic parking brake
feature is enabled or disabled and does not describe the current state of the actual parking
brake.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
PARKING_BRAKE_ON
Parking brake state. When true, this property true indicates that the car's parking brake is engaged. False indicates the car's parking brake is disengaged.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
PER_DISPLAY_BRIGHTNESS
Property to represent brightness of the displays which are controlled separately.
Some cars have one or more displays whose brightness is controlled separately and this property
is to inform the brightness of each passenger display. In cars where all displays' brightness
is controlled together, they must use DISPLAY_BRIGHTNESS
Only one of PER_DISPLAY_BRIGHTNESS
andPER_DISPLAY_BRIGHTNESS
should be implemented. If both are
available, PER_DISPLAY_BRIGHTNESS
is used by AAOS.
The display port uniquely identifies a physical connector on the device for display output, ranging from 0 to 255.
int32Values[0]
Display portint32Values[1]
Brightness
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 14
PERF_ODOMETER
Current odometer value of the vehicle.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOMETER
Release: Android 13
PERF_REAR_STEERING_ANGLE
Rear bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the rear wheels with respect to the vehicle, not the angle of the steering wheel.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13
PERF_STEERING_ANGLE
Front bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the front wheels with respect to the vehicle, not the angle of the steering wheel.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13
PERF_VEHICLE_SPEED
Speed of the vehicle, The value must be positive when the vehicle is moving forward and
negative when the vehicle is reversing. This value is independent of gear value
(CURRENT_GEAR
or GEAR_SELECTION
). For example, if
GEAR_SELECTION
is GEAR_NEUTRAL
, PERF_VEHICLE_SPEED
is
positive when the vehicle is moving forward, negative when reversing, and zero when not moving.
Change mode: CONTINUOUS
Access mode: READ
Unit type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13
PERF_VEHICLE_SPEED_DISPLAY
Speed of the vehicle for displays, Some cars display a slightly slower speed on the speedometer than actual speed.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13
POWER_POLICY_GROUP_REQ
Defines a request to set the power policy group used to decide a default power policy per power status transition.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
POWER_POLICY_REQ
Defines a request to apply power policy. VHAL sets this property to change car power policy.
Car power policy service subscribes to this property and actually changes the power policy. The
request is made by setting the VehiclePropValue with the ID of a power policy which is defined at
/vendor/etc/automotive/power_policy.xml
If the given ID is not defined, car power policy service
ignores the request and the current power policy is maintained.
string: "sample_policy_id" // power policy ID
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
POWER_POLICY_GROUP_REQ
Defines a request to set the power policy group used to decide a default power policy per power status transition. VHAL sets this property with the ID of a power policy group to set the default power policy applied at power status transition. Power policy groups are defined at /vendor/etc/power_policy.xml. If the given ID is not defined, car power policy service ignores the request. Car power policy service subscribes to this property and sets the power policy group. The actual application of power policy takes place when the system power status changes and there is a valid mapped power policy for the new power status.
string: "sample_policy_group_id" // power policy group ID
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
RANGE_REMAINING
Range remaining. Meters remaining of fuel and charge. Range remaining shall account for all
energy sources in a vehicle. For example, a hybrid car's range is the sum of the ranges based
on fuel and battery. This property is defined as VehiclePropertyAccess.READ_WRITE
because a navigation app could update the range if it has a more accurate estimate based on the
upcoming route. This property can be implemented as VehiclePropertyAccess.READ
only at the OEM's discretion.
Change mode: CONTINUOUS
Access mode: READ_WRITE
Enum type: N/A
Unit type: VehicleUnit:METER
Release: Android 13
READING_LIGHTS_STATE
Return the current status of reading lights.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
READING_LIGHTS_SWITCH
Switch t control the reading lights. This may differ from READING_LIGHTS_STATE
if
the lights are on because a door is open or due to a voice command. For example, while the switch
is in the off or automatic position. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
REAR_FOG_LIGHTS_STATE
Return the current state of the rear fog lights. Only one of FOG_LIGHTS_STATE
or
REAR_FOG_LIGHTS_STATE
can be implemented. See FOG_LIGHTS_STATE
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
REAR_FOG_LIGHTS_SWITCH
The setting that the user wants. Only one of FOG_LIGHTS_SWITCH
or
REAR_FOG_LIGHTS_SWITCH
must
be implemented. See FOG_LIGHTS_SWITCH
to learn more. 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
REMOVE_USER
Called by the Android System after an Android user was removed. The HAL can use this property to remove the equivalent user. This is write-only cal. The Android System is not expecting a reply from the HAL. Hence, this request should not fail. If the equivalent HAL user cannot be removed, then HAL should mark it as inactive or recover in another way.
The request is made by setting the VehiclePropValue with the contents defined by
RemoveUserRequest
For example, if system had 3 users (0, 10, and 11) and user 11
was removed, the request would be:
int32[0]
42 // request idint32[1]
11 // (Android user id of the removed user)int32[2]
0 // (Android user flags of the removed user)int32[3]
10 // current userint32[4]
0 // current user flags (none)int32[5]
2 // number of usersint32[6]
0 // first user (user 0)int32[7]
0 // first user flags (none)int32[8]
10 // second user (user 10)int32[9
] 0 // second user flags (none)
Change mode: STATIC
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
S to Z
SEAT_AIRBAG_ENABLED
表示在被触发(例如发生碰撞)时,启用和停用座椅的安全气囊开启功能的功能。如果为 true
,则表示座椅的安全气囊已启用,如果触发,则会展开。如果为 true
,则座椅的安全气囊处于停用状态,在任何情况下都不会展开。此属性未指示安全气囊是否已展开。
出于法规或安全考虑,此属性可设置为 VehiclePropertyAccess.READ
(只读)。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_BACKREST_ANGLE_1_MOVE
座椅靠背角度 1 移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示座椅靠背向前倾斜时的最快移动速度。minInt32Value
表示座椅靠背在向后倾斜时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_1_MOVE
的值为 0,则表示没有发生任何移动。
此属性采用相对移动速度的指定范围表示。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BACKREST_ANGLE_1_POS
座椅靠背角度 1 位置。靠背角度 1 是指离座椅底部最近的致动器。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示座椅靠背相对于座椅底部的致动器的完全放倒位置。maxInt32Value
表示座椅靠背相对于座椅底部的致动器的最直立或最前方位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示座椅处于完全放倒位置与直立和向前位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BACKREST_ANGLE_2_MOVE
座椅靠背角度 2 移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅靠背向前倾斜时的最快移动速度。minInt32Value
表示座椅靠背在向后倾斜时的最快移动速度。
绝对值越大(正值或负值)表示移动速度越快。一旦座椅靠背达到位置限制,该值必须重置为 0。如果 SEAT_BACKREST_ANGLE_2_MOVE
的值当前为 0,则表示未发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:不适用
单位类型:不适用
版本:Android 13
SEAT_BACKREST_ANGLE_2_POS
座椅靠背角度 2 位置。靠背角度 2 是从座椅底部向上数的下一个执行器。
必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅靠背在座椅底部执行器之后的下一个执行器的完全放倒位置(如需了解详情,请参阅 SEAT_BACKREST_ANGLE_1_POS
)。maxInt32Value
表示与座椅靠背中的下一个致动器(相对于座椅底部的致动器)的最直立和最前的位置(如需了解详情,请参阅 SEAT_BACKREST_ANGLE_1_POS
)。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示座椅处于完全放倒、直立和向前位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_BUCKLED 卡
系好安全带。true 表示皮带已系好。写入权限表示自动座椅安全扣功能。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_HEIGHT_MOVE
安全带高度移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示安全带肩部锚点向上移动时的最快移动速度。minInt32Value
表示安全带肩部锚点向下移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。安全带达到位置极限后,该值必须重置为 0。如果 SEAT_BELT_HEIGHT_MOVE
的值为 0,则表示没有任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_BELT_HEIGHT_POS
安全带高度位置。调整肩带定位点。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示安全带的肩部锚点处于最低位置。maxInt32Value
表示安全带的肩部锚点处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最低位置和最高位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_CUSHION_SIDE_SUPPORT_MOVE
表示座椅靠垫侧支撑的移动方向和速度的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座垫侧支撑在变宽时的最快移动速度(例如,支撑减少)。minInt32Value
表示座垫侧支撑在变窄(例如,支撑增加)时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座垫侧支撑达到位置极限后,该值必须重置为 0。如果 SEAT_CUSHION_SIDE_SUPPORT_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:不适用
单元类型:不适用
版本:Android 14
SEAT_CUSHION_SIDE_SUPPORT_POS
表示座椅的侧面(底部靠垫侧面)支撑位置的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座垫侧面支撑处于最宽的位置(例如,支撑力最小)。minInt32Value
表示座垫侧边支撑处于最薄的位置(例如,支撑力最强)。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最窄位置和最宽位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_DEPTH_MOVE
座椅深度移动。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅在变深时的最大移动速度。minInt32Value
表示座椅在变浅时的最大移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅靠背达到位置极限后,该值必须重置为 0。如果 SEAT_DEPTH_MOVE
的值目前为 0,则表示没有任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_DEPTH_POS
座椅深度位置。设置座椅深度,即从靠背到座椅前缘的距离。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座椅处于最浅的位置(例如,座垫前缘与座椅后端之间的距离最短的位置)。
maxInt32Value
表示座椅处于最深位置(例如,座垫前缘与座椅后端之间的距离最大的位置)。
minInt32Value
和 maxInt32Value
之间的值表示最浅位置和最深位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">..</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_EASY_ACCESS_ENABLED
表示座椅便捷进入功能的属性。如果为 true,系统会自动调整座椅,以便乘客更轻松地上下车。每个区域 ID 都必须映射到用户尝试借助便捷进入/退出功能进入/退出的座椅。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_FOOTWELL_LIGHTS_STATE
表示座椅脚井灯状态的属性。SEAT_FOOTWELL_LIGHTS_STATE
反映了灯具在任何时间点的当前状态。这与 SEAT_FOOTWELL_LIGHTS_SWITCH
的功能不同,后者表示控制灯的开关的位置。
因此, SEAT_FOOTWELL_LIGHTS_STATE
可能与 SEAT_FOOTWELL_LIGHTS_SWITCH
的值(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
和 SEAT_FOOTWELL_LIGHTS_SWITCH=ON
)不匹配。
仅当 SEAT_FOOTWELL_LIGHTS_STATE
的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。
对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非同时支持 VehicleLightState 的所有枚举值。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14
SEAT_FOOTWELL_LIGHTS_SWITCH
表示座椅脚部空间灯开关的属性。SEAT_FOOTWELL_LIGHTS_SWITCH
表示控制灯的开关的位置。这与 SEAT_FOOTWELL_LIGHTS_STATE 的功能不同,后者反映的是任何时间点的灯具当前状态。因此,SEAT_FOOTWELL_LIGHTS_SWITCH
可能与 SEAT_FOOTWELL_LIGHTS_STATE 的值(例如 SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
和 SEAT_FOOTWELL_LIGHTS_SWITCH=ON
)不匹配。
仅当 SEAT_FOOTWELL_LIGHTS_SWITCH 的值可能与 CABIN_LIGHTS_SWITCH 的值不同时,才应实现此属性。
对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues,除非同时支持 VehicleLightSwitch 的所有枚举值。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleLightSwitch
单元类型:不适用
版本:Android 13
SEAT_FORE_AFT_MOVE
座椅前后移动。此属性会沿座椅朝向的方向前/后移动整个座椅。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅向前移动时的最快移动速度。minInt32Value
表示座椅向后移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_FORE_AFT_MOVE
的值为 0,则表示未发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_FORE_AFT_POS
座椅前后位置。设置座椅的前后位置。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座位位于最靠后的线性位置。maxInt32Value
表示座椅处于最前方的线性位置。如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最靠近位置和最远位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_ANGLE_MOVE
头枕角度移动。每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
都必须定义。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅靠背处于垂直或向前位置时的最大移动速度。minInt32Value
表示座椅头枕在向浅位移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。当座椅的头枕达到位置限制时,该值必须重置为 0。如果 SEAT_HEADREST_ANGLE_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 只能将其实现为 <covehiclepropertyaccess.read<code="">。</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_ANGLE_POS
头枕角度位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于完全放倒位置。maxInt32Value
表示头枕处于最直立且最向前的位置。
minInt32Value
和 maxInt32Value
之间的值表示完全倾斜位置与大多数直立位置和前方位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_FORE_AFT_MOVE
头枕可前后移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅头枕向前移动时的最快移动速度。minInt32Value
表示座椅头枕向后移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_FORE_AFT_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_FORE_AFT_POS
头枕的前后位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于最靠后的线性位置。
maxInt32Value
表示头枕处于最前方的线性位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于前进位置和后退位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_MOVE
头枕高度移动。每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
都必须定义。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅头枕在向上移动时的最快移动速度。minInt32Value
表示座椅头枕在向下移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅头枕达到位置极限后,该值必须重置为 0。如果 SEAT_HEADREST_HEIGHT_MOVE
的值为 0,则表示未发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_POS
(已废弃)头枕高度位置。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEADREST_HEIGHT_POS_V2
头枕的高度位置。设置受支持座椅的头枕高度。 VehiclePropConfig.areaConfigs 指定支持的座位。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示头枕处于最低位置。maxInt32Value
表示头枕处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最低位置和最高位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_HEIGHT_MOVE
座椅高度移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅上移时座椅的最大移动速度。
minInt32Value
表示座椅下移时的最大移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅达到位置极限后,该值必须重置为 0。如果 SEAT_HEIGHT_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_HEIGHT_POS
座椅高度位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示座位处于最低位置。maxInt32Value
表示座椅处于最高位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最低位置和最高位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_FORE_AFT_MOVE
腰椎前后移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅腰部支撑在向前移动时的最快移动速度。minInt32Value
表示座椅腰部支撑在向后移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。
座椅的腰部支撑达到位置极限后,该值必须重置为 0。
如果 SEAT_LUMBAR_FORE_AFT_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_LUMBAR_FORE_AFT_POS
木材前后位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
表示腰部支撑处于最靠后的位置(例如,支撑力最弱的位置)。maxInt32Value
表示腰部支撑处于最前位置(例如,支撑力最强的位置)。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于前置位置和后置位置之间的过渡状态。
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问权限类型:READ_WRITE
/READ
枚举类型:不适用
单元类型:不适用
版本:Android 13
SEAT_LUMBAR_SIDE_SUPPORT_MOVE
腰部侧边支撑移动。每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
都必须定义。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示在变宽时,座椅腰侧支撑物的最大移动速度。minInt32Value
表示座椅腰部侧支撑在变薄时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅的腰部侧支撑达到位置极限后,该值必须重置为 0。如果 SEAT_LUMBAR_SIDE_SUPPORT_MOVE
的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问权限类型:READ_WRITE
/READ
枚举类型:不适用
单元类型:不适用
版本:Android 13
SEAT_LUMBAR_SIDE_SUPPORT_POS
腰部侧支撑位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示腰部侧支撑处于最薄的位置(例如,提供最强支撑)。maxInt32Value
表示腰部侧支撑处于最宽的位置(例如,支撑力最小)。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最窄位置和最宽位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问类型:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_LUMBAR_VERTICAL_MOVE
表示座椅腰部支撑的垂直移动方向和速度的属性。
必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示腰部支撑正在以最快的向上速度移动。minInt32Value
表示腰部支撑正在以最快的速度向下移动。
绝对值越大(无论是正值还是负值),表示移动速度就越快。一旦座椅靠垫侧支撑物达到位置限制,该值必须重置为 0。如果 SEAT_LUMBAR_VERTICAL_MOVE 的值为 0,则表示没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:不适用
单元类型:不适用
版本:Android 14
SEAT_LUMBAR_VERTICAL_POS
表示座椅腰部支撑垂直位置的属性。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示腰部支撑的最高位置。minInt32Value
表示腰部支撑物的最低位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于最低位置和最高位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_MEMORY_SELECT
此参数用于选择用于选择座椅位置的内存预设。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。
必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
始终为 0,并且 maxInt32Value
会确定可用的座椅预设内存槽数(例如 numSeatPresets - 1)。例如,如果驾驶员座位具有三个内存预设,则 maxInt32Value
为二。当用户选择某个预设时,系统会设置所需的预设编号(0、1 或 2)。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_MEMORY_SET
借助此设置,用户可以将当前座椅位置设置保存到所选的预设槽中。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 minInt32Value
必须为 0,并且每个座位位置的 maxInt32Value
必须与 SEAT_MEMORY_SELECT
的 maxInt32Value
一致
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
SEAT_OCCUPANCY
指示特定座位是否有人坐(汽车会尽可能确定)。有效值来自 VehicleSeatOccupancyState
枚举。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleSeatOccupancyState
单位类型:无
版本:Android 13
SEAT_TILT_MOVE
座椅倾斜移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示座椅前缘向上移动时的最快移动速度。minInt32Value
表示座椅前缘向下移动时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。座椅底部达到位置极限后,该值必须重置为 0。如果 SEAT_TILT_MOVE 的值目前为 0,则表示没有任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
SEAT_TILT_POS
座椅倾斜位置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示座椅底部处于最低角度位置。这对应于座椅前缘相对于座椅后端的可能最低位置。maxInt32Value
表示座椅底部处于最高角度位置。这对应于座椅前缘相对于座椅后端的最高位置。
minInt32Value
和 maxInt32Value
之间的值表示最低位置和最高位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
SEAT_WALK_IN_POS
表示用于指示座椅当前的步入位置的属性。minInt32Value
表示正常座椅位置。minInt32Value
必须为 0。maxInt32Value
表示座椅处于完全可通行位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于正常位置和免下车位置之间的过渡状态。
此属性表示为相对位置的指定范围。
区域 ID 必须与启用免下车功能时实际移动的座椅相符,而不是乘客将要坐的预期座椅。
此属性定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以
将其实现为 VehiclePropertyAccess.READ。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
请求关闭
请求关闭车机。
在车机关闭电源时执行任务(远程任务功能)时,此属性是必需的。 车机接通电源以执行任务后,应关闭车机。任务完成后,主机会发送此消息。
当用户想要关闭车机时,此属性不适用。
这通常涉及告知车机外部的单独系统(例如电源控制器)准备关闭车机。
外部系统必须通过检查车辆是否正在使用来验证此请求是否有效。如果用户在发送 SHUTDOWN_REQUEST 后进入车辆,则系统必须忽略此请求。建议在电源控制器中存储 VehicleInUse 属性,并通过 VEHICLE_IN_USE 属性公开该属性。如果 VehicleInUse 为 true,则必须忽略关闭请求。
如果允许,外部系统会向车机发送关闭信号,这会导致 VHAL 向 Android 发送 SHUTDOWN_PREPARE 消息。然后,Android 会通过处理消息启动关闭过程。
此属性仅用于发出请求,且仅支持写入。每当设置此属性值时,系统都会发出关闭请求,无论当前属性值如何。当前属性值没有意义。
由于此属性是只写属性,因此不允许订阅,也不会生成任何属性更改事件。
要设置的值表示关机选项,必须是 {@code VehicleApPowerStateShutdownParam}
之一。例如,VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY
。如果系统不支持此类选项,则可能不会采用此关闭选项。在这种情况下,系统不会返回错误。
对于配置信息,VehiclePropConfig.configArray
必须具有组合 {@code VehicleApPowerStateConfigFlag}
中的值的位标志,以指示支持哪些关闭选项。
如果无法向其他系统发送关闭请求,则返回错误。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:VehicleApPowerStateShutdownParam
>
单位类型:无
版本:Android 14
STEERING_WHEEL_DEPTH_MOVE
方向盘深度移动。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。
maxInt32Value
表示方向盘正在远离驾驶员处。minInt32Value
表示方向盘向驾驶员移动。
整数越大(无论是正值还是负值),表示移动速度就越快。当方向盘达到位置限制时,该值必须重置为 0。如果 STEERING_WHEEL_DEPTH_MOVE
的值目前为 0,则表示没有任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_DEPTH_POS
方向盘深度位置。所有方向盘属性的唯一 ID 均从 0x0BE0 开始。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。maxInt32Value
表示最远离驾驶员的方向盘位置。minInt32Value
表示离驾驶员最近的方向盘位置。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于
此属性表示为相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_EASY_ACCESS_ENABLED
已启用方向盘轻松访问功能。如果为 true,系统会自动调整驾驶员的方向盘,以便驾驶员更轻松地上下车。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_HEIGHT_MOVE
方向盘高度移动。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有值。
maxInt32Value
表示方向盘正在上移。minInt32Value
表示方向盘向下移动。
较大的整数(正整数或负整数)表示移动速度较快。当方向盘达到位置限制时,该值必须重置为 0。如果 STEERING_WHEEL_HEIGHT_MOVE
的值目前为 0,则表示目前没有发生任何移动。
此属性表示为相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_HEIGHT_POS
方向盘高度位置。
必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。您必须支持介于 minInt32Value
和 maxInt32Value
之间的所有值。maxInt32Value
表示方向盘处于最高位置。minInt32Value
表示方向盘位于最低位置。
minInt32Value
和 maxInt32Value
之间的值表示最低位置和最高位置之间的过渡状态。
此属性表示为指定的相对位置范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STEERING_WHEEL_LIGHTS_STATE
方向盘灯状态。表示方向盘灯的当前状态。这与 STEERING_WHEEL_LIGHTS_SWITCH
不同,后者表示控制灯的开关的位置。因此,STEERING_WHEEL_LIGHTS_STATE
可能与 STEERING_WHEEL_LIGHTS_SWITCH
的值不匹配(例如,
和 STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
STEERING_WHEEL_LIGHTS_STATE=ON
)。
仅当 STEERING_WHEEL_LIGHTS_STATE
的值可能与 CABIN_LIGHTS_STATE 的值不同时,才应实现此属性。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues,除非同时支持 VehicleLightState 的所有枚举值。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 14
STEERING_WHEEL_LIGHTS_SWITCH
方向盘灯开关。表示控制方向盘灯的开关的位置。这与表示方向盘灯的当前状态不同。因此,STEERING_WHEEL_LIGHTS_SWITCH
可能与 STEERING_WHEEL_LIGHTS_STATE
的值不匹配。例如,STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
和 STEERING_WHEEL_LIGHTS_STATE=ON
。
仅当 STEERING_WHEEL_LIGHTS_SWITCH
的值可能与 CABIN_LIGHTS_SWITCH
的值不同时,才应实现此属性。
对于全局区域 ID (0),除非支持 VehicleLightSwitch 的所有枚举值,否则必须定义 VehicleAreaConfig#supportedEnumValues
。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 14
STEERING_WHEEL_LOCKED
方向盘已锁定。如果为 true,则方向盘的位置已锁定且不可更改。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。/p>
</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:不适用
单元类型:不适用
版本:Android 14
STEERING_WHEEL_THEFT_LOCK_已启用
已启用方向盘防盗锁功能。如果为 true,在某些情况下,方向盘会自动锁定以防止盗窃。此属性被定义为 VehiclePropertyAccess.READ_WRITE,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
STORAGE_ENCRYPTION_BINDING_SEED 文件
外部加密绑定种子。此值会与本地密钥存储加密密钥混合。此属性的大小为 16 个字节,并且应保留在与 IVI 分开的 ECU 上。该属性最初是由 AAOS 设置的,后者使用 CSRNG 生成该属性。然后,AAOS 会在后续启动时读取该属性。绑定种子应可靠地持久化。如果种子丢失,IVI 将恢复出厂设置。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
支持为供应商属性自定义权限。
如果 VHAL 支持自定义供应商权限功能,请实现此属性。
VehiclePropConfig.configArray 用于指明为此供应商属性选择的供应商属性和权限。权限必须是 VehicleVendorPermission 中的枚举之一。
configArray 的设置如下所示,其中 configArray[n]: propId : property ID
是供应商属性,configArray[n+1] 是 VehicleVendorPermission 中的枚举,表示读取该属性值的权限。
configArray[n+2] 是 VehicleVendorPermission 中的枚举,表示写入该属性值的权限。例如:
configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }
如果供应商属性不在此数组中,则具有默认供应商权限。如果供应商选择 PERMISSION_NOT_ACCESSIBLE,则 Android 将无权访问该属性。在示例中,Android 无法为 vendor_prop_2 写入值。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
SUPPORTED_PROPERTY_IDS
(已废弃)所有受支持的房源 ID 的列表。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
SWITCH_USER
定义了切换前台 Android 用户的请求。
此属性主要由 Android 系统用于告知 HAL 当前的前台 Android 用户正在切换,但 HAL 也可以使用此属性请求 Android 系统切换用户。当 Android 发出请求时,它会设置 VehiclePropValue,并且 HAL 必须通过属性更改事件进行响应。当 HAL 发出请求时,它也必须通过属性更改事件来完成此操作(主要区别在于请求 ID 在前一种情况下为正数,在后一种情况下为负数)。SwitchUserMessageType 也不同。
这两种请求的格式由 SwitchUserRequest 定义,响应格式(如果需要)由 SwitchUserResponse 定义。HAL(或 Android 系统)应如何处理取决于消息类型(由 SwitchUserMessageType 参数定义),如下所定义。LEGACY_ANDROID_SWITCH
当更改请求以与 HAL 集成的方式(例如通过 adb shell am switch-user)发出时,Android 系统会调用此方法来指示 Android 用户即将更改。HAL 在收到此请求后可以切换其内部用户,但无需回复 Android 系统。如果其内部用户因某种原因而无法更改,则必须等待SWITCH_USER(type=ANDROID_POST_SWITCH)
调用恢复(例如,它可以发出SWITCH_USER(type=VEHICLE_REQUEST)
以切换回上一个用户)。理想情况下,它绝不会失败(因为切换回去可能会让最终用户感到困惑)。
例如,如果系统有用户 (0、10、11),并且从 0 切换到 11(其中没有任何用户具有任何特殊标志),请求将如下所示:
int32[0]
42 // 请求 IDint32[1]
1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户标志(无)int32[4]
10 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 用户 0(Android 用户 ID 为 0)int32[8]
0 // 用户 0 的标志(无)int32[9]
10 // 用户 1(Android 用户 ID 为 10)int32[10]
0 // 用户 1 的标志(无)int32[11]
11 // 用户 2(Android 用户 ID 为 11)int32[12]
0 // 用户 2 的标志(无)
ANDROID_SWITCH
:由 Android 系统调用,表示 Android 用户即将更改,但 Android 会等待 HAL 的响应(最多一段时间),然后再继续操作。HAL 必须在收到此请求后切换其内部用户,然后使用SWITCH_USER(type=VEHICLE_RESPONSE)
向 Android 返回响应,指明其内部用户是否已切换(通过 SwitchUserStatus 枚举)。例如,如果 Android 有用户(0、10、11),并且从 10 切换到 11(其中没有任何用户具有任何特殊标志),请求将如下所示:int32[0]
42 // 请求 IDint32[1]
2 // SwitchUserMessageType::ANDROID_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户标志(无)int32[4]
10 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 第一位用户(用户 0)int32[8]
1 // 第一位用户标志(SYSTEM)int32[9]
10 // 第二位用户(用户 10)int32[10]
0 // 第二位用户标志(无)int32[11]
11 // 第三位用户(用户 11)int32[12]
0 // 第 3 位用户标志(无)
如果请求成功,HAL 必须使用以下内容更新该属性:
int32[0]
42 // 请求 IDint32[1]
3 // messageType:SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
1 // 状态:SwitchUserStatus::SUCCESS
如果请求失败,响应将类似如下所示:
int32[0]
42 // 请求 IDint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"- 特定于原始设备制造商 (OEM) 的错误消息
VEHICLE_RESPONSE
:由 HAL 调用,以指示应该继续还是中止类型为 ANDROID_SWITCH 的请求。另请参阅 ANDROID_SWITCH。VEHICLE_REQUEST
:由 HAL 调用,以请求切换当前前台 Android 用户。如果 Android 以某个用户的身份启动,但车辆将驾驶员识别为另一个用户,此功能非常有用。例如,用户 A 使用用户 B 的遥控钥匙解锁了汽车。INITIAL_USER_INFO 请求返回了用户 B,但随后面部识别子子系统将用户识别为 A。HAL 通过属性更改事件(传递负请求 ID)发出此请求,Android 系统响应是发出具有相同请求 ID 的 ANDROID_POST_SWITCH 调用。例如,如果当前前台 Android 用户为 10,并且 HAL 请求切换到 11,请求将如下所示:int32[0]
-108 // 请求 IDint32[1]
4 // messageType:SwitchUserMessageType::VEHICLE_REQUESTint32[2]
11 // Android 用户 ID
如果请求成功,并且 Android 有三位用户(0、10 和 11),响应将如下所示:
int32[0]
-108 // 请求 IDint32[1]
5 // messageType:SwitchUserMessageType::ANDROID_POST_SWITCHint32[2]
11 // 目标用户 IDint32[3]
0 // 目标用户 ID 标志(无)int32[4]
11 // 当前用户int32[5]
0 // 当前用户标志(无)int32[6]
3 // 用户数量int32[7]
0 // 第一位用户(用户 0)int32[8]
0 // 带来用户首次互动的标志(无)int32[9]
10 // 第二位用户(用户 10)int32[10]
4 // 第二位用户标志(无)int32[11]
11 // 第三位用户(用户 11)int32[12]
3 // 第三位用户标志(无)
当前用户 ID 和目标用户 ID 相同。如果请求失败,则结果会有所不同。 例如,目标用户为 11,当前用户为 10。
ANDROID_POST_SWITCH
在发出切换用户的请求后由 Android 系统调用。 系统会在任何类型的切换请求(例如 >code>LEGACY_ANDROID_SWITCH、>code>ANDROID_SWITCH 或VEHICLE_REQUEST
)之后调用此属性,并且可用于确定请求是成功还是失败。- 成功后,当 Android 用户处于解锁状态且响应中的当前用户 ID 和目标用户 ID 的值相同时,系统会调用此监听器。这相当于在 Android 应用中接收 Intent.ACTION_USER_UNLOCKED。
- 如果失败,系统会立即调用该方法,并且响应中的当前用户 ID 和目标用户 ID 的值会不同(因为当前用户未更改为目标用户)。
- 如果在 HAL 响应上一个切换请求之前或在用户解锁之前发出新的切换请求,则系统不会发出 ANDROID_POST_SWITCH 请求。例如,驱动程序可能会意外切换到具有锁定凭据的错误用户,然后在输入凭据之前切换到正确的用户。
HAL 在收到此请求后可以更新其内部状态,但无需回复 Android 系统。
- 请求。
INITIAL_USER_INFO
定义的前 N 个值(其中索引为 1 的请求专用值为SwitchUserMessageType::ANDROID_POST_SWITCH
),然后是目标用户 ID(例如,请求切换到的 Android 用户 ID)及其标志(由 UserFlags 定义)的两个值。 - 回复:无。例如,请参阅
VEHICLE_REQUEST
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
TIRE_PRESSURE
轮胎压力。每个轮胎都由其 areaConfig.areaId 配置进行标识。相应的 minFloatValue 和 maxFloatValue 用于存储 OEM 建议的压力范围。必须定义 VehicleAreaConfig 中的 minFloatValue 和 maxFloatValue 的值。
areaConfig 数据中的 minFloatValue 表示建议的轮胎压力下限。regionConfig 数据中的 maxFloatValue 表示建议轮胎压力的上限。例如,以下 regionConfig 指示左侧前轮轮胎的建议轮胎压力为 200.0kPa 到 240.0kPa。
.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOPASCAL
版本:Android 13
TIRE_PRESSURE_DISPLAY_UNITS
用于显示的轮胎压力单位。表示汽车使用哪些单位向用户显示轮胎压力。例如 PSI、Bar 或千帕。VehiclePropConfig.configArray 用于指示支持的压力显示单元。压力单位在 VehicleUnit 中定义。例如,configArray[0]:KILOPASCAL configArray[1]:PSI configArray[2]:BAR
如果更新 TIRE_PRESSURE_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS 属性的值,则它们的值也必须更新并传达给 AAOS 框架。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 <covehiclepropertyaccess.read< code="">。/p>
</covehiclepropertyaccess.read<>
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:VehicleUnit
单位类型:不适用
版本:Android 13
TRACTION_CONTROL_ACTIVE
当牵引控制 (TC) 处于启用状态时,设为 true;当 TC 关闭时,设为 false。此属性可根据 TC 系统的实时状态而间歇性设置(脉冲)。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
TRAILER_PRESENT
返回汽车的拖车状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:TrailerState
单位类型:无
版本:Android 13
TURN_SIGNAL_STATE
车辆转向灯的状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleTurnSignal
单位类型:无
版本:Android 13
USER_IDENTIFICATION_ASSOCIATION
用于将当前用户与车辆专用身份识别机制(例如遥控钥匙)相关联(或查询关联)的属性。
这是可选的用户管理属性。即使不定义,OEM 仍可支持用户管理。事实上,即使不支持 INITIAL_USER_INFO 中所述的核心用户相关功能,也可以使用此属性。
如需查询关联,Android 系统会获取该属性,并传递一个 VehiclePropValue,其中包含 UserIdentificationGetRequest 定义的要查询的关联类型。HAL 必须立即返回,并返回包含 UserIdentificationResponse 的 VehiclePropValue。
请注意,用户识别发生在系统启动时。获取 VHAL 实现应仅返回已识别的关联(例如用于解锁汽车的钥匙 FOB),而不是从 get 调用开始新关联。
如需关联类型,Android 系统会设置该属性,传递一个 VehiclePropValue,其中包含要设置的关联的类型和值(如 UserIdentificationSetRequest 中所定义)。
然后,HAL 使用属性更改事件(其 VehiclePropValue 由 UserIdentificationResponse 定义),指示请求后类型的当前状态。
例如,如需查询当前用户 (10) 是否与解锁车辆的遥控钥匙和 OEM 提供的自定义机制相关联,请发出以下请求:
int32[0]
42 // 请求 IDint32[1]
10(Android 用户 ID)int32[2]
0 (Android 用户标志)int32[3]
2 (查询的类型数量)int32[4]
1(查询的第一个类型,UserIdentificationAssociationType::KEY_FOB)int32[5]
101(查询的第二种类型,UserIdentificationAssociationType::CUSTOM_1)
如果用户与 FOB 相关联,但与自定义机制不相关联,则响应为:
int32[0]
42 // 请求 IDint32[1]
2 (响应中的关联数量)int32[2]
1 (第一个类型:UserIdentificationAssociationType::KEY_FOB)int32[3]
2 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)int32[4]
101(第一个类型:UserIdentificationAssociationType::CUSTOM_1)int32[5]
4 (第二个值:UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)
然后,为了将用户与自定义机制相关联,系统会发出 set 请求:
int32[0]
43 // 请求 IDint32[1]
10(Android 用户 ID)int32[2]
0 (Android 用户标志)int32[3]
1 (要设置的关联数量)int32[4]
101(第一个类型:UserIdentificationAssociationType::CUSTOM_1)
如果请求成功,则响应为:
int32[0]
43 // 请求 IDint32[1]
1 (响应中的关联数量)int32[2]
101(第一个类型:UserIdentificationAssociationType::CUSTOM_1)int32[3]
1 (第一个值:UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
设置请求会添加关联,但不会移除现有关联。在上面的示例中,结束状态将是两个关联(FOB 和 CUSTOM_1)。如需将用户仅与 CUSTOM_1 相关联(而非 FOB),则请求应为:
int32[0]
43 // 请求 IDint32[1]
10(Android 用户 ID)int32[2]
2 (设置的类型数量)int32[3]
1(第一个类型:UserIdentificationAssociationType::KEY_FOB)int32[4]
2 (第一个值:UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)int32[5]
101(第二种类型:UserIdentificationAssociationType::CUSTOM_1)int32[6]
1 (第二个值:UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
VEHICLE_CURB_WEIGHT
返回车辆的整备质量(以千克为单位)。整备重量是指具有标准设备的车辆和所有必需的操作消耗品(如机油、传动油、制动液、冷却剂、空调制冷剂以及未载客或载货时额定油箱容量的燃料)的总重量。
configArray[0] 用于指定车辆的总重量(以公斤为单位)。车辆的总重量是指制造商指定的车辆最大运营重量,包括车辆的底盘、车身、发动机、发动机油液、燃料、配件、驾驶员、乘客和货物,但不包括任何拖车的重量。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOGRAM
版本:Android 13
VEHICLE_IN_USE
指示车辆是否正在使用中。“正在使用”表示有人在场并打算使用车辆。这并不一定意味着有人在车上。例如,如果有人为车辆远程解锁,则系统会将车辆视为正在使用中。如果此属性受支持:
- 每当用户启动车辆或系统检测到用户在场时,都必须将
VEHICLE_IN_USE
设置为 true。每次用户将车辆关机或系统检测到用户不存在时,VEHICLE_IN_USE
都必须设为 false。 - 如果用户关闭车辆或系统检测到用户不在场,则必须将
VEHICLE_IN_USE
设为 false。 - 如果用户将车辆开机或系统检测到用户存在,必须将
VEHICLE_IN_USE
设为 true。
此属性与 AP_POWER_BOOTUP_REASON
的不同之处在于,AP_POWER_BOOTUP_REASON
在系统启动期间仅设置一次。不过,此属性可能会在系统启动周期内更改多次。例如,设备目前未在使用中。系统启动以执行远程任务。VEHICLE_IN_USE
为 false。在远程任务执行期间,用户进入车辆并开启车辆。
VEHICLE_IN_USE
设置为 true。在驾驶会话结束后,用户关闭车辆,VEHICLE_IN_USE
会设为 false。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 14
VEHICLE_MAP_SERVICE
车载地图服务 (VMS) 消息。此属性使用 MIXED 数据传达 VMS 消息。
其内容的解释如下。VmsMessageIntegerValuesInde 中定义的索引用于从 int32Values 读取。bytes 是按照 VMS 协议中定义的序列化 VMS 消息,对框架而言是不可见的。IVehicle#get 必须始终返回 StatusCode::NOT_AVAILABLE
。
更改模式:ON_CHANGEREAD_WRITE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
VEHICLE_SPEED_DISPLAY_UNITS
要显示的速度单位。表示用于向用户显示速度的单位类型。 例如,m/s、km/h 或 mph。VehiclePropConfig.configArray 表示支持的速度显示单位。压力单位在 VehicleUnit 中定义。例如:
.configArray: { VehicleUnit::METER_PER_SEC, VehicleUnit::KILOMETERS_PER_HOUR, VehicleUnit::MILES_PER_HOUR }
configArray[0]
METER_PER_SEC
configArray[1]
MILES_PER_HOUR
configArray[2]
KILOMETERS_PER_HOUR
如果更新 VEHICLE_SPEED_DISPLAY_UNITS
会影响其他 *_DISPLAY_UNITS properties
的值,则必须更新这些值,并将其传达给 AAOS 框架。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
VHAL_HEARTBEAT
定义 VHAL 作为心跳信号向 Car Watchdog 发送的事件。如果 VHAL 支持此属性,则 VHAL 应每 3 秒将系统运行时间写入此属性。汽车监控计时器会订阅此属性,并检查该属性是否每三秒更新一次。当缓冲时间为 3 秒时,汽车监控计时器会在距离上次检测信号最多 6 秒时等待检测信号发出。否则,汽车监控计时器会认为 VHAL 运行状况不佳并终止它。如果 VHAL 不支持此属性,汽车监控计时器不会检查 VHAL 的运行状况。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
WATCHDOG_ALIVE
定义汽车监控计时器更新的事件,以指示其处于活动状态。Car Watchdog 会每 3 秒将此属性设置为系统运行时间(以毫秒为单位)。启动时,更新可能需要更长时间。
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
WATCHDOG_TERMINATED_PROCESS
定义由 Car Watchdog 终止的进程以及终止原因。
int32Values[0] 1 // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
WHEEL_TICK
报告转盘滴答声。矢量中的第一个元素是重置计数。重置表示之前的计数无法与此计数和之后的计数进行比较。出现了某种计时中断。
接下来的四个元素代表各个轮子的刻度,顺序如下:
- 前左
- 前右
- 后右
- 后左
所有计数都是累计的。当车辆向前移动时,计数会递增;当车辆向后移动时,计数会递减。车辆启动后,滴答声应重置为 0。
int64Values[0]
重置计数int64Values[1]
左前方有提示音int64Values[2]
右前方刻度int64Values[3]
后右侧刻度int64Values[4]
后左旋律
configArray
用于指示每轮刻度微米数值以及支持的轮子,configArray 的设置如下:
configArray[0], bits [0:3] Supported wheels
使用枚举 Wheel。例如,如果支持所有轮子,则:
configArray[0]
VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REARconfigArray[1]
每转左前轮的微米数configArray[2]
每转右前轮的微米数configArray[3]
每秒后轮刻度线对应的微米数- 每个左后轮刻度线
configArray[4]
微米。
如果某个轮子不受支持,其值应始终设为 0。
必须填写 VehiclePropValue.timestamp
。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_LOCK
车窗儿童锁。True 表示窗口被子锁定。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_MOVE
窗口移动。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示窗户正在以最快的速度沿平面打开/沿平面关闭。minInt32Value
表示窗口正在以最快的速度平面关闭/平面外打开。
绝对值越大(无论是正值还是负值),表示移动速度就越快。窗口达到位置极限后,该值必须重置为 0。如果 WINDOW_MOVE
的值为 0,则表示没有任何移动。此属性采用相对移动速度的指定范围表示。
对于可能从平面打开的窗户(天窗的通风模式),此参数的工作方式如下。如果:
- 天窗处于打开状态:
Max
进一步打开天窗,完全打开后自动停止。Min
关闭天窗,在关闭天窗时自动停止。
- 通风口处于打开状态:
Max
关闭出风口,在出风口关闭时自动停止停止。Min
进一步打开通风口,在通风口完全打开后自动停止。
- 天窗处于关闭状态:
Max
打开天窗,在天窗完全打开后自动停止。Min
打开出风口,在出风口完全打开时自动停止。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDOW_POS
窗口位置。必须定义每个 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示窗口是关闭的,或在平面之外完全打开的。如果窗口无法沿平面打开,则 minInt32Value
是窗口完全关闭时的位置,并且必须为 0。如果窗户可以向外打开,minInt32Value
表示窗户在向外打开的位置处于完全打开状态,并且为负值。如需了解详情,请参阅以下示例。maxInt32Value
表示车窗已完全打开。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于关闭/完全打开的平面外位置和完全打开位置之间的过渡状态。此属性不在任何特定的单位中,但处于指定的相对位置范围内。例如,对于可移出平面的窗口,该属性应以如下方式发挥作用:对于可能在平面之外打开的窗口(天窗的通风模式),此参数可按如下方式使用负值:
Max
天窗完全打开(0 表示天窗关闭)。Min
天窗通风口完全打开(0 表示天窗关闭)。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:无
单位类型:无
版本:Android 13
WINDSHIELD_WIPERS_PERIOD
挡风玻璃刮水器周期(毫秒)。返回雨刷一次完整循环的瞬时时间段(以毫秒为单位)。完整周期是指雨刷从静止位置移动到静止位置,然后返回到静止位置。选择间歇式雨刷器设置后,在间歇式雨刷暂停期间,此属性值必须设为 0。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。
每个区域 ID 的 maxInt32Value
都必须指定最长的雨刷器周期。每个区域 ID 的 minInt32Value
都必须设置为 0。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 14
WINDSHIELD_WIPERS_STATE
雨刷状态。返回雨刷的当前状态。WINDSHIELD_WIPERS_STATE
的值可能与 WINDSHIELD_WIPERS_SWITCH
的值不匹配。例如,WINDSHIELD_WIPERS_STATE: ON
和 WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO
。如果实现了 WINDSHIELD_WIPERS_STATE: ON
和 WINDSHIELD_WIPERS_PERIOD
,则 WINDSHIELD_WIPERS_PERIOD
必须反映雨刷器一个完整周期的时间段。
对于每个受支持的区域 ID,除非 WindshieldWipersState
中的所有状态均受支持(包括不建议采用 OTHER 的状态),否则必须定义 VehicleAreaConfig#supportedEnumValues
数组。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:WindshieldWipersState
单位类型:无
版本:Android 14
WINDSHIELD_WIPERS_SWITCH
挡风玻璃雨刷已切换。表示控制挡风玻璃雨刷的开关的位置。WINDSHIELD_WIPERS_SWITCH
的值可能与 WINDSHIELD_WIPERS_STATE
的值不匹配。例如,WINDSHIELD_WIPERS_SWITCH: AUTO
和 WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON
。对于每个受支持的区域 ID,必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 WindshieldWipersSwitch
中的所有状态(包括不推荐的 OTHER)。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。如果此属性以 VehiclePropertyAccess.READ_WRITE
的形式实现,并且 OTHER 状态在 VehicleAreaConfig#supportedEnumValues
数组中列出,则 OTHER 不是支持写入的值。它只是支持读取的值。
更改模式:ON_CHANGE
访问模式:READ_WRITE
/READ
枚举类型:WindshieldWipersSwitch
单位类型:无
版本:Android 14