本页面列出了 VHAL 中支持的系统属性。VHAL 支持的属性必须是下方列表中的系统属性或供应商属性。在 Android 14 及更高版本中,属性定义在 hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl
中定义。
属性定义在 AIDL 接口 (android.hardware.automotive.vehicle.property
) 中定义,该接口与 VHAL 接口 (android.hardware.automotive.vehicle
) 是分开的。VHAL 实现和 VHAL 客户端必须依赖这两个接口。
自动生成的访问模式和更改模式
在 Android 14 及更高版本中,为了支持 VHAL 实现,我们提供了自动生成的 C++ 头文件和 Java 类文件,其中包含允许对系统属性使用的更改模式或访问模式。供应商 VHAL 实现可以使用这些属性来确保属性配置符合规范。
A 到 D
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE
使用自适应巡航控制 (ACC) 或预测性巡航控制 (PCC) 时测量的与前车的距离。返回前车最后端点与 ACC 车辆最前端点之间的测量距离,单位为毫米。必须定义 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 到 G
ELECTRONIC_TOLL_COLLECTION_CARD_STATUS
电子收费卡状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ElectronicTollCollectionCardStatus
单位类型:无
版本:Android 13
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
电子收费卡类型。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ElectronicTollCollectionCardType
单位类型:无
版本:Android 13
EMERGENCY_LANE_KEEP_ASSIST_ENABLED
启用或停用 Emergency Lane Keep Assist (ELKA)。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
EMERGENCY_LANE_KEEP_ASSIST_STATE
Emergency Lane Keep Assist (ELKA) 状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EmergencyLaneKeepAssistState/ErrorState
单位类型:无
版本:Android 14
ENGINE_COOLANT_TEMP
引擎冷却剂的温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_IDLE_AUTO_STOP_ENABLED
表示引擎闲置自动停止的功能。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
ENGINE_OIL_LEVEL
引擎机油量。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleOilLevel
单位类型:无
版本:Android 13
ENGINE_OIL_TEMP
引擎机油的温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
ENGINE_RPM
引擎每分钟转数 (RPM)。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:RPM
版本:Android 13
ENV_OUTSIDE_TEMPERATURE
车外温度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
EV_BATTERY_DISPLAY_UNITS
要显示的电动汽车电池单位。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
EV_BATTERY_INSTANTANEOUS_CHARGE_RATE
电动汽车瞬时充电速率(以毫瓦为单位)。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MW
版本:Android 13
EV_BATTERY_LEVEL
电动汽车或混合动力汽车的电池电量。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 13
EV_BRAKE_REGENERATION_LEVEL
电动汽车的再生制动等级。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_CURRENT_DRAW_LIMIT
表示用户设置的最大当前充电量阈值。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:VehicleUnit:AMPERE
版本:Android 13
EV_CHARGE_PERCENT_LIMIT
表示用户设置的最大充电百分比阈值。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_PORT_CONNECTED
电动汽车充电接口已连接。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_PORT_OPEN
电动汽车充电接口已开启。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_STATE
汽车的充电状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EvChargeState
单位类型:无
版本:Android 13
EV_CHARGE_SWITCH
开始或停止为电动汽车电池充电。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
EV_CHARGE_TIME_REMAINING
预计剩余充电时间(以秒为单位)。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:SECS
版本:Android 13
EV_CURRENT_BATTERY_CAPACITY
电动汽车或混合动力汽车的当前电池容量。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 13
EV_REGENERATIVE_BRAKING_STATE
汽车的再生制动或单踏板驾驶状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:EvRegenerativeBrakingState
单位类型:无
版本:Android 13
EV_STOPPING_MODE
表示车辆当前停止模式的属性。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:EvStoppingMode
单位类型:无
版本:Android 13
EVS_SERVICE_REQUEST
启用并请求 EVS 服务。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
EXTERNAL_CAR_TIME
汽车的当前日期和时间建议,编码为新纪元时间(以毫秒为单位)。 此值表示自世界协调时间 (UTC) 1970 年 1 月 1 日以来经过的毫秒数。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLI_SECS
版本:Android 13
FOG_LIGHTS_STATE
雾灯状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
FOG_LIGHTS_SWITCH
雾灯开关。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
FORWARD_COLLISION_WARNING_ENABLED
启用或停用前向碰撞警示 (FCW)。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
FORWARD_COLLISION_WARNING_STATE
前向碰撞警示 (FCW) 状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:ForwardCollisionWarningState/ErrorState
单位类型:无
版本:Android 14
FRONT_FOG_LIGHTS_STATE
前雾灯状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
FRONT_FOG_LIGHTS_SWITCH
前雾灯开关。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME
要显示的油耗单位。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_DOOR_OPEN
油门已打开。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_LEVEL
车辆剩余燃料(以毫升为单位)。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLILITER
版本:Android 13
FUEL_LEVEL_LOW
油位过低警告。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
FUEL_VOLUME_DISPLAY_UNITS
要显示的燃油体积单位。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
GEAR_SELECTION
当前选择的档位。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleGear
单位类型:无
版本:Android 13
GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
欧盟的一般安全法规合规性要求。
更改模式:STATIC
访问模式:READ
枚举类型:GsrComplianceRequirementType
单位类型:无
版本:Android 14
GLOVE_BOX_DOOR_POS
表示手套箱门当前位置的属性。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
GLOVE_BOX_LOCKED
锁上或解锁手套箱。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
H 到 I
HANDS_ON_DETECTION_DRIVER_STATE
离手检测 (HOD) 驾驶员状态。返回以下状况:驾驶员的手是否放在方向盘上。通常,此属性应返回 HandsOnDetectionDriverState
或 ErrorState
中定义的有效状态。例如,如果此功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。如果车辆因驾驶员的手离开方向盘时间过长而想要向用户发送警告,则应通过 HANDS_ON_DETECTION_WARNING
显示警告。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 HandsOnDetectionDriverState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:HandsOnDetectionDriverState/ErrorState
单位类型:无
版本:Android 14
HANDS_ON_DETECTION_ENABLED
启用或停用离手检测 (HOD)。设置为 true 表示启用 HOD,设置为 false 表示停用 HOD。当 HOD 处于启用状态时,车辆内的系统应监控驾驶员的手是否放在方向盘上,并在检测到驾驶员的手已离开方向盘时发送警告。一般来说,HANDS_ON_DETECTION_ENABLED
应始终返回 true 或 false。
如果该功能因某种临时状态而不可用,则必须通过 HANDS_ON_DETECTION_STATE
属性中的 ErrorState
值传达此信息。此属性定义为 minInt32Value
VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
HANDS_ON_DETECTION_WARNING
离手检测 (HOD) 警告。返回以下状况:是否因驾驶员双手离开方向盘时间过长而在向驾驶员发送警告。通常,此属性应返回 HandsOnDetectionWarning
或 ErrorState
中定义的有效状态。例如,如果该功能因某种临时状态而不可用,则应通过 ErrorState
传达此信息。对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 HandsOnDetectionWarning
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:HandsOnDetectionWarning/ErrorState
单位类型:无
版本:Android 14
HAZARD_LIGHTS_STATE
危险警示灯的状态。返回危险警示灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HAZARD_LIGHTS_SWITCH
危险警示灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HEADLIGHTS_STATE
前照灯状态。返回前照灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HEADLIGHTS_SWITCH
前照灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HIGH_BEAM_LIGHTS_STATE
远光灯的状态。返回远光灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
HIGH_BEAM_LIGHTS_SWITCH
远光灯开关。用户所需的设置。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
HVAC_AC_ON
为指定的 areaId 开启和关闭空调。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_ACTUAL_FAN_SPEED_RPM
实际风扇速度。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_AUTO_ON
开启和关闭自动温控系统。如果为 true,则自动温控系统处于开启状态。如果为 false,则自动温控系统处于关闭状态。如果车辆不支持直接关闭自动温控系统,原始设备制造商 (OEM) 应在其 VHAL 实现中添加逻辑,以将 HVAC_AUTO_ON
设置为 false,从而更改必要的 HVAC 设置以间接关闭 HVAC_AUTO_ON
。理想情况下,这不应对用户造成干扰。在自动温控系统已关闭时,OEM 应该将被修改的所有设置还原为之前的状态。这样,唯一的结果应该是 HVAC_AUTO_ON
处于关闭状态。如果无法将 HVAC 设置恢复为之前的设置,OEM 应实现干扰最小的更改。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_AUTO_RECIRC_ON
自动内循环开启或关闭。自动内循环处于开启状态时,如果车辆检测到进气质量不佳,HVAC 系统可能会自动切换到内循环模式。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_DEFROSTER
为指定车窗使用风扇除霜。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_DUAL_ON
启用区域之间的温度耦合。HVAC_DUAL_ON
属性的 AreaIDs
应包含可耦合在一起的 HVAC_TEMPERATURE_SET
AreaIDs
组合。如果 HVAC_TEMPERATURE_SET
映射到 AreaIDs
[a_1, a_2, ..., a_n],并且如果 HVAC_DUAL_ON
可启用以耦合 a_i 和 a_j,则 HVAC_DUAL_ON
属性必须映射到 [a_i | a_j]。此外,如果 a_k 和 a_l 也可以单独耦合在一起,则 HVAC_DUAL_ON
必须映射到 [a_i | a_j, a_k | a_l]。例如,某辆汽车有两个前排座椅(ROW_1_LEFT
和 ROW_1_RIGHT
)和三个后排座椅(ROW_2_LEFT、ROW_2_CENTER 和 ROW_2_RIGHT)。有两个温度控制单元,分别位于驾驶员侧和乘客侧,可选择是否让其同步。这可以在 AreaIDs
中按如下方式表示:
HVAC_TEMPERATURE_SET > [ROW_1_LEFT | ROW_2_LEFT, ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT] HVAC_DUAL_ON > [ROW_1_LEFT | ROW_2_LEFT | ROW_1_RIGHT | ROW_2_CENTER | ROW_2_RIGHT]
启用此属性后,ECU 必须同步受影响区域的温度。如果开启或关闭 DUAL_ON 参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。此外,如果设置一个温度(例如,驾驶员温度)会更改另一温度(例如,前排乘客温度),则必须生成适当的 onPropertyEvent()
回调。
如果用户更改温度而破坏了耦合(例如,独立设置乘客侧温度),则 VHAL 必须发送适当的 onPropertyEvent()
回调(包括 HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx
)。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_ELECTRIC_DEFROSTER_ON
电加热除霜器的状态。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_FAN_DIRECTION
风扇方向设置。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleHvacFanDirection
单位类型:无
版本:Android 13
HVAC_FAN_DIRECTION_AVAILABLE
可用风扇位置。这是一个用于表示该区域可用风扇位置的位掩码。每个可用风扇方向在矢量中都由一个单独的条目表示。为了实现某个风扇方向,可能需要同时设置 vehicle_hvac_fan_direction
中的多个位。例如,一辆典型的汽车可能具有以下风扇位置:
- FAN_DIRECTION_FACE (0x1) - FAN_DIRECTION_FLOOR (0x2) - FAN_DIRECTION_FACE | FAN_DIRECTION_FLOOR (0x3) - FAN_DIRECTION_DEFROST (0x4) - FAN_DIRECTION_FLOOR | FAN_DIRECTION_DEFROST (0x6)
更改模式:静态
访问模式:READ
枚举类型:VehicleHvacFanDirection
单位类型:无
版本:Android 13
HVAC_FAN_SPEED
风扇速度设置。必须定义 VehicleAreaConfig 中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
minInt32Value
最低风扇速度maxInt32Value
最高风扇速度
此属性不采用任何特定单位,而是采用相对速度的指定范围。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可选择将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_MAX_AC_ON
开启或关闭 MAX 空调。当 MAX 空调处于开启状态时,ECU 可以根据需要调整通风口位置、风扇速度、温度等项目,以尽快为车辆降温。如果开启或关闭 MAX 空调参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_MAX_DEFROST_ON
开启和关闭 MAX 除霜。当 MAX 除霜处于开启状态时,ECU 可以根据需要调整通风口位置、风扇速度、温度等项目,以尽快给车窗除霜。如果开启或关闭 MAX 除霜参数导致了有参数被修改的副作用,任何被修改的参数都应生成对 VHAL 的 onPropertyEvent()
回调。HVAC_MAX_DEFROST_ON
的 AreaIDs
表示在该区域内 MAX 除霜可控制。例如,areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT}
表示只能控制前排的 HVAC_MAX_DEFROST_ON
。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_POWER_ON
表示 HVAC 的全局电源状态。将此属性设为 false 可能会将一些用于控制各个 HVAC 功能和子系统的属性标记为处于 UNAVAILABLE 状态。将此属性设为 true 可能会将一些用于控制各个 HVAC 功能和子系统的属性标记为处于 AVAILABLE 状态(除非其中任何属性或所有属性都因各自特性而处于 UNAVAILABLE 状态)。
HvacPower_DependentProperties
是指那些需要 HVAC 处于开机状态才能启用功能的属性。例如,在某些车辆中,如需开启空调,必须先将 HVAC 开机。HvacPower_DependentProperties
列表必须在 VehiclePropConfig.configArray
中设置;HvacPower_DependentProperties
只能包含与 VehicleArea:SEAT
相关联的属性
HVAC_POWER_ON
属性的 AreaID 映射必须包含 HvacPower_DependentProperties
映射到的所有 AreaIDs
。例如,一辆汽车有:
- 两个前排座椅(
ROW_1_LEFT
、ROW_1_RIGHT
)和三个后排座椅(ROW_2_LEFT、ROW_2_CENTER、ROW_2_RIGHT)。如果整个车辆的 HVAC 功能(空调、温度等)依赖于单个 HVAC 电源控制器,则HVAC_POWER_ON
必须映射到 [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
- 两个前排座椅(
ROW_1_LEFT
、ROW_1_RIGHT
)、三个第二排座椅 (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT
) 和三个第三排座椅 (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT
)。如果汽车的前排有温度控制器,并且它可以完全独立于车辆后部的温度控制器运行,则必须将HVAC_POWER_ON
映射到一个包含两个元素的数组:- ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以选择将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_RECIRC_ON
开启和关闭内循环。控制车厢内外部空气的供应情况。内循环处于开启状态,表示进入车厢的大部分气流都来自车厢。内循环处于关闭状态,表示进入车厢的大部分气流来自车外。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SEAT_TEMPERATURE
座椅加热和冷却。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示座椅加热温度设置的最高值。除非车辆还支持座椅冷却,否则 minInt32Value
必须为 0。在本例中,minInt32Value
表示座椅冷却温度设置的最高值。此属性不采用任何特定单位,而是采用指定范围的相对温度设置。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SEAT_VENTILATION
座椅通风。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
必须是 0。maxInt32Value
表示座椅可用的最大通风设置。
此属性不采用任何特定单位,而是采用通风设置的指定范围。
供 HVAC 应用和 Google 助理使用,用于启用、更改或读取座椅通风状态。这与座椅冷却不同。它可以在冷却的同时开启,也可不在冷却的同时开启。
此属性定义为 >VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_SIDE_MIRROR_HEAT
侧视镜加热。值越高,表示侧视镜加热水平就越高。必须在 VehicleAreaConfig
中定义 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。在配置数据中:
maxInt32Value
表示最高加热级别。minInt32Value
必须为 0,表示不加热。
此属性不采用任何特定单位,而是采用相对加热设置的指定范围。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以选择将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_STEERING_WHEEL_HEAT
设置方向盘的加热和冷却值范围。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。maxInt32Value
表示方向盘加热设置的最大值。minInt32Value
应为 0,除非车辆也支持方向盘冷却。在本例中,minInt32Value
表示方向盘冷却设置的最大值。此属性不采用任何特定单位,而是采用加热设置的指定范围。此属性定义为 VehiclePropertyAccess.READ
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
HVAC_TEMPERATURE_CURRENT
HVAC 当前温度。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_DISPLAY_UNITS
温度显示单位。指明温度是以摄氏度还是华氏度显示。VehiclePropConfig.configArray
表示支持的温度显示单位。例如,configArray[0] = CELSIUS configArray[1] = FAHRENHEIT
此参数可用于显示系统中的任何 HVAC 温度。值必须为 VehicleUnit.CELSIUS
或 VehicleUnit.FAHRENHEIT
之一
如果更新 HVAC_TEMPERATURE_DISPLAY_UNITS 会影响其他 *_DISPLAY_UNITS
属性的值,则必须更新它们的值,并将其传达给 AAOS 框架。
此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleUnit
单位类型:无
版本:Android 13
HVAC_TEMPERATURE_SET
以摄氏度为单位设置的 HVAC 目标温度。
必须定义 VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
:
minFloatValue
最低温度设置(摄氏度)。maxFloatValue
最高温度设置(摄氏度)。
如果不支持 minFloatValue
和 maxFloatValue
之间的所有值,请使用 configArray
列出可设置的有效温度值。此文件还介绍了用于将车辆温度单位从摄氏度换算为华氏度(反之亦然)的对照表。如果车辆不支持标准单位换算,则必须定义 configArray
。
configArray
的设置如下:
configArray[0]
[支持的温度下限(摄氏度)] * 10configArray[1]
[支持的温度上限(摄氏度)] * 10configArray[2]
[增量(摄氏度)] * 10configArray[3]
[支持的温度下限(华氏度)] * 10configArray[4]
[支持的温度上限(华氏度)] * 10configArray[5]
[增量(华氏度)] * 10
VehicleAreaConfig
中的 minFloatValue
和 maxFloatValue
必须分别等于 configArray[0]
和 configArray[1]
。例如,如果车辆支持温度值为 [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5]
(华氏度),则 configArray
应为 configArray = {160, 280, 5, 605, 845, 10}
理想情况下,摄氏度增量与华氏度增量的比率应尽可能接近 1 摄氏度与 1.8 华氏度的实际比率。所有摄氏度值必须与由 configArray
定义的华氏度值一对一映射。客户使用 configArray
将此属性的温度单位从摄氏度换算为华氏度。此外,它还让客户清楚了解:要将此属性的摄氏度值设置为多少,系统才能达到客户所需的华氏度值。如果 ECU 没有将所有摄氏度值与华氏度值进行一对一映射,则 configArray
应仅定义具有一对一映射关系的摄氏度值和华氏度值列表。
例如,如果 ECU 支持 16 到 28 摄氏度值和 60 到 85 华氏度值,每个值的增量为 1,则一个可能的 configArray
为 code>{160, 280, 10, 600, 840, 20}。在本例中,85 不是受支持的温度。
任何设置在有效值之间的数值都应四舍五入到最接近的有效值。我们强烈建议 OEM 还实现 HVAC_TEMPERATURE_VALUE_SUGGESTION
车辆属性,因为它为应用提供了一种简单的方法来确定可为车辆设置的温度值,以及在摄氏度和华氏度之间换算值。
此属性定义为 VehiclePropertyAccess.READ
,但 OEM 可以将其实现为 VehiclePropertyAccess.READ
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:VehicleUnit:CELSIUS
版本:Android 13
HVAC_TEMPERATURE_VALUE_SUGGESTION
设置 HVAC 温度时的建议值。
实现此属性有助于应用了解最接近的受支持温度值(摄氏度或华氏度)。
floatValues[0]
应用希望设置的目标请求值。floatValues[1]
floatValues[0]
的单位,应为{VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
之一floatValues[2]
OEM 建议的摄氏度值(此值不包含在请求中)。floatValues[3]
OEM 建议的华氏度值(此值不包含在请求中)。
应用调用 set(VehiclePropValue propValue)
并传入请求的值和该值的单位。OEM 需要通过 onPropertyEvent()
回调在 floatValues[2]
和 floatValues[3]
中返回建议的值。建议的值必须符合可从 HVAC_TEMPERATURE_SET
configArray
派生出的值。换句话说,建议的值和 configArray
中的值表应相同。
我们建议 OEM 在其 VHAL 实现中添加自定义逻辑,以避免向 HVAC ECU 发出请求。逻辑可以如下所示。如需将温度从摄氏度换算成华氏度,请执行以下操作:
// Given tempC and the configArray float minTempC = configArray[0] / 10.0; float temperatureIncrementCelsius = configArray[2] / 10.0; float minTempF = configArray[3] / 10.0; float temperatureIncrementFahrenheit = configArray[5] / 10.0; // Round to the closest increment int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius); tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;
例如,当驾驶员使用语音助理将 HVAC 温度设置为华氏 66.2 度时。首先,应用使用值 [66.2, (float)VehicleUnit.FAHRENHEIT,0,0]
设置此属性。如果 OEM 应用户请求建议将温度设置为 19.0 摄氏度或 66.5 华氏度,则 VHAL 必须生成一个具有属性值 [66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5]
的回调。语音助理收到回调后,会通知用户并将 HVAC 温度设置为建议的值。
再举一个例子,一款应用通过查询 HVC_TEMPERATURE_SET
收到 21 摄氏度作为当前温度值,但应用需要知道汽车界面上显示的华氏度值。为此,应用会将该属性设置为 [21, (float)VehicleUnit.CELSIUS, 0, 0]
;如果 OEM 针对 21 摄氏度建议的值为 70 华氏度,则 VHAL 必须生成一个属性值为 [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0]
的回调。在这种情况下,应用就可以知道汽车界面中的值为 70.0 华氏度。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
HW_CUSTOM_INPUT
定义一个自定义 OEM 合作伙伴输入事件。希望传播 Android 不支持的事件的原始设备制造商 (OEM) 合作伙伴必须使用此输入事件。它仅由一个含 int32 值的数组组成。Android 属性如下:
int32Values[0]
输入代码,用于标识表示此事件的函数。有效事件类型由CustomInputType.CUSTOM_EVENT_F1
定义,最高可达CustomInputType.CUSTOM_EVENT_F10
。它们表示要由 OEM 合作伙伴定义的自定义事件。int32Values[1]
在VehicleDisplay
中定义的目标显示屏类型 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32Values[2]
重复计数器,如果为 0,则表示相应事件未重复。值为 1 或更高表示相应事件已重复的次数。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:CustomInputType
单位类型:无
版本:Android 13
HW_KEY_INPUT
此属性用于将硬件输入事件馈送给 Android。
int32Values[0]
由 VehicleHwKeyInputAction 定义的操作int32Values[1]
键码,必须使用标准 Android 键码int32Values[2]
在VehicleDisplay
中定义的目标显示屏 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32Values[3]
(可选):计数次数。该值必须等于或大于 1。如果省略,Android 会将其默认为 1。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
HW_KEY_INPUT_V2
此属性用于将硬件输入事件馈送给 Android。
int32array[0]
由VehicleDisplay
定义的目标显示屏,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
int32array[1]
键码,必须使用标准 Android 键码,例如KEYCODE_HOME
和KEYCODE_BACK
int32array[2]
VehicleHwKeyInputAction 中定义的操作,例如:
VehicleHwKeyInputAction::ACTION_UP
、VehicleHwKeyInputAction::ACTION_UP
int32array[3]
事件的重复计数。对于键按下事件,这表示重复按下键的计数,第一次按下时从 0 开始递增计数。对于键释放事件,此值始终为 0。int64array[0]
按下时间,自上次启动以来经过的纳秒数。表示最近一次键按下事件的时间。对于键按下事件,这是此类事件的事件时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
HW_MOTION_INPUT
此属性用于将硬件输入事件馈送给 Android。
int32array[0]
由VehicleDisplay
定义的目标显示屏,例如:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER
、VehicleDisplay::AUX
int32array[1]
VehicleHwMotionInputSource 中定义的输入类型,例如:
VehicleHwMotionInputSource::SOURCE_KEYBOARD
、VehicleHwMotionInputSource::SOURCE_DPAD
int32array[2]
VehicleHwMotionInputAction 中定义的操作码,例如:
VehicleHwMotionInputAction::ACTION_UP
、VehicleHwMotionInputAction::ACTION_DOWN
int32array[3]
VehicleHwMotionButtonStateFlag 中定义的按钮状态标志,例如:
VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY
、VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
int32array[4]
指针事件计数,N。N 必须是正整数。int32array[5:5+N-1]
指针 ID,长度为 Nint32array[5+N:5+2*N-1]
工具类型,长度为 N。如VehicleHwMotionToolType
中所定义,例如:
、VehicleHwMotionToolType::TOOL_TYPE_FINGER
、VehicleHwMotionToolType::TOOL_TYPE_STYLUS
floatArray[0:N-1]
x 数据,长度为 NfloatArray[N:2*N-1]
y 数据,长度为 NfloatArray[2*N:3*N-1]
压力数据,长度为 NfloatArray[3*N:4*N-1]
尺寸数据,长度为 Nint64array[0]
按下时间,自启动以来经过的纳秒数。表示用户最初按下键来启动一系列位置事件时的时间。对于键按下事件,这是此类事件的事件时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
HW_ROTARY_INPUT
此属性用于将硬件旋转事件馈送给 Android。
int32Values[0]
RotaryInputType,用于确定旋转了哪个旋钮。int32Values[1]
定位点(发出咔嗒声)数量,顺时针为正数,逆时针为负数。int32Values[2]
在VehicleDisplay
中定义的目标显示屏 未与特定显示屏相关联的事件必须发送到VehicleDisplay#MAIN
int32values[3 .. 3 + abs(number of detents) - 2]
连续定位点对之间的纳秒差异(当定位点数量大于 1 或小于 -1 时)。VehiclePropValue.timestamp
旋转发生的时间。如果定位点数量大于 1 或小于 -1,则表示发生旋转时到底第一个定位点的时间。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:RotaryInputType
单位类型:无
版本:Android 13
IGNITION_STATE
表示点火状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleIgnitionState
单位类型:无
版本:Android 13
INFO_DRIVER_SEAT
驾驶员座椅位置 VHAL 实现必须忽略 areaId。使用 VehicleArea:GLOBAL
更改模式:静态
访问模式:READ
枚举类型:VehicleAreaSeat
单位类型:无
版本:Android 13
INFO_EV_BATTERY_CAPACITY
电动汽车或混合动力汽车的标称电池容量。返回电动汽车或混合动力汽车的标称电池容量。这是车辆全新时的总可用电池容量。此值可能与 EV_CURRENT_BATTERY_CAPACITY
不同,因为 EV_CURRENT_BATTERY_CAPACITY
会考虑电池老化、温度依赖性等因素,并返回实时可用电池容量。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:WH
版本:Android 13
INFO_EV_CONNECTOR_TYPE
此电动汽车可能使用的连接器的列表。如果车辆有多个充电接口,此属性必须返回车辆上至少一个充电接口可用的所有可能的连接器类型。
更改模式:静态
访问模式:READ
枚举类型:EvConnectorType
单位类型:无
版本:Android 13
INFO_EV_PORT_LOCATION
此属性必须使用 PortLocationType 枚举来传达电动汽车上的充电接口的位置。如果车辆有多个接口,此属性必须返回可实现最快充电速度的接口。如需传达所有接口的位置,请使用 INFO_MULTI_EV_PORT_LOCATIONS
访问模式:读取
枚举类型:
PortLocationType
单位类型:无
版本:Android 13
INFO_EXTERIOR_DIMENSIONS
车辆外部尺寸:
- 高度:
int32Values[0]
- 长度:
int32Values[1]
- 宽度:
int32Values[2]
- 宽度(包括车镜):
int32Values[3]
- 轴距(包括车镜):
int32Values[4]
- 前轮距:
int32Values[5]
- 后轮距:
int32Values[6]
- 路缘到路缘转弯直径:
int32Values[7]
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLIMETER
版本:Android 13
INFO_FUEL_CAPACITY
车辆的燃料容量(以毫升为单位)。此属性必须传达车辆中可存储的最大燃料量(以毫升为单位)。此属性不适用于电动汽车 (EV)。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现 INFO_FUEL_CAPACITY。对于电动汽车,请实现 INFO_EV_BATTERY_CAPACITY。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:MILLILITER
版本:Android 13
INFO_FUEL_DOOR_LOCATION
油箱盖位置。此属性必须传达车辆油箱盖的位置。此属性不适用于电动汽车。也就是说,如果 INFO_FUEL_TYPE
仅包含 FuelType::FUEL_TYPE_ELECTRIC
,则不得实现此属性。对于电动汽车,请实现 INFO_EV_PORT_LOCATION
或 INFO_MULTI_LOCATIONS
更改模式:静态
访问模式:READ
枚举类型:PortLocationType
单位类型:无
版本:Android 13
INFO_FUEL_TYPE
车辆可能使用的燃料的列表。必须仅在车辆可插电充电时才包含 FuelType::FUEL_TYPE_ELECTRIC
。例如,全混合动力汽车 (FHEV) 不得将 FuelType::FUEL_TYPE_ELECTRIC
作为 INT32_VEC 值包含在内;INFO_FUEL_TYPE
可以这样填充。
int32Values = { FuelType::FUEL_TYPE_UNLEADED }
FuelType::FUEL_TYPE_ELECTRIC
作为 INFO_FUEL_TYPE
的 INT32_VEC 值;INFO_FUEL_TYPE
可以这样填充:int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }
更改模式:静态
访问模式:READ
枚举类型:FuelType
单位类型:无
版本:Android 13
INFO_MAKE
车辆制造商。此属性必须传达车辆的公开品牌名称。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INFO_MODEL
车辆型号。此属性必须传达车辆的公开品牌名称。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INFO_MODEL_YEAR
车辆的车型年份,采用公历的“YYYY”格式。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:YEAR
版本:Android 13
INFO_MULTI_EV_PORT_LOCATIONS
多个电动汽车充电接口位置。如果车辆有多个电动汽车充电接口,请实现此属性。接口位置在 PortLocationType 中定义。例如:一辆车在前左侧有一个接口,在后左侧也有一个接口:
int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT
如果车辆只有一个端口,此属性的值应列出一个元素。如需说明一个接口位置,请参阅 INFO-EV-PORT-LOCATION
.
更改模式:静态
访问模式:READ
枚举类型:PortLocationType
单位类型:无
版本:Android 13
INFO_VIN
汽车的车辆识别码 (VIN)。
更改模式:静态
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
INITIAL_USER_INFO
定义初始化期间要使用的 Android 用户。Android 系统在初始化时会调用此属性,并让 HAL 定义应启动哪个 Android 用户。此请求是通过设置 VehiclePropValue(由 InitialUserInfoRequest
定义)发出的,并且 HAL 必须通过属性更改事件(由 InitialUserInfoResponse 定义)进行响应。如果 HAL 在 Android 系统定义的时间后没有响应,Android 系统会继续执行,就像 HAL 返回了操作 InitialUserInfoResponseAction:DEFAULT 的响应一样。例如,在首次启动时,请求可以是:
int32[0] 42 // request id (arbitrary number set by Android system) int32[1] 1 // InitialUserInfoRequestType::FIRST_BOOT int32[2] 0 // id of current user (usersInfo.currentUser.userId) int32[3] 1 // flag of current user (usersInfo.currentUser.flags = SYSTEM) int32[4] 1 // number of existing users (usersInfo.numberUsers); int32[5] 0 // user #0 (usersInfo.existingUsers[0].userId) int32[6] 1 // flags of user #0 (usersInfo.existingUsers[0].flags)
int32[0] 42 // must match the request id from the request int32[1] 2 // action = InitialUserInfoResponseAction::CREATE int32[2] -10000 // userToSwitchOrCreate.userId (not used as user will be created) int32[3] 8 // userToSwitchOrCreate.flags = ADMIN string: "||Owner" // userLocales + separator + userNameToCreate
InitialUserInfoResponseAction:CREATE
时)。例如,如需使用 en-US 和 pt-BR 语言区域创建同一个“Owner”用户,响应的字符串值为 en-US,pt-BR||Owner。因此,语言区域和名称中都不能包含两条竖线 (||
),但可以使用单条竖线 (|
)。
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 13
J 到 R
LANE_CENTERING_ASSIST_COMMAND
车道居中辅助 (LCA) 命令。此类命令用于启用和暂停 LCA。来自 LaneCenteringAssistCommand
的命令 ACTIVATE
发出时,LANE_CENTERING_ASSIST_STATE
必须设置为 LaneCenteringAssistState#ACTIVATION_REQUESTED
。当 ACTIVATE
命令成功时,LANE_CENTERING_ASSIST_STATE
必须设置为 LaneCenteringAssistState#ACTIVATED
。当来自 LaneCenteringAssistCommand
的命令 DEACTIVATE
成功时,LANE_CENTERING_ASSIST_STATE
必须设置为 LaneCenteringAssistState#ENABLED
。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
,除非同时支持 LaneCenteringAssistCommand
的所有枚举值。如果此属性因 LCA 处于停用状态(例如 LANE_CENTERING_ASSIST_ENABLED
为 false)而不可用,则必须返回 StatusCode#NOT_AVAILABLE_DISABLED
。如果实现了 LANE_CENTERING_ASSIST_STATE
且状态设置为 ErrorState
值,则此属性必须返回与 ErrorState
值一致的 StatusCode
。例如,如果 LANE_CENTERING_ASSIST_STATE
设置为 ErrorState#NOT_AVAILABLE_SPEED_LOW
,则此属性必须返回 StatusCode#NOT_AVAILABLE_SPEED_LOW
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:LaneCenteringAssistCommand
单位类型:无
版本:Android 14
LANE_CENTERING_ASSIST_ENABLED
启用或停用车道居中辅助 (LCA)。设置为 true 表示启用 LCA,设置为 false 表示停用 LCA。当 LCA 处于启用状态时,车辆中的 ADAS 系统应处于开启状态并等待来自驾驶员的启用信号。此功能启用后,ADAS 系统应驾驶车辆,使其保持在当前车道中间行驶。
这与车道保持辅助 (LKA) 不同,后者用于监测驾驶员是否无意中向车道标线偏移或越过车道标线。如果检测到车道意外偏离,系统会应用转向控制让车辆返回到当前车道。一般来说,LANE_CENTERING_ASSIST_ENABLED
应始终返回 true 或 false。 如果该功能因某种临时状态(例如车速过慢或过快)而不可用,则必须通过 LANE_CENTERING_ASSIST_STATE
属性中的 ErrorState
值传达此信息。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
LANE_CENTERING_ASSIST_STATE
车道居中辅助 (LCA) 状态。返回 LCA 的当前状态。此属性必须始终返回 LaneCenteringAssistState
或 ErrorState
中定义的有效状态。它不得通过 StatusCode
显示错误,而必须改用受支持的错误状态。
如果 LCA 包含车道偏离警告,这些警告必须通过车道偏离警告 (LDW) 属性显示。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 LaneCenteringAssistState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:LaneCenteringAssistState/ErrorState
单位类型:无
版本:Android 14
LANE_DEPARTURE_WARNING_ENABLED
启用或停用车道偏离警告 (LDW)。设置为 true 表示启用 LDW,设置为 false 表示停用 LDW。当 LDW 处于启用状态时,车辆中的 ADAS 系统应保持开启,并监测车辆是否接近或越过车道线;如果是,则会发出警告。
一般来说,LANE_DEPARTURE_WARNING_ENABLED
应始终返回 true 或 false。 如果该功能因某种临时状态(例如车速过慢或过快)而不可用,则必须通过 LANE_DEPARTURE_WARNING_STATE
属性中的 ErrorState
值传达此信息。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
LANE_DEPARTURE_WARNING_STATE
车道偏离警告 (LDW) 状态。返回 LDW 的当前状态。此属性必须始终返回 LaneDepartureWarningState
或 ErrorState
中定义的有效状态。它不得通过 StatusCode
显示错误,而必须改用受支持的错误状态。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 LaneDepartureWarningState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:LaneDepartureWarningState/ErrorState
单位类型:无
版本:Android 14
LANE_KEEP_ASSIST_ENABLED
启用或停用车道保持辅助 (LKA)。设置为 true 表示启用 LKA,设置为 false 表示停用 LKA。当 LKA 处于启用状态时,车辆中的 ADAS 系统应保持开启,并监测驾驶员是否无意中向车道标线偏移或越过车道标线。如果检测到车道意外偏离,系统会应用转向控制让车辆返回到当前车道。这与车道居中辅助 (LCA) 不同,LCA 在启用后会应用连续转向控制,让车辆保持在当前车道中间行驶。
一般来说,LANE_KEEP_ASSIST_ENABLED
应始终返回 true 或 false。 如果该功能因某种临时状态(例如车速过慢或过快)而不可用,则必须通过 LANE_KEEP_ASSIST_STATE
属性中的 ErrorState
值传达此信息。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
LANE_KEEP_ASSIST_STATE
车道保持辅助 (LKA) 状态。返回 LKA 的当前状态。此属性必须始终返回 LaneKeepAssistState
或 ErrorState
中定义的有效状态。它不得通过 StatusCode
显示错误,而必须改用受支持的错误状态。
如果 LKA 包含在应用转向修正之前发出车道偏离警告,这些警告必须通过车道偏离警告 (LDW) 属性显示。
对于全局区域 ID (0),必须定义 VehicleAreaConfig#supportedEnumValues
数组,除非同时支持 LaneKeepAssistState
(包括不推荐的 OTHER)和 ErrorState
的所有状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:LaneKeepAssistState/ErrorState
单位类型:无
版本:Android 14
LOCATION_CHARACTERIZATION
对用于计算位置的输入内容的特性描述。此属性必须指明:系统在计算通过 GNSS HAL 与 Android 共享的车辆位置信息时会考虑哪些数据和传感器输入(如果有)。
该值必须返回一组位标志。位标志在 LocationCharacterization 中定义。该值还必须在其位标志集合中确切包含 DEAD_RECKONED
或 RAW_GNSS_ONLY
之一。
如果不支持此属性,则假定没有其他传感器输入会融合到通过 GNSS HAL 提供的 GNSS 更新中。除非通过 GNSS HAL 接口另行指定。
更改模式:STATIC
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 14
MIRROR_AUTO_FOLD_ENABLED
表示车镜自动折叠功能的属性。当启用自动折叠车辆侧视镜的功能(例如当驾驶员离开并锁车后,车镜自动向内折叠)时,此属性为 true。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
MIRROR_AUTO_TILT_ENABLED
表示车镜自动倾斜功能的属性。当启用自动倾斜车辆侧视镜的功能(例如当驾驶员倒车时,车镜自动向下倾斜)时,此属性为 true。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 14
MIRROR_FOLD
车镜折叠。true 表示车镜已折叠。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
MIRROR_LOCK
车镜锁定。true 表示车镜位置已锁定且不可更改。此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
MIRROR_Y_MOVE
车镜在 Y 轴上的移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。
必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示车镜在向右倾斜时的最快移动速度。minInt32Value
表示车镜在向左倾斜时的最快移动速度。
绝对值越大(无论是正值还是负值),表示移动速度就越快。车镜达到位置极限后,该值必须重置为 0。如果 MIRROR_Y_MOVE 的值目前为 0,则表示目前没有发生任何移动。
此属性不采用任何特定单位,而是采用相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
MIRROR_Y_POS
车镜在 Y 轴上的位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。
必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示车镜完全向左倾斜。
此值必须为非正值。maxInt32Value
表示车镜完全向右倾斜。此值必须为非负值。0 表示镜子没有向任一方向倾斜。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于左极限位置和右极限位置之间的过渡状态。
此属性不采用任何特定单位,而是采用相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
MIRROR_Z_MOVE
车镜在 Z 轴上的移动。必须定义每个 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。
必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。
maxInt32Value
表示车镜在向上倾斜时的最快移动速度。minInt32Value
表示车镜在向下倾斜时的最快移动速度。绝对值越大(无论是正值还是负值),表示移动速度就越快。车镜达到位置极限后,该值必须重置为 0。如果 MIRROR_Z_MOVE 的值目前为 0,则表示目前没有发生任何移动。
此属性不采用任何特定单位,而是采用相对移动速度的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
MIRROR_Z_POS
车镜在 Z 轴上的位置。必须定义 VehicleAreaConfig
中的 maxInt32Value
和 minInt32Value
。 必须支持 minInt32Value
到 maxInt32Value
之间的所有整数。minInt32Value
表示车镜完全向下倾斜。此值必须为非正值。maxInt32Value
表示车镜完全向上倾斜。此值必须为非负值。0 表示车镜没有向任一方向倾斜。
如果值介于 minInt32Value
和 maxInt32Value
之间,表示车镜处于完全向下位置和完全向上位置之间的过渡状态。
此属性不采用任何特定单位,而是采用相对位置的指定范围。
此属性定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:无
单位类型:无
版本:Android 13
NIGHT_MODE
true 表示夜间模式传感器检测到车厢环境光线较弱。例如,平台可以利用此信息启用适当的界面,以便在黑暗或弱光环境中获得更好的视效。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
OBD2_FREEZE_FRAME
报告在故障发生并被检测到时可用的 OBD2 传感器值的快照。提供的 configArray 的含义必须与为 OBD2_LIVE_FRAME
定义的含义相同
此属性的值的解读方式与 OBD2_LIVE_FRAME
类似,只不过 stringValue 字段可能包含非空的诊断问题排查代码 (DTC)。
此属性的 IVehicle#get 请求必须为 int64Values[0] 提供值。系统会将其解读为要检索的冻结帧的时间戳。可以通过 IVehicle#get 方法获取 OBD2_FREEZE_FRAME_INFO
,来获得时间戳列表。
如果在给定时间戳处没有可用的冻结帧,实现必须返回 NOT_AVAILABLE
响应。由于车辆的冻结帧存储空间可能有限,因此即使最近通过 OBD2_FREEZE_FRAME_INFO
获取了关联的时间戳,帧请求也可能会以 NOT_AVAILABLE
进行响应。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
OBD2_FREEZE_FRAME_CLEAR
清除冻结帧。报告在故障发生并被检测到时可用的 OBD2 传感器值的快照。提供的 configArray 的含义必须与为 OBD2_LIVE_FRAME
定义的含义相同
此属性的值的解读方式与 OBD2_LIVE_FRAME
类似,只不过 stringValue 字段可能包含非空的诊断问题排查代码 (DTC)。
此属性的 IVehicle#get 请求必须为 int64Values[0] 提供值。系统会将其解读为要检索的冻结帧的时间戳。可以通过 IVehicle#get 方法获取 OBD2_FREEZE_FRAME_INFO
,来获得时间戳列表。
如果在给定时间戳处没有可用的冻结帧,实现必须返回 NOT_AVAILABLE
响应。由于车辆的冻结帧存储空间可能有限,因此即使最近通过 OBD2_FREEZE_FRAME_INFO
获取了关联的时间戳,帧请求也可能会以 NOT_AVAILABLE
响应
更改模式:ON_CHANGE
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
OBD2_FREEZE_FRAME_INFO
此属性描述了存储在车辆内存中且可通过 OBD2_FREEZE_FRAME
检索的当前冻结帧。这些值的解读如下。int64Values 的每个元素都必须是检测到故障代码并存储相应冻结帧的时间戳,并且每个此类元素都可以用作 OBD2_FREEZE_FRAME
的键来检索相应的冻结帧。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
OBD2_LIVE_FRAME
报告可用 OBD2 传感器的当前(实时)值的快照。configArray 的设置如下所示:
configArray[0]
供应商特定的整数值传感器的数量configArray[1]
供应商特定的浮点值传感器的数量
此属性的值应按以下示例进行解读。考虑 configArray = {2,3} int32Values
必须是一个包含 Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX
和两个元素(即 33 个元素)的向量。floatValues
必须是一个包含 Obd2FloatSensorIndex.LAST_SYSTEM_INDEX
和三个元素(即 73 个元素)的向量。
每个帧都可能包含不同的传感器值子集,既有系统提供的传感器,又有特定供应商的传感器。为了支持这一点,属性值的字节元素会用作位掩码。字节数必须足以表示可能的传感器总数(在本例中,14 个字节表示 106 个可能的值)。它应被读取为连续的位掩码,以便每个位都表示帧中是否存在传感器,从与 int32Values
大小相同数量的位开始,紧接着读取与 floatValues 大小相同数量的位。
例如,如果 bytes[0] = 0x4C (0b01001100)
,则表示:
int32Values[0 and 1]
不是有效的传感器值int32Values[2 and 3]
是有效的传感器值int32Values[4 and 5]
不是有效的传感器值int32Values[6]
是有效的传感器值int32Values[7]
不是有效的传感器值int32Values[0 and 1]
不是有效的传感器值int32Values[2 and 3]
是有效的传感器值int32Values[4 and 5]
不是有效的传感器值int32Values[6]
是有效的传感器值int32Values[7]
不是有效的传感器值
如果 bytes[5] = 0x61 (0b01100001)
,则:
int32Values[32]
是有效的传感器值floatValues[0 thru 3]
是无效的传感器值floatValues[4 and 5]
是有效的传感器值floatValues[6]
不是有效的传感器值。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
ON_CHANGE
更改模式:
访问模式:READ_WRITE/READ
枚举类型:
VehicleLightSwitch
单位类型:无
版本:Android 13
PARKING_BRAKE_AUTO_APPLY
自动应用驻车制动。如果为 true,此属性表示汽车的自动驻车制动功能已启用。false 表示汽车的自动驻车制动功能已停用。此属性经常与 PARKING_BRAKE_ON
混淆。区别在于 PARKING_BRAKE_ON
表示实际驻车制动处于开启还是关闭状态;而 PARKING_BRAKE_AUTO_APPLY
表示自动驻车制动功能处于启用还是停用状态,并不描述实际驻车制动的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
PARKING_BRAKE_ON
驻车制动状态。如果此属性为 true,表示汽车的驻车制动已启用。false 表示汽车的驻车制动处于解除状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
PER_DISPLAY_BRIGHTNESS
此属性用于表示单独受控制的显示屏的亮度。某些汽车有一个或多个亮度可单独控制的显示屏,此属性用于告知每个乘客显示屏的亮度。如果所有显示屏的亮度都一起受控,汽车必须使用 DISPLAY_BRIGHTNESS
应仅实现 PER_DISPLAY_BRIGHTNESS
和 PER_DISPLAY_BRIGHTNESS
中的一项。如果这两者都可用,AAOS 会使用 PER_DISPLAY_BRIGHTNESS
。
显示屏端口唯一性地标识设备上针对显示屏输出的实体连接器,范围从 0 到 255。
int32Values[0]
显示屏端口int32Values[1]
亮度
更改模式:ON_CHANGE
访问模式:READ_WRITE
枚举类型:无
单位类型:无
版本:Android 14
PERF_ODOMETER
车辆的当前里程表值。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:KILOMETER
版本:Android 13
PERF_REAR_STEERING_ANGLE
车辆的自行车模型后轮转向角度。角度以度为单位。左侧为负数。 此属性与方向盘的角度无关。此属性必须传达后轮相对于车辆的角度,而不是方向盘的角度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:DEGREES
版本:Android 13
PERF_STEERING_ANGLE
车辆的自行车模型前轮转向角度。角度以度为单位。左侧为负数。此属性与方向盘的角度无关。此属性必须传达前轮相对于车辆的角度,而不是方向盘的角度。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:DEGREES
版本:Android 13
PERF_VEHICLE_SPEED
车辆的速度。当车辆前进时,该值必须为正值;当车辆倒车时,该值必须为负值。此值与档位值(CURRENT_GEAR
或 GEAR_SELECTION
)无关。例如,如果 GEAR_SELECTION
为 GEAR_NEUTRAL
,则 PERF_VEHICLE_SPEED
在车辆前进时为正数,在车辆倒车时为负数,在车辆不动时为零。
更改模式:CONTINUOUS
访问模式:READ
单位类型:无
单位类型:VehicleUnit:METER_PER_SEC
版本:Android 13
PERF_VEHICLE_SPEED_DISPLAY
显示屏上车辆的速度,某些汽车的速度表上显示的速度会比实际速度略慢。
更改模式:CONTINUOUS
访问模式:READ
枚举类型:无
单位类型:VehicleUnit:METER_PER_SEC
版本:Android 13
POWER_POLICY_GROUP_REQ
定义了一项请求,用于设置电源策略组,以便在每次电源状态转换时决定默认电源策略。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
POWER_POLICY_REQ
定义应用电源策略的请求。VHAL 会设置此属性以更改汽车电源策略。汽车电源策略服务会订阅此属性,并实际更改电源策略。该请求是通过使用在 /vendor/etc/automotive/power_policy.xml
中定义的电源策略的 ID 设置 VehiclePropValue 来发出的。如果未定义给定 ID,汽车电源策略服务会忽略该请求,并保持当前电源策略。
string: "sample_policy_id" // power policy ID
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
POWER_POLICY_GROUP_REQ
定义了一项请求,用于设置电源策略组,以便在每次电源状态转换时决定默认电源策略。VHAL 使用电源策略组的 ID 设置此属性,以设置在电源状态转换时应用的默认电源策略。电源策略组在 /vendor/etc/power_policy.xml 中定义。如果未定义给定 ID,汽车电源策略服务会忽略该请求。汽车电源策略服务会订阅此属性并设置电源策略组。当系统电源状态发生变化且有针对新电源状态的有效映射电源策略时,系统会实际应用电源策略。
string: "sample_policy_group_id" // power policy group ID
更改模式:ON_CHANGE
访问模式:READ
枚举类型:无
单位类型:无
版本:Android 13
RANGE_REMAINING
剩余续航里程。剩余燃料和电量可行驶的里程数(以米为单位)。剩余续航里程应考虑车辆中的所有能量来源。例如,混动车的续航里程是基于燃油和电池的续航里程之和。此属性定义为 VehiclePropertyAccess.READ_WRITE
,因为导航应用如果能根据后续路线得到更准确的估算值,便可能会更新续航里程。此属性可由 OEM 自行决定实现为仅 VehiclePropertyAccess.READ
。
更改模式:CONTINUOUS
访问模式:READ_WRITE
枚举类型:无
单位类型:VehicleUnit:METER
版本:Android 13
READING_LIGHTS_STATE
返回阅读灯的当前状态。
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
READING_LIGHTS_SWITCH
用于控制阅读灯的开关。如果灯开着是因为门打开了或因为语音指令,则可能与 READING_LIGHTS_STATE
不同。例如,当开关处于关闭或自动位置时。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
REAR_FOG_LIGHTS_STATE
返回后雾灯的当前状态。只能实现 FOG_LIGHTS_STATE
或 REAR_FOG_LIGHTS_STATE
之一。请参见 FOG_LIGHTS_STATE
更改模式:ON_CHANGE
访问模式:READ
枚举类型:VehicleLightState
单位类型:无
版本:Android 13
REAR_FOG_LIGHTS_SWITCH
用户所需的设置。必须实现 FOG_LIGHTS_SWITCH
或 REAR_FOG_LIGHTS_SWITCH
中的一个。如需了解详情,请参阅 FOG_LIGHTS_SWITCH
。此属性被定义为 VehiclePropertyAccess.READ_WRITE
,但 OEM 可以将其实现为仅 VehiclePropertyAccess.READ
。
更改模式:ON_CHANGE
访问模式:READ_WRITE/READ
枚举类型:VehicleLightSwitch
单位类型:无
版本:Android 13
REMOVE_USER
在某个 Android 用户被移除后由 Android 系统调用。HAL 可以使用此属性来移除相应的用户。这是只写调用。Android 系统不会预期 HAL 发来回复。因此,此请求不应失败。如果无法移除相应 HAL 用户,则 HAL 应将其标记为非活跃状态或通过另一方式恢复。
该请求是通过使用 RemoveUserRequest
定义的内容设置 VehiclePropValue 来发出的。例如,如果系统有 3 位用户(0、10 和 11),并且移除了用户 11,请求如下所示:
int32[0]
42 // 请求 IDint32[1]
11 //(被移除用户的 Android 用户 ID)int32[2]
0 //(被移除用户的 Android 用户标志)int32[3]
10 // 当前用户int32[4]
0 // 当前用户标志(无)int32[5]
2 // 用户数量int32[6]
0 // 第一位用户(用户 0)int32[7]
0 // 第一位用户标志(无)int32[8]
10 // 第二位用户(用户 10)int32[9
] 0 // 第二位用户标志(无)
更改模式:STATIC
访问模式:WRITE
枚举类型:无
单位类型:无
版本:Android 13
S 到 Z
SEAT_AIRBAG_ENABLED
Represents feature to enable and disable a seat's ability to deploy airbag(s) when triggered
(for example, in a collision). If true
, it means the seat's airbags are enabled and,
if triggered, they deploy. If true
, the seat's airbags are disabled, and they do
not deploy in any circumstances. This property does not indicate if the airbags are deployed.
This property can be set to VehiclePropertyAccess.READ
read only for the purpose of
regulation or safety concerns.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_BACKREST_ANGLE_1_MOVE
Seat backrest angle 1 move. The maxInt32Value
and minInt32Value
in
each VehicleAreaConfig
must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat backrest while
angling forward. The minInt32Value
represents the maximum movement speed of the seat
backrest when reclining.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_BACKREST_ANGLE_1_MOVE
is 0, no movement is occurring.
This property is represented in a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_1_POS
Seat backrest angle 1 position. Backrest angle 1 is the actuator closest to the bottom of the
seat. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported. The minInt32Value
indicates the
seat backrest's full recline position with regard to the actuator at the bottom of the seat. The
maxInt32Value
indicates the seat backrest's most upright or forward position with
regard to the actuator at the bottom of the seat.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the full recline and the upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_2_MOVE
Seat backrest angle 2 move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat backrest while
angling forward. The minInt32Value
represents the maximum movement speed of the seat
backrest while reclining.
Larger absolute values, positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_BACKREST_ANGLE_2_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BACKREST_ANGLE_2_POS
Seat backrest angle 2 position. Backrest angle 2 is the next actuator up from the bottom of the seat.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be #0supported.
The minInt32Value
indicates the seat backrest's full recline position with regard
to the next actuator in the backrest from the one at the bottom of the seat (see
SEAT_BACKREST_ANGLE_1_POS
for details). maxInt32Value
indicates the
seat backrest's most upright and forward position with regard to the next actuator in the backrest
from the one at the bottom of the seat (see SEAT_BACKREST_ANGLE_1_POS
for details).
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the full recline and upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_BUCKLED
Seatbelt buckled. True indicates belt is buckled. Write access indicates automatic seat buckling
capabilities. This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs
can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_HEIGHT_MOVE
Seatbelt height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat belt's shoulder
anchor while moving up. The minInt32Value
represents the maximum movement speed of
the seat belt's shoulder anchor while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat belt reaches the positional limit, the value must reset to 0. If the value of
SEAT_BELT_HEIGHT_MOVE
is 0, no movement is underway.
This property is represented as a a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_BELT_HEIGHT_POS
Seatbelt height position. Adjusts the shoulder belt anchor point.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The minInt32Value
indicates the seat belt's shoulder anchor is at its lowest
position. The maxInt32Value
indicates the seat belt's shoulder anchor is at its
highest position.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_CUSHION_SIDE_SUPPORT_MOVE
Represents property for movement direction and speed of seat cushion side support.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat cushion side
support when growing wider (for example, support is decreasing). The minInt32Value
represents the maximum movement speed of the seat cushion side support when growing narrower
(for example, support is increasing).
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat cushion side support reaches the positional limit, the value must reset to 0. If the value of
SEAT_CUSHION_SIDE_SUPPORT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_CUSHION_SIDE_SUPPORT_POS
Represents property for seat's hipside (bottom cushion's side) support position.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be defined. All integers
between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
indicates the seat cushion side support is in its widest position (for example,
least support). The minInt32Value
indicates the seat cushion side support is in its thinnest
position (for example, most support).
Values in between minInt32Value
and maxInt32Value
indicate a transition state between the
thinnest and widest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_DEPTH_MOVE
Seat depth move.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat while getting
deeper The minInt32Value
represents the maximum movement speed of the seat while
getting shallower.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat backrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_DEPTH_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_DEPTH_POS
Seat depth position. Sets the seat depth, distance from back rest to front edge of seat.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All integers
between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the seat is in its shallowest position (for example, the position with
the smallest distance between the front edge of the seat cushion and the rear end of the seat).
The maxInt32Value
indicates the seat is in its deepest position (for example, the position with the
largest distance between the front edge of the seat cushion and the rear end of the seat).
Values in between minInt32Value
and maxInt32Value
indicate a transition state between the
shallowest and deepest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_EASY_ACCESS_ENABLED
Represents property for Seat easy access feature. If true, the seat is automatically adjusted
to make it easier for the occupant to enter and exit the vehicle. Each area ID must map to the
seat that the user is trying to enter/exit with the help of the easy access feature.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_FOOTWELL_LIGHTS_STATE
Represents property for the seat footwell lights state. SEAT_FOOTWELL_LIGHTS_STATE
reflects the
current state of the lights at any point in time. This is different from the function of
SEAT_FOOTWELL_LIGHTS_SWITCH
which represents the position of the switch controlling the lights.
Therefore, SEAT_FOOTWELL_LIGHTS_STATE
may not match the value of SEAT_FOOTWELL_LIGHTS_SWITCH
(for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
and SEAT_FOOTWELL_LIGHTS_SWITCH=ON
).
This property should only be implemented if SEAT_FOOTWELL_LIGHTS_STATE
's value may be different
from that of CABIN_LIGHTS_STATE.
For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14
SEAT_FOOTWELL_LIGHTS_SWITCH
Represents property for the seat footwell lights switch. SEAT_FOOTWELL_LIGHTS_SWITCH
represents
the position of the switch controlling the lights. This is different from the function of
SEAT_FOOTWELL_LIGHTS_STATE which reflects the current state of the lights at any point in time.
Therefore, SEAT_FOOTWELL_LIGHTS_SWITCH
may not match the value of SEAT_FOOTWELL_LIGHTS_STATE
(for example, SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
and SEAT_FOOTWELL_LIGHTS_SWITCH=ON
).
This property should only be implemented if SEAT_FOOTWELL_LIGHTS_SWITCH's value may be different from that of CABIN_LIGHTS_SWITCH.
For each supported area ID, the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightSwitch are supported.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
SEAT_FORE_AFT_MOVE
Seat fore and aft move. This property moves the entire seat forward/backward in the direction that it is facing.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The maxInt32Value
represents the maximum movement speed of the seat while moving
forward. The minInt32Value
represents the maximum movement speed of the seat while
moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat reaches the positional limit, the value must reset to 0. If the value of
SEAT_FORE_AFT_MOVE
is 0, no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_FORE_AFT_POS
Seat fore and aft position. Sets the seat position forward and backward.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the seat is at its rearward-most linear position.
The maxInt32Value
indicates the seat is at its forward-most linear position. Values
between minInt32Value
and maxInt32Value
indicate a transition state
between the closest and farthest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_ANGLE_MOVE
Headrest angle move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest while
moving into an upright or forward position. The minInt32Value
represents the maximum
movement speed of the seat's headrest while moving into a shallow position.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEADREST_ANGLE_MOVE
is 0, thenno movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_ANGLE_POS
Headrest angle position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the headrest is in its full recline position. The
maxInt32Value
indicates the headrest is in its most upright and forward position.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the full recline and most upright and forward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_FORE_AFT_MOVE
Headrest fore and aft move. The maxInt32Value
and minInt32Value
in
each VehicleAreaConfig
must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest
while moving forward. The minInt32Value
represents the maximum movement speed of
the seat's headrest while moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEADREST_FORE_AFT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_FORE_AFT_POS
Headrest fore and aft position. The maxInt32Value
and minInt32Value
in VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the headrest is in its rearward-most linear position.
The maxInt32Value
indicates the headrest is in its forward-most linear position.
Values between minInt32Value
and maxInt32Value
indicate a transition
state between the forward and backward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_MOVE
Headrest height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's headrest while
moving up. The minInt32Value
represents the maximum movement speed of the seat's
headrest while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's headrest reaches the positional limit, the value must reset to 0. If the value for
SEAT_HEADREST_HEIGHT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_POS
(Deprecated) Headrest height position.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEADREST_HEIGHT_POS_V2
Headrest height position. Sets the headrest height for supported seats. VehiclePropConfig.areaConfigs specifies which seats are supported.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported.
The minInt32Value
indicates the headrest is in its lowest position. The
maxInt32Value
indicates the headrest is in its highest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_HEIGHT_MOVE
Seat height move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
maxInt32Value
represents the maximum movement speed of the seat when moving up.
minInt32Value
represents the maximum movement speed of the seat when moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
seat reaches the positional limit, the value must reset to 0. If the value of
SEAT_HEIGHT_MOVE
value is 0, no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_HEIGHT_POS
Seat height position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The minInt32Value
indicates the seat is in its lowest position. The
maxInt32Value
indicates the seat is in its highest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_FORE_AFT_MOVE
Lumbar fore and aft move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's lumbar support
while moving forward. The minInt32Value
represents the maximum movement speed of
the seat's lumbar support while moving backward.
Larger absolute values, either positive or negative, indicate a faster movement speed.
Once the seat's lumbar support reaches the positional limit, the value must reset to 0.
If the value of SEAT_LUMBAR_FORE_AFT_MOVE
is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_FORE_AFT_POS
Lumber fore and aft position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported.
The minInt32Value
indicates the lumbar support is in its rearward most position
(for example, least supportive position). The maxInt32Value
indicates the lumbar
support is in its forward most position (for example, most supportive position).
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the forward and rearward positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_SIDE_SUPPORT_MOVE
Lumbar side support move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the seat's lumbar side
support while getting wider. The minInt32Value
represents the maximum movement
speed of the seat's lumbar side support while getting thinner.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once
the seat's lumbar side support reaches the positional limit, the value must reset to 0. If the
value of SEAT_LUMBAR_SIDE_SUPPORT_MOVE
0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_LUMBAR_SIDE_SUPPORT_POS
Lumbar side support position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the lumbar side support is in its thinnest position (for example, most support). The
maxInt32Value
indicates the lumbar side support is in its widest position (for
example, least support).
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the thinnest and widest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access type: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_LUMBAR_VERTICAL_MOVE
Represents property for vertical movement direction and speed of seat lumbar support.
The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be
defined. All integers between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the lumbar support is moving at the fastest
upward speed. The minInt32Value
indicates the lumbar support is moving at the fastest
down speed.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat cushion side support reaches the positional limit, the value must reset to 0. If the value of SEAT_LUMBAR_VERTICAL_MOVE's is 0, then no movement is occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_LUMBAR_VERTICAL_POS
Represents property for seat's lumbar support vertical position. The maxInt32Value
and minInt32Value
in each VehicleAreaConfig must be defined. All integers between
minInt32Value
and maxInt32Value
must be supported.
maxInt32Value
indicates the lumbar support's highest position.
minInt32Value
indicates the lumbar support's lowest position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_MEMORY_SELECT
This parameter selects the memory preset to use to select the seat position. The
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
is always 0, and the maxInt32Value
determines
the number of seat preset memory slots available (for example, numSeatPresets - 1). For instance,
if the driver's seat has three memory presets, the maxInt32Value
is two. When the
user selects a preset, the desired preset number (0, 1, or 2) is set.
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_MEMORY_SET
This setting allows the user to save the current seat position settings into the selected preset
slot. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. The minInt32Value
must be 0, and the
maxInt32Value
for each seat position must match the maxInt32Value
for
SEAT_MEMORY_SELECT
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_OCCUPANCY
Indicates if a specific seat is occupied, to the best of the car's ability to determine. Valid
values are from the VehicleSeatOccupancyState
enum.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleSeatOccupancyState
Unit type: N/A
Release: Android 13
SEAT_TILT_MOVE
Seat tilt move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The maxInt32Value
represents the maximum movement speed of the front edge of the seat while moving up. The
minInt32Value
represents the maximum movement speed of the front edge of the seat
while moving down.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the seat bottom reaches the positional limit, the value must reset to 0. If SEAT_TILT_MOVE's value is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SEAT_TILT_POS
Seat tilt position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the seat bottom is angled at its lowest angular position. This corresponds to the seat's
front edge at its lowest possible position relative to the rear end of the seat.
The maxInt32Value
indicates the seat bottom is angled at its highest angular position.
This corresponds to the seat's front edge at its highest possible position relative to the rear
end of the seat.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SEAT_WALK_IN_POS
Represents property that indicates the current walk-in position of the seat. The
minInt32Value
indicates the normal seat position. The minInt32Value
must be 0. The maxInt32Value
indicates the seat is in the full walk-in position.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the normal and walk-in positions.
This property is represented as a specified range of relative positions.
The area ID must match the seat that actually moves when the walk-in feature activates, not the intended seat the passengers will sit in.
This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs can
implement it as VehiclePropertyAccess.READ only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SHUTDOWN_REQUEST
Request the head unit to be shu down.
This is required for executing a task when the head unit is powered off (remote task feature). After the head unit is powered-on to execute the task, the head unit should be shut down. The head unit sends this message once the task is finished.
This property doesn't apply when a user wants to shut down the head unit.
This usually involves telling a separate system outside the head unit (for instance a power controller) to prepare to shut down the head unit.
The external system must validate that this request is valid by checking if the vehicle is in use. If a user enters the vehicle after a SHUTDOWN_REQUEST is sent, then the system must ignore this request. It is recommended to store a VehicleInUse property in the power controller and exposes it through VEHICLE_IN_USE property. A shutdown request must be ignored if VehicleInUse is true.
If allowed, the external system sends a shutdown signal to the head unit, which causes VHAL to send SHUTDOWN_PREPARE message to Android. Android will then start the shut down process by handling the message.
This property is only for issuing a request and only supports writing. Every time this property value is set, the request to shutdown is issued no matter what the current property value is. The current property value is meaningless.
Since this property is write-only, subscribing is not allowed and no property change event is generated.
The value to set indicates the shutdown option, it must be one of
{@code VehicleApPowerStateShutdownParam}
For example,
VehicleApPowerStateShutdownParam.SLEEP_IMMEDIATELY
. This shutdown option might not be
honored if the system doesn't support such option. In such a case, an error is not returned.
For configuration information, VehiclePropConfig.configArray
must have bit flag
combining values in {@code VehicleApPowerStateConfigFlag}
to indicate which shutdown
options are supported.
Returns error if failed to send the shutdown request to the other system.
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: VehicleApPowerStateShutdownParam
>
Unit type: N/A
Release: Android 14
STEERING_WHEEL_DEPTH_MOVE
Steering wheel depth movement. The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All values between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
indicates the steering wheel moving away from the driver. The
minInt32Value
indicates the steering wheel moving towards the driver.
Larger integers, either positive or negative, indicate a faster movement speed. Once the
steering wheel reaches the positional limit, the value must reset to 0. If the value of
STEERING_WHEEL_DEPTH_MOVE
is currently 0, no movement is underway.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_DEPTH_POS
Steering wheel depth position. All steering wheel properties' unique ids start from 0x0BE0.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All values between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the steering wheel position furthest from
the driver. The minInt32Value
indicates the steering wheel position closest to the
driver.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_EASY_ACCESS_ENABLED
Steering wheel easy access feature enabled. If true, the driver's steering wheel is automatically adjusted to make it easier for the driver to enter and exit the vehicle.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_HEIGHT_MOVE
Steering wheel height movement. The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined. All values between minInt32Value
and
maxInt32Value
must be supported.
The maxInt32Value
indicates the steering wheel moving up. The
minInt32Value
indicates the steering wheel moving down.
Larger integers, either positive or negative, indicate a faster movement speed. Once the
steering wheel reaches the positional limit, the value must reset to 0. If
STEERING_WHEEL_HEIGHT_MOVE
's value is currently 0, then that means there is no movement
currently occurring.
This property is represented as a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_HEIGHT_POS
Steering wheel height position.
The maxInt32Value
and minInt32Value
in VehicleAreaConfig must be
defined. All values between minInt32Value
and maxInt32Value
must be
supported. The maxInt32Value
indicates the steering wheel being in the highest
position. The minInt32Value
indicates the steering wheel being in the lowest
position.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the lowest and highest positions.
This property is represented as a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LIGHTS_STATE
Steering wheel lights state. Represents the current state of the steering wheel lights. This is
different from STEERING_WHEEL_LIGHTS_SWITCH
which represents the position of the switch
controlling the lights. Therefore, STEERING_WHEEL_LIGHTS_STATE
may not match the value of
STEERING_WHEEL_LIGHTS_SWITCH
(for example,
and
STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
STEERING_WHEEL_LIGHTS_STATE=ON
).
This property should only be implemented if STEERING_WHEEL_LIGHTS_STATE
's value may be different
from that of CABIN_LIGHTS_STATE.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues must be defined unless all enum values of VehicleLightState are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LIGHTS_SWITCH
Steering wheel lights switch. Represents the position of the switch controlling the steering
wheel lights. This differs from , which represents the current state
of the steering wheel lights. Therefore, STEERING_WHEEL_LIGHTS_SWITCH
may not match
the value of STEERING_WHEEL_LIGHTS_STATE
. For example,
STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
and
STEERING_WHEEL_LIGHTS_STATE=ON
.
This property should only be implemented if the value for
STEERING_WHEEL_LIGHTS_SWITCH
can differ from that of
CABIN_LIGHTS_SWITCH
.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
must be
defined unless all enum values of VehicleLightSwitch are supported.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 14
STEERING_WHEEL_LOCKED
Steering wheel locked. If true, the steering wheel's position is locked and not changeable.
This property is defined as
Change mode: Steering wheel theft lock feature enabled. If true, the steering wheel locks automatically to
prevent theft in certain situations. This property is defined as VehiclePropertyAccess.READ_WRITE,
but OEMs can implement it as VehiclePropertyAccess.READ only.
Change mode: External encryption binding seed. This value is mixed with the local key storage encryption key.
This property holds 16 bytes, and is expected to be persisted on an ECU separate from the IVI.
The property is initially set by AAOS, who generates it using a CSRNG. AAOS then reads the
property on subsequent boots. The binding seed is expected to be reliably persisted. Any loss of
the seed results in a factory reset of the IVI.
Change mode: Support customize permissions for vendor properties. Implement this property if VHAL support customize vendor permissions feature.
VehiclePropConfig.configArray is used to indicate vendor properties and permissions which
selected for this vendor property. The permission must be one of enum in VehicleVendorPermission.
The configArray is set as follows, configArray[n+2] is an enum in VehicleVendorPermission and indicates the permission for writing
a value of the property. For example: If vendor properties are not in this array, they have the default vendor permission. If vendor
chose PERMISSION_NOT_ACCESSIBLE, Android does not have access to the property. In the example,
Android can not write a value for vendor_prop_2.
Change mode: (Deprecated) List of all supported property IDs.
Change mode: Defines a request to switch the foreground Android user. This property is used primarily by the Android system to inform the HAL that the current
foreground Android user is switching, but it could also be used by the HAL to request the
Android system to switch users. When the request is made by Android, it sets a VehiclePropValue
and the HAL must respond with a property change event. When the HAL makes the request, it must
also do it through a property change event (the main difference is that the request id is
positive in the former case, and negative in the latter). The SwitchUserMessageType also differs.
If the request succeeds, the HAL must update the property with: If the request fails, the response would be something like: If the request succeeded and Android has three users (0, 10, and 11), the response would be: The current and target user ids are the same. If the request fails, then they would differ.
For example, the target user would be 11 and the current user would remain 10. The HAL can update its internal state once it receives this request, but it needn't
reply to the Android system.
Change mode: Tire pressure. Each tire is identified by its areaConfig.areaId config. The
respective minFloatValue and maxFloatValue are used to store the OEM-
recommended pressure range. Values for minFloatValue and maxFloatValue
in VehicleAreaConfig must be defined.
The minFloatValue in the areaConfig data represents the lower bound of the recommended tire
pressure. The maxFloatValue in the areaConfig data represents the upper bound of the
recommended tire pressure. For example, this areaConfig indicates the recommended
tire pressure of left_front tire as from 200.0kPa to 240.0kPa.
Change mode: Tire pressure units for display. Indicates which units the car is using to display tire pressure
to the user. For example, PSI, Bar or Kilopascal. VehiclePropConfig.configArray is used to
indicate the supported pressure display units. Pressure units are defined in VehicleUnit.
For example, configArray[0]: KILOPASCAL configArray[1]: PSI configArray[2]: BAR If updating TIRE_PRESSURE_DISPLAY_UNITS affects the values of other *_DISPLAY_UNITS properties,
then their values must be updated and communicated to the AAOS framework as well.
This property is defined as
Change mode: Set to true when traction control (TC) is active and reset to false when TC is off. This
property can be intermittently set (pulse) based on the real-time state of the TC system.
Change mode: Returns the trailer state of the car.
Change mode: State of the vehicles turn signals.
Change mode: Property used to associate (or query the association) the current user with vehicle-specific
identification mechanisms (such as key FOB). This is an optional user management property. The OEM can still support user management without
defining it. In fact, this property could be used without supporting the core user-related
functions described on INITIAL_USER_INFO. To query the association, the Android system gets the property, passing a VehiclePropValue
containing the types of associations are being queried, as defined by
UserIdentificationGetRequest. The HAL must return right away, returning a VehiclePropValue with a
UserIdentificationResponse. Notice that user identification took place while the system was
booting up. takehe VHAL implementation should only return the already identified association
(such as the key FOB used to unlock the car), instead of starting a new association from the get
call. To associate types, the Android system sets the property, passing a VehiclePropValue containing
the types and values of associations being set, as defined by the UserIdentificationSetRequest.
The HAL then uses a property change event (whose VehiclePropValue is defined by
UserIdentificationResponse) indicating the current status of the types after the request. For example, to query if the current user (10) is associated with the FOB that unlocked the car
and a custom mechanism provided by the OEM, the request is:
If the user is associated with the FOB but not with the custom mechanism, the response is:
Then to associate the user with the custom mechanism, a set request is made: If the request succeeded, the response would be:
The set request adds associations but doesn't remove the existing associations. In the previous
example, the end state would be two associations (FOB and CUSTOM_1). To associate the user with
just CUSTOM_1 but not FOB, then the request would have been:
Change mode: Returns the vehicle's curb weight in kilograms. Curb weight is the total weight of the vehicle
with standard equipment and all necessary operating consumables such as motor oil, transmission
oil, brake fluid, coolant, air conditioning refrigerant, and weight of fuel at nominal tank
capacity while not loaded with either passengers or cargo. configArray[0] is used to specify the vehicle's gross weight in kilograms. The vehicle's gross
weight is the maximum operating weight of the vehicle as specified by the manufacturer
including the vehicle's chassis, body, engine, engine fluids, fuel, accessories, driver,
passengers and cargo but excluding that of any trailers.
Change mode: Indicates if the vehicle is in use. In use means a human user is present and intendeds to use
the vehicle. This doesn't necessarily mean the human user is in the vehicle. For example, if the
human user unlocks the vehicle remotely, the vehicle is considered to be in use. If this property
is supported: This property differs from This property is defined as
Change mode: Vehicle Maps Service (VMS) message. This property uses MIXED data to communicate VMS messages.
Its contents are to be interpreted as follows. The indices defined in VmsMessageIntegerValuesInde
are used to read from int32Values. bytes is a serialized VMS message as defined in the VMS
protocol, which is opaque to the framework. IVehicle#get must always return
Change mode: ON_CHANGEREAD_WRITE
Access mode: Speed units for display. Indicates the type of units used to display speed to the user.
For example, m/s, km/h, or mph. VehiclePropConfig.configArray indicates the supported speed
display units. Pressure units are defined in VehicleUnit. For example: If updating This property is defined as
Change mode: Defines an event that VHAL signals to
Car Watchdog
as a heartbeat. If VHAL supports this property, VHAL should write system uptime to this property
at every three seconds. Car Watchdog subscribes to this property and checks if the property is
updated every three seconds. With the buffer time of three seconds, Car Watchdog waits for a
heartbeat to be signaled up to six seconds from the last heartbeat. If not, Car Watchdog considers
VHAL unhealthy and terminates it. If this property is not supported by VHAL, Car Watchdog doesn't
check VHAL health status.
Change mode: Defines an event that Car Watchdog updates to indicate it's active. Car Watchdog sets this
property to system uptime in milliseconds at every three seconds. While booting, the update could
take longer.
Change mode: Defines a process terminated by Car Watchdog and the reason for the termination.
Change mode: Reports wheel ticks. The first element in the vector is a reset count. A reset indicates
previous tick counts are not comparable with this and future ones. Some sort of discontinuity in
tick counting has occurred. The next four elements represent ticks for individual wheels in the following order: All tick counts are cumulative. Tick counts increment when the vehicle moves forward, and
decrement when the vehicle moves backward. The ticks should be reset to 0 when the vehicle is
started. Uses enum Wheel. For example, if all wheels are supported, then: If a wheel is not supported, its value shall always be set to 0. The
Change mode: Window child lock. True indicates the window is child-locked. This property is defined as
Change mode: Window move. The Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
window reaches the positional limit, the value must reset to 0. If the value of
For a window that may open out of plane (a vent mode of sunroof), this parameter works as
follows. If: This property is defined as
Change mode: Window position. The Values in between This property is defined as
Change mode: Windshield wipers period (milliseconds). Returns the instantaneous time period for one full
cycle of the windshield wipers in milliseconds. A full cycle is defined as a wiper moving from
and returning to the rest position. When an intermittent wiper setting is selected, this property
value must be set to 0 during the pause period of the intermittent wiping. The
Change mode: Windshield wipers state. Returns the current state of the windshield wipers. The value of
For each supported area ID, the
Change mode: Windshield wipers switch. Represents the position of the switch controlling the windshield
wipers. The value of This property is defined as
Change mode: VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STEERING_WHEEL_THEFT_LOCK_ENABLED
ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
STORAGE_ENCRYPTION_BINDING_SEED
ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
configArray[n]: propId : property ID
for the
vendor property where configArray[n+1] is an enum in VehicleVendorPermission and indicates the
permission for reading the value of the property.
configArray: { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, }
STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
SUPPORTED_PROPERTY_IDS
STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14
SWITCH_USER
LEGACY_ANDROID_SWITCH
Called by the Android system to indicate the Android user
is about to change, when the change request was made in a way that is not integrated with the
HAL (for example, through adb shell am switch-user). The HAL can switch its internal user once
it receives this request, but it doesn't need to reply back to the Android system. If its
internal user cannot be changed for some reason, then it must wait for the
SWITCH_USER(type=ANDROID_POST_SWITCH)
call to recover (for example, it could issue
a SWITCH_USER(type=VEHICLE_REQUEST)
to switch back to the previous user). Ideally
it should never fail (as switching back could confuse the end user).
For example, if the system have users (0, 10, 11) and it's switching from 0 to 11
(where none of them have any special flag), the request would be:
int32[0]
42 // request idint32[1]
1 // SwitchUserMessageType::LEGACY_ANDROID_SWITCHint32[2]
11 // target user idint32[3]
0 // target user flags (none)int32[4]
10 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // user #0 (Android user id 0)int32[8]
0 // flags of user #0 (none)int32[9]
10 // user #1 (Android user id 10)int32[10]
0 // flags of user #1 (none)int32[11]
11 // user #2 (Android user id 11)int32[12]
0 // flags of user #2 (none)ANDROID_SWITCH
Called by the Android system to indicate the Android user is about to change,
but Android waits for the HAL's response (up to some time) before proceeding. The HAL must
switch its internal user once it receives this request, then respond back to Android with a
SWITCH_USER(type=VEHICLE_RESPONSE)
indicating whether its internal user was switched or not
(through the SwitchUserStatus enum). For example, if Android has users (0, 10, 11) and it's
switching from 10 to 11 (where none of them have any special flag), the request would be:
int32[0]
42 // request idint32[1]
2 // SwitchUserMessageType::ANDROID_SWITCHint32[2]
11 // target user idint32[3]
0 // target user flags (none)int32[4]
10 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // first user (user 0)int32[8]
1 // first user flags (SYSTEM)int32[9]
10 // second user (user 10)int32[10]
0 // second user flags (none)int32[11]
11 // 3rd user (user 11)int32[12]
0 // 3rd user flags (none)
int32[0]
42 // request idint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
1 // status: SwitchUserStatus::SUCCESS
int32[0]
42 // request idint32[1]
3 // messageType: SwitchUserMessageType::VEHICLE_RESPONSEint32[2]
2 // status: SwitchUserStatus::FAILURE string: "108-D'OH!"
VEHICLE_RESPONSE
Called by the HAL to indicate whether a request of type ANDROID_SWITCH
should proceed or abort. See also ANDROID_SWITCH.VEHICLE_REQUEST
Called by the HAL to request that the current foreground Android user is
switched. This is useful in situations where Android started as one user, but the vehicle
identified the driver as another user. For example, user A unlocked the car using the key fob
of user B. The INITIAL_USER_INFO request returned user B, but then a face recognition
subsubsystem identified the user as A. The HAL makes this request by a property change event
(passing a negative request id), and the Android system response is to issue an
ANDROID_POST_SWITCH call which the same request id. For example, if the current foreground
Android user is 10 and the HAL asked to switch to 11, the request would be:
int32[0]
-108 // request idint32[1]
4 // messageType: SwitchUserMessageType::VEHICLE_REQUESTint32[2]
11 // Android user id
int32[0]
-108 // request idint32[1]
5 // messageType: SwitchUserMessageType::ANDROID_POST_SWITCHint32[2]
11 // target user idint32[3]
0 // target user id flags (none)int32[4]
11 // current userint32[5]
0 // current user flags (none)int32[6]
3 // number of usersint32[7]
0 // first user (user 0)int32[8]
0 // first user flags (none)int32[9]
10 // second user (user 10)int32[10]
4 // second user flags (none)int32[11]
11 // third user (user 11)int32[12]
3 // third user flags (none)ANDROID_POST_SWITCH
Called by the Android system after a request to switch a user was made.
This property is called after switch requests of any type (for example, >code>LEGACY_ANDROID_SWITCH,
>code>ANDROID_SWITCH, or VEHICLE_REQUEST
) and can be used to determine if the request succeeded or
failed.
INITIAL_USER_INFO
(where the request-specific
value at index 1 is SwitchUserMessageType::ANDROID_POST_SWITCH
), then two more values for
the target user id (for example, the Android user id that was requested to be switched to)
and its flags (as defined by UserFlags).VEHICLE_REQUEST
ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
TIRE_PRESSURE
.areaConfigs: { VehicleAreaConfig { .areaId: VehicleAreaWheel::LEFT_FRONT, .minFloatValue: 200.0, .maxFloatValue: 240.0, } }
CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13
TIRE_PRESSURE_DISPLAY_UNITS
VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
TRACTION_CONTROL_ACTIVE
ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
TRAILER_PRESENT
ON_CHANGE
Access mode: READ
Enum type: TrailerState
Unit type: N/A
Release: Android 13
TURN_SIGNAL_STATE
ON_CHANGE
Access mode: READ
Enum type: VehicleTurnSignal
Unit type: N/A
Release: Android 13
USER_IDENTIFICATION_ASSOCIATION
int32[0]
42 // request idint32[1]
10 (Android user id)int32[2]
0 (Android user flags)int32[3]
2 (number of types queried)int32[4]
1 (first type queried, UserIdentificationAssociationType::KEY_FOB)int32[5]
101 (second type queried, UserIdentificationAssociationType::CUSTOM_1)
int32[0]
42 // request idint32[1]
2 (number of associations in the response)int32[2]
1 (first type: UserIdentificationAssociationType::KEY_FOB)int32[3]
2 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)int32[4]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)int32[5]
4 (second value: UserIdentificationAssociationValue::NOT_ASSOCIATED_ANY_USER)
int32[0]
43 // request idint32[1]
10 (Android user id)int32[2]
0 (Android user flags)int32[3]
1 (number of associations being set)int32[4]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)
int32[0]
43 // request idint32[1]
1 (number of associations in the response)int32[2]
101 (first type: UserIdentificationAssociationType::CUSTOM_1)int32[3]
1 (first value: UserIdentificationAssociationValue::ASSOCIATED_CURRENT_USER)
int32[0]
43 // request idint32[1]
10 (Android user id)int32[2]
2 (number of types set)int32[3]
1 (first type: UserIdentificationAssociationType::KEY_FOB)int32[4]
2 (first value: UserIdentificationAssociationValue::DISASSOCIATE_CURRENT_USER)int32[5]
101 (second type: UserIdentificationAssociationType::CUSTOM_1)int32[6]
1 (second value: UserIdentificationAssociationValue::ASSOCIATE_CURRENT_USER)ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
VEHICLE_CURB_WEIGHT
STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOGRAM
Release: Android 13
VEHICLE_IN_USE
VEHICLE_IN_USE
must be set to true. Each time the user powers off the vehicle or
the system detects the user is not present, VEHICLE_IN_USE
must be set to false.
VEHICLE_IN_USE
must be set to false.
VEHICLE_IN_USE
must be set to true.
AP_POWER_BOOTUP_REASON
in the sense that
AP_POWER_BOOTUP_REASON
is only set once during system boot. However, this property
might change multiple times during a system boot cycle. For example, a device is currently not
in use. The system bootup to execute a remote task. VEHICLE_IN_USE
is false. While
the remote task is executing, the user enters the vehicle and powers on the vehicle.
VEHICLE_IN_USE
is set to true. After a driving session, user powers off the vehicle,
VEHICLE_IN_USE
is set to false.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
VEHICLE_MAP_SERVICE
StatusCode::NOT_AVAILABLE
.READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
VEHICLE_SPEED_DISPLAY_UNITS
.configArray: { VehicleUnit::METER_PER_SEC, VehicleUnit::KILOMETERS_PER_HOUR, VehicleUnit::MILES_PER_HOUR }
configArray[0]
METER_PER_SEC
configArray[1]
MILES_PER_HOUR
configArray[2]
KILOMETERS_PER_HOUR
VEHICLE_SPEED_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS properties
, then those values must be updated and communicated to
the AAOS framework.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
VHAL_HEARTBEAT
ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WATCHDOG_ALIVE
ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
WATCHDOG_TERMINATED_PROCESS
int32Values[0] 1 // ProcessTerminationReason showing why a process is terminated. string: "/system/bin/log" // Process execution command
ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
WHEEL_TICK
int64Values[0]
Reset countint64Values[1]
Front left ticksint64Values[2]
Front right ticksint64Values[3]
Rear right ticksint64Values[4]
Rear left ticksconfigArray
is used to indicate the micrometers-per-wheel-tick value and which
wheels are supported configArray is set as follows:configArray[0], bits [0:3] Supported wheels
configArray[0]
VehicleAreaWheel::LEFT_FRONT | VehicleAreaWheel::RIGHT_FRONT | VehicleAreaWheel::LEFT_REAR | VehicleAreaWheel::RIGHT_REAR
configArray[1]
Micrometers per front left wheel tickconfigArray[2]
Micrometers per front right wheel tickconfigArray[3]
Micrometers per rear right wheel tickconfigArray[4]
Micrometers per rear left wheel tick.VehiclePropValue.timestamp
must be filled in.CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_LOCK
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_MOVE
maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The maxInt32Value
indicates the window is opening in plane/closing in the out of plane direction at the fastest
speed. The minInt32Value
indicates the window is closing in plane/opening in the
out of plane direction at the fastest speed.WINDOW_MOVE
is 0, no movement is underway. This property is represented in a
specified range of relative movement speeds.
Max
Open the sunroof further, stop automatically when fully open.Min
Close the sunroof, stop automatically when sunroof is closed.
Max
Close the vent, stop automatically stop when vent is closed.Min
Open the vent further, stop automatically when vent is fully open.
Max
Open the sunroof, stop automatically when sunroof is fully open.Min
Open the vent, stop automatically when vent is fully open.VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDOW_POS
maxInt32Value
and minInt32Value
in each
VehicleAreaConfig must be defined. All integers between minInt32Value
and
maxInt32Value
must be supported. The minInt32Value
indicates the window
is closed or fully open out of plane. If the window cannot open out of plane, then
minInt32Value
is the position of the window when fully closed and must be 0. If the
window can open out of plane, the minInt32Value
indicates the window is fully open
in its position out of plane and is a negative value. See the example below for a more detailed
explanation. The maxInt32Value
indicates the window is fully open.minInt32Value
and maxInt32Value
indicate a transition
state between the closed/fully open out-of-plane and fully open positions. This property is not
in any specific unit but in a specified range of relative positions. For example, this is how the
property should work for a window that can move out of plane: For a window that may open out of
plane (vent mode of sunroof) this parameter works with negative values as follows:
In this mode, 0 indicates the window is closed.
Max
Sunroof fully open (0 for sunroof closed).Min
Sunroof vent fully open (0 for sunroof closed).VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
WINDSHIELD_WIPERS_PERIOD
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
The maxInt32Value
for each area ID must specify the longest wiper period. The
minInt32Value
must be set to 0 for each area ID.ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 14
WINDSHIELD_WIPERS_STATE
WINDSHIELD_WIPERS_STATE
may not match the value of
WINDSHIELD_WIPERS_SWITCH
For example, WINDSHIELD_WIPERS_STATE: ON
and
WINDSHIELD_WIPERS_SWITCH: WindshieldWipersSwitch#AUTO
If WINDSHIELD_WIPERS_STATE: ON
and WINDSHIELD_WIPERS_PERIOD
is
implemented, then WINDSHIELD_WIPERS_PERIOD
must reflect the time period of one full
cycle of the wipers.VehicleAreaConfig#supportedEnumValues
array must
be defined unless all states in WindshieldWipersState
are supported (including OTHER,
which is not recommended).ON_CHANGE
Access mode: READ
Enum type: WindshieldWipersState
Unit type: N/A
Release: Android 14
WINDSHIELD_WIPERS_SWITCH
WINDSHIELD_WIPERS_SWITCH
may not match the value of
WINDSHIELD_WIPERS_STATE
For example, WINDSHIELD_WIPERS_SWITCH: AUTO
and
WINDSHIELD_WIPERS_STATE: WindshieldWipersState#ON
For each supported area ID, the
VehicleAreaConfig#supportedEnumValues
array must be defined unless all states in
WindshieldWipersSwitch
are supported (including OTHER, which is not recommended).VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only. If this property is implemented as
VehiclePropertyAccess.READ_WRITE
and the OTHER state is listed in the
VehicleAreaConfig#supportedEnumValues
array, then OTHER is not a supported value
for writing It is only a supported value for reading.ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: WindshieldWipersSwitch
Unit type: N/A
Release: Android 14