Halaman ini mencantumkan properti sistem yang didukung di VHAL. Properti yang didukung oleh VHAL
harus berupa properti sistem dari daftar di bawah atau properti vendor. Di Android 14 dan
yang lebih tinggi, definisi properti ditentukan di
hardware/interfaces/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehicleProperty.aidl
.
Definisi properti ditentukan di antarmuka AIDL,
android.hardware.automotive.vehicle.property
, yang terpisah dari antarmuka
VHAL (android.hardware.automotive.vehicle
). Implementasi VHAL dan klien
VHAL harus bergantung pada kedua antarmuka.
Mode akses dan mode perubahan yang dibuat secara otomatis
Di Android 14 dan yang lebih tinggi, untuk mendukung implementasi VHAL, kami menyediakan file header C++ dan file class Java yang dibuat secara otomatis dengan mode perubahan atau mode akses yang diizinkan untuk properti sistem. Implementasi VHAL vendor dapat menggunakannya untuk memastikan konfigurasi properti memenuhi spesifikasi.
A ke D
ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE
Measured distance from leading vehicle when using Adaptive Cruise Control (ACC) or Predictive
Cruise Control (PCC). Returns the measured distance in millimeters between the rear-most point
of the leading vehicle and the front-most point of the ACC vehicle. The maxInt32Value
and minInt32Value
in VehicleAreaConfig
must be defined. The
minInt32Value
should be 0. The maxInt32Value
should be populated with
the maximum range the distance sensor can support. This value should be non-negative.
When no lead vehicle is detected (that is, when there is no leading vehicle or the leading
vehicle is too far away for the sensor to detect), this property should return
StatusCode.NOT_AVAILABLE
When this property is not available because CC is disabled (for example,
StatusCode#NOT_AVAILABLE_DISABLED
is false), this property must return
StatusCode#NOT_AVAILABLE_DISABLED
If CRUISE_CONTROL_STATE
is implemented and the state is set to an ErrorState
value, then this property
must return a StatusCode
that aligns with the ErrorState
value. For
example, if CRUISE_CONTROL_STATE
is set to
ErrorState#NOT_AVAILABLE_SPEED_LOW
, then this property must return
StatusCode#NOT_AVAILABLE_SPEED_LOW
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLIMETER
Release: Android 14
ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP
Current target time gap for ACC or PCC in milliseconds. This property should specify the target time gap to a leading vehicle. This gap is defined as the time to travel the distance between the leading vehicle's rear-most point to the ACC vehicle's front-most point. The actual time gap from a leading vehicle can be above or below this value.
The possible values to set for the target time gap should be specified in configArray in
ascending order. All values must be positive. If the property is writable, all values must be
writable. When this property is not available because CC is disabled (for example,
CRUISE_CONTROL_ENABLED
is false), this property must return
StatusCode#NOT_AVAILABLE_DISABLED
If CRUISE_CONTROL_STATE
is implemented and the state is set to an
ErrorState
value, then this property must return a StatusCode
that
aligns with the ErrorState
value. For example,
if CRUISE_CONTROL_STATE
is set to ErrorState#NOT_AVAILABLE_SPEED_LOW
,
then this property must return StatusCode#NOT_AVAILABLE_SPEED_LOW
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: VehicleUnit:MILLI_SECS
Release: Android 14
ABS_ACTIVE
The automatic brake system (ABS) is active. Set to true when ABS is active and reset to false when ABS is off. This property can be intermittently set (pulse) based on the real-time state of the ABS system.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
ANDROID_EPOCH_TIME
Current date and time, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC.
This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC.
CarServices WRITE
s to this value to give VHAL the Android system's time, if the VHAL
supports this property. This can be useful to synchronize other vehicle systems (dash clock) with
Android's time.
AAOS WRITE
s to this property once during boot, and thereafter WRITE
only when time-source changes are propagated. AAOS will fill in VehiclePropValue.timestamp
correctly. AAOS does not send updates for natural elapse of time. int64Values[0] = provided Unix
time (in milliseconds).
The property may take more than 0 ms to get propagated through the stack and, having a
timestamped property helps reduce any time drift. So, for all WRITE
s to the property,
the timestamp can be used to negate this drift:
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13
AP_POWER_BOOTUP_REASON
Property to report bootup reason for the current power on. This is a STATIC
property
that won't change for the whole duration until power off. For example, even if the user presses
the power button after automatic power on with door unlock, the bootup reason must stay with
VehicleApPowerBootupReason#USER_UNLOCK
int32Values[0]
must be
VehicleApPowerBootupReason
Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
AP_POWER_STATE_REPORT
Property to report power state of app processor. It is assumed that AP's power state is controller by separate power controller.
int32Values[0]
VehicleApPowerStateReport enum valueint32Values[1]
Time in ms to wake up, if necessary (otherwise 0)
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
AP_POWER_STATE_REQ
Property to control power state of app processor. It is assumed that AP's power state is
controlled by a separate power controller. For configuration information,
VehiclePropConfig.configArray
must have bit flag combining values in
VehicleApPowerStateConfigFlag
int32Values[0]
VehicleApPowerStateReq enum valueint32Values[1]
Aadditional parameter relevant for each state, 0 if not used.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
AUTOMATIC_EMERGENCY_BRAKING_ENABLED
Enable or disable Automatic Emergency Braking (AEB).
Set true to enable AEB and false to disable AEB. When AEB is enabled, the ADAS system in the
vehicle should be turned on and monitoring to avoid potential collisions. This property should
apply for higher speed applications only. For enabling low speed automatic emergency braking,
LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_ENABLED
should be used.
In general, AUTOMATIC_EMERGENCY_BRAKING_ENABLED
should always return true or false.
If the feature is not available due to some temporary state, such as the vehicle speed being too
low, that information must be conveyed through the ErrorState
values in the
AUTOMATIC_EMERGENCY_BRAKING_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but
OEMs can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
AUTOMATIC_EMERGENCY_BRAKING_STATE
Automatic Emergency Braking (AEB) state. Returns the current state of AEB. This property must
always return a valid state defined in AutomaticEmergencyBrakingState or ErrorState
It must not surface errors through StatusCode
and must use the supported error states
instead. This property should apply for higher speed applications only. For representing the state
of the low speed automatic emergency braking system,
LOW_SPEED_AUTOMATIC_EMERGENCY_BRAKING_STATE
should be used.
If AEB includes forward collision warnings before activating the brakes, those warnings must be surfaced through the Forward Collision Warning (FCW) properties.
For the global area ID (0), the StatusCode#VehicleAreaConfig#supportedEnumValues
array must be defined unless all states of both AutomaticEmergencyBrakingState
(including OTHER
, which is not recommended) and ErrorState
are
supported.
Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14
BLIND_SPOT_WARNING_ENABLED
Enable and disable Blind Spot Warning (BSW). Set true to enable BSW and false to disable BSW. When BSW is enabled, the ADAS system in the vehicle should be turned on and monitoring for objects in the vehicle's blind spots.
In general, BLIND_SPOT_WARNING_ENABLED
should always return true or false. If the
feature is not available due to some temporary state, such as the vehicle speed being too low,
that information must be conveyed through the ErrorState
values in the
BLIND_SPOT_WARNING_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
,
but OEMs can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
BLIND_SPOT_WARNING_STATE
Blind Spot Warning (BSW) state. Returns the current state of BSW. This property must always
return a valid state defined in BlindSpotWarningState
or ErrorState
It must not surface errors through StatusCode
and must use the supported error states
instead.
For each supported area ID, StatusCode#VehicleAreaConfig#supportedEnumValues
array must be defined unless all states of both BlindSpotWarningState
(including
OTHER
, which is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: BlindSpotWarningState/ErrorState
Unit type: N/A
Release: Android 14
CABIN_LIGHTS_STATE
Returns the state for the cabin lights.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
CABIN_LIGHTS_SWITCH
Cabin lights switch. The position of the physical switch which controls the cabin lights.
This might differ than the CABIN_LIGHTS_STATE
if the lights are on because a door is
open or because of a voice command. For example, when the switch is in the off or
automatic position.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but
OEMs can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
CLUSTER_DISPLAY_STATE
Changes the state of the cluster display.
- Bounds: Area to render the cluster Activity.
- Inset: Area that Activity should not place important information.
Possible values:
int32[0]
On, Off: 0 - off, 1 - on, -1 - don't careint32[1]
Bounds - left: positive number - left position in pixels -1 - don't care (should set all Bounds fields)int32[2]
Bounds - top: same format with 'left'int32[3]
Bounds - right: same format with 'left'int32[4]
Bounds - bottom: same format with 'left'int32[5]
Inset - left: positive number - actual left inset value in pixels -1 - don't care (should set "don't care" all Inset fields)int32[6]
Inset - top: same format with 'left'int32[7]
Inset - right: same format with 'left'int32[8]
Inset - bottom: same format with 'left'
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
CLUSTER_NAVIGATION_STATE
Informs the current navigation state. bytes: the serialized message of NavigationStateProto.
Change mode: ON_CHANGE
Access mode: WRITE
Enum type:
Unit type: N/A
Release: Android 13
CLUSTER_REPORT_STATE
Reports the current display state and ClusterUI state.
ClusterHome
sends this message when it handles CLUSTER_SWITCH_UI
,
CLUSTER_DISPLAY_STATE
In addition, ClusterHome
should send this
message when it starts for the first time. When ClusterOS receives this message and if the
internal expectation is different with the received message, then it should send
CLUSTER_SWITCH_UI
, CLUSTER_DISPLAY_STATE
again to match the state.
int32[0]
on/off: 0 - off, 1 - onint32[1]
Bounds - leftint32[2]
Bounds - topint32[3]
Bounds - rightint32[4]
Bounds - bottomint32[5]
Inset - leftint32[6]
Inset - topint32[7]
Inset - rightint32[8]
Inset - bottomint32[9]
Type of ClusterUI in the fullscreen or main screen. 0 indicatesClusterHome
. Other values are followed by the OEM's definition.int32[10]
Type of ClusterUI in subscreen if the currently two UIs are shown. -1 indicates the area is no longer used. bytes: the array to represent the availability of ClusterUI. 0 indicates non-available and 1 indicates available. For example, if a car supports three OEM-defined ClusterUI such as HOME, MAPS, and CALL and only supports the CALL UI only when the cellular network is available. Then, if the nework is available, it sends [1 1 1] and, if out of network, sends [1 1 0].
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
CLUSTER_REQUEST_DISPLAY
Requests to change the cluster display state to show some ClusterUI. When the current display
state is off and ClusterHome
sends this message to ClusterOS to request to turn
the display on to show a specific ClusterUI. ClusterOS should response this with
CLUSTER_DISPLAY_STATE
int32
Type of ClusterUI to show
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
CLUSTER_SWITCH_UI
Starts the ClusterUI in cluster display.
int32
Type of ClusterUI to show 0 indicatesClusterHome
, the Home screen of the cluster display, and provides the default UI and a kind of launcher functionality for the cluster display. Other values are per the OEM's definition.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
CREATE_USER
Called by the Android System after an Android user was created. The HAL can use this property to create its equivalent user. This is an async request: Android makes the request by setting a VehiclePropValue, and HAL must respond with a property change indicating whether the request succeeded or failed. If it failed, the Android system removes the user.
The format of the request is defined by CreateUserRequest and the format of the response by CreateUserResponse. For example, if system had two users (0 and 10) and a third one (which is an ephemeral guest) was created, the request would be:
int32[0]
42 // request idint32[1]
11 // Android id of the created userint32[2]
6 // Android flags (ephemeral guest) of the created userint32[3]
10 // current userint32[4]
0 // current user flags (none)int32[5]
3 // number of usersint32[6]
0 // first user (user 0)int32[7]
0 // first user flags (none)int32[8]
10 // second user (user 10)int32[9]
0 // second user flags (none)int32[10]
11 // third user (user 11)int32[11]
6 // third user flags (ephemeral guest) string: "ElGuesto" // name of the new user
If the request succeeded, the HAL returns:
int32[0]
42 // request idint32[1]
1 // CreateUserStatus::SUCCESS
But if it fails:
int32[0]
42 // request idint32[1]
2 // CreateUserStatus::FAILURE string: "D'OH!" //
The meaning is a blackbox and is passed to the caller (such as the Settings UI), which takes the proper action.
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
CRITICALLY_LOW_TIRE_PRESSURE
This property indicates the critically low pressure threshold for each tire. It indicates when it to replace or to fix a tire. The value must be less than or equal to minFloatValue in TIRE_PRESSURE. The minimum and maximum property values (minFloatValue and maxFloatValue) do not apply to this property.
Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOPASCAL
Release: Android 13
CRUISE_CONTROL_COMMAND
WRITE
Cruise Control (CC) commands.
See CruiseControlCommand for the details about each supported command. For the global area ID (0),
the StatusCode#VehicleAreaConfig#supportedEnumValues
array must be defined unless all
states of CruiseControlState
are supported. Any unsupported commands sent through
this property must return StatusCode#INVALID_ARG
When this property is not available
because CC is disabled (for example, CRUISE_CONTROL_ENABLED
is false), this property
must return StatusCode#NOT_AVAILABLE_DISABLED
If CRUISE_CONTROL_STATE
is implemented and the state is set to an ErrorState
value, then this
property must return a StatusCode
that aligns with the ErrorState
value.
For example, if CRUISE_CONTROL_STATE
is set to
ErrorState#NOT_AVAILABLE_SPEED_LOW
, then this property must return
StatusCode#NOT_AVAILABLE_SPEED_LOW
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: CruiseControlCommand
Unit type: N/A
Release: Android 14
CRUISE_CONTROL_ENABLED
Enable or disable cruise control (CC). Set true to enable CC and false to disable CC. This
property is shared by all forms of CruiseControlType(s). When CC is enabled, the ADAS system in
the vehicle should be turned on and responding to commands. In general,
CRUISE_CONTROL_ENABLED
should always return true or false. If the feature is not available due to some temporary state,
such as the vehicle speed being too low, that information must be conveyed through the
ErrorState
values in the CRUISE_CONTROL_STATE
property. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
CRUISE_CONTROL_STATE
Current state of Cruise Control (CC). This property returns the current state of CC. Generally,
this property should return a valid state defined in the CruiseControlState or
ErrorState
For example, if the feature is not available due to some temporary state, that information
should be conveyed through ErrorState
For the global area ID (0), the
VehicleAreaConfig#supportedEnumValue
array must be defined unless all states of
CruiseControlState (including OTHER, which is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: CruiseControlState/ErrorState
Unit type: N/A
Release: Android 14
CRUISE_CONTROL_TARGET_SPEED
Current target speed for Cruise Control (CC). OEMs should set the minFloatValue and
maxFloatValue values for this property to define the min and max target speed values. These
values must be non-negative. The maxFloatValue represents the upper bound of the target speed.
The minFloatValue represents the lower bound of the target speed.
When this property is not available because CC is disabled (for example,
CRUISE_CONTROL_ENABLED
is false), this property must return StatusCode#NOT_AVAILABLE_DISABLED
If
CRUISE_CONTROL_STATE
is
implemented and the state is set to an ErrorState value, then this property must return a
StatusCode
that aligns with the ErrorState value. For example, if
CRUISE_CONTROL_STATE
is set
to ErrorState#NOT_AVAILABLE_SPEED_LOW
, then this property must return
StatusCode#NOT_AVAILABLE_SPEED_LOW
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 14
CRUISE_CONTROL_TYPE
Current type of Cruise Control (CC). When CRUISE_CONTROL_ENABLED
is true,
this property returns
the type of CC that is currently enabled (for example, standard CC and adaptive CC, predictive).
enerally, this property should return a valid state defined in the CruiseControlType
or
ErrorState
For example, if the feature is not available due to some temporary state,
that
information should be conveyed through ErrorState
For the global area ID (0), the StatusCode#VehicleAreaConfig#supportedEnumValues
array must be defined
unless all states of CruiseControlType
(including OTHER
, which is not
recommended) and
ErrorState
are supported. Trying to WRITE
CruiseControlType#OTHER
or an ErrorState
to this
property throws an IllegalArgumentException
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: CruiseControlType
ErrorState
Unit type: N/A
Release: Android 14
CURRENT_GEAR
Current gear. In a non-manual case, the selected gear might not match the current gear. For
example, if the selected gear is GEAR_DRIVE
, the current gear will be one of
GEAR_1
, GEAR_2
and so on, which reflects the actual gear the
transmission is running in. Values in the config data must represent the list of supported gears
for this vehicle. For example, config data for an automatic transmission must contain
{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK, GEAR_1, GEAR_2,...}
and, for manual
transmission, the list must be {GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
This list need not be the same as that of the supported gears reported in
GEAR_SELECTION
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13
CURRENT_POWER_POLICY
Notifies the current power policy to VHAL layer. Car power policy service sets this property when the current power policy is changed
string: "sample_policy_id" // power policy ID
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
DISABLED_OPTIONAL_FEATURES
Allow the disabling of optional features in VHAL. This property reports optional features that
should be disabled. All allowed optional features for the system is declared in the Car service
overlay, config_allowed_optional_car_features
This property allows disabling features defined in the overlay. Without this property, all
features declared in the overlay will be enabled.
Value READ
should include all features disabled with a comma (,
)
separation.
For example, com.android.car.user.CarUserNoticeService,storage_monitoring
Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
DISPLAY_BRIGHTNESS
Property to represent brightness of the display. Some cars have a single control for the
brightness of all displays. This property is to share changes in that control. In cars that have
displays whose brightness is controlled separately, they must use
PER_DISPLAY_BRIGHTNESS
Only one of DISPLAY_BRIGHTNESS
and PER_DISPLAY_BRIGHTNESS
should be
implemented. If both are
available, PER_DISPLAY_BRIGHTNESS
is used by AAOS. If this is writable, Android can
set this
value when the user changes display brightness from Settings. If this is READ
-only,
user can still
change display brightness from Settings, but the change must not be reflected on other displays.
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
DISTANCE_DISPLAY_UNITS
Distance units for display. Indicates which units the car is using to display distances to the
user. For example, Mile, Meter, or Kilometer. Distance units are defined in VehicleUnit.
VehiclePropConfig.configArray is used to indicate the supported distance display units.
For example, configArray[0] = METER configArray[1] = KILOMETER configArray[2] = MILE
If updating DISTANCE_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS
properties, then their values must be updated and communicated to the AAOS framework, too.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
DOOR_CHILD_LOCK_ENABLED
Door child lock feature enabled. Returns true if the door child lock feature is enabled and
false if disabled. If enabled, the door can't be opened from the inside. 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
DOOR_LOCK
Door lock true indicates the door is locked. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
DOOR_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 door while
opening. The minInt32Value
represents the maximum movement speed of the door while
closing.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
door reaches the positional limit, the value must reset to 0. If the value of
DOOR_MOVE
is 0,
then that means there is no movement currently occurring.
This property is not in any particular unit but in a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
DOOR_POS
Door position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the door is closed. The minInt32Value
must be 0.
The maxInt32Value
indicates the door is fully open. Values between
minInt32Value
and
maxInt32Value
indicate a transition state between the closed and fully
open positions.
This property is not in any particular unit but in a specified range of relative positions.
Some vehicles (minivans) can open the door electronically. Hence, the ability to
WRITE
this property. This property is defined as VehiclePropertyAccess
READ_WRITE
, but OEMs can implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE
/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
E ke G
ELECTRONIC_TOLL_COLLECTION_CARD_STATUS
Electronic Toll Collection card status. This property indicates the status of ETC card in this
vehicle. If the head unit is aware of an ETC card attached to the vehicle,
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
gives that status of the card. Otherwise, this
property should be UNAVAILABLE
Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardStatus
Unit type: N/A
Release: Android 13
ELECTRONIC_TOLL_COLLECTION_CARD_TYPE
Electronic Toll Collection (ETC) card type. This property indicates the type of ETC card in this
vehicle. If the head unit is aware of an ETC card attached to the vehicle, this property should
return the type of card attached; otherwise, this property should be UNAVAILABLE
Change mode: ON_CHANGE
Access mode: READ
Enum type: ElectronicTollCollectionCardType
Unit type: N/A
Release: Android 13
EMERGENCY_LANE_KEEP_ASSIST_ENABLED
Enable or disable Emergency Lane Keep Assist (ELKA). Set true to enable ELKA and false to
disable ELKA. When ELKA is enabled, the ADAS system in the vehicle should be on and monitoring
for unsafe lane changes by the driver. When an unsafe maneuver is detected, ELKA alerts the
driver and applies steering corrections to keep the vehicle in its original lane.
In general, EMERGENCY_LANE_KEEP_ASSIST_ENABLED
should always return true or false.
If the feature is not available due to some temporary state, such as the vehicle speed being too
low, that information must be conveyed through the ErrorState
values in the
EMERGENCY_LANE_KEEP_ASSIST_STATE
property. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
EMERGENCY_LANE_KEEP_ASSIST_STATE
Emergency Lane Keep Assist (ELKA) state. Returns the current state of ELKA. Generally, this
property should return a valid state defined in the EmergencyLaneKeepAssistState
or
ErrorState
For example, if the feature is not available due to some temporary state, that information
should be conveyed through ErrorState
For the global area ID (0), the
VehicleAreaConfig#supportedEnumValues
array must be defined unless all states of
EmergencyLaneKeepAssistState
(including OTHER, which is not recommended) and
ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EmergencyLaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14
ENGINE_COOLANT_TEMP
Temperature of engine coolant.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
ENGINE_IDLE_AUTO_STOP_ENABLED
Represents feature for engine idle automatic stop. If true, the vehicle may automatically shut
off the engine when it is not needed and then automatically restart it when needed.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
ENGINE_OIL_LEVEL
Engine oil level.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleOilLevel
Unit type: N/A
Release: Android 13
ENGINE_OIL_TEMP
Temperature of engine oil.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
ENGINE_RPM
Engine revolutions per minute (RPM).
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:RPM
Release: Android 13
ENV_OUTSIDE_TEMPERATURE
Outside temperature. This property must communicate the temperature reading of the environment outside the vehicle. If there are multiple sensors for measuring the outside temperature, this property should be populated with the mean or a meaningful weighted average of the readings that best represent the temperature of the outside environment.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:CELSIUS
Release: Android 13
EV_BATTERY_DISPLAY_UNITS
EV battery units for display. Indicates which units the car is using to display EV battery
information to the user. For example, watt-hours (Wh), kilowatt-hours (kWh) or ampere-hours (Ah).
VehiclePropConfig.configArray
is used to indicate the supported electrical energy.
units. Electrical energy units are defined in VehicleUnit
For example:
configArray[0] = WATT_HOUR configArray[1] = AMPERE_HOURS configArray[2] = KILOWATT_HOUR
If updating EV_BATTERY_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS
properties,
then their values must be updated and communicated to the AAOS framework as well.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
EV_BATTERY_INSTANTANEOUS_CHARGE_RATE
EV instantaneous charge rate in milliwatts. A positive value indicates the battery is being charged. A negative value indicates the battery being discharged.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MW
Release: Android 13
EV_BATTERY_LEVEL
Returns the current battery level, whether EV or hybrid. This value will not exceed
EV_CURRENT_BATTERY_CAPACITY
To calculate the battery percentage, use
(EV_BATTERY_LEVEL
, EV_CURRENT_BATTERY_CAPACITY
)*100.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 13
EV_BRAKE_REGENERATION_LEVEL
Regenerative braking level of a electronic vehicle. The maxInt32Value
and
minInt32Value
in VehicleAreaConfig must be defined. All values between
minInt32Value
and maxInt32Value
must be
supported. The minInt32Value
must be 0. The maxInt32Value
indicates
the setting for the maximum amount of energy regenerated from braking. The
minInt32Value
indicates the setting for no
regenerative braking. This property is a more granular form of
EV_REGENERATIVE_BRAKING_STATE
It allows the user to set a more specific level of regenerative braking if the states in
EvRegenerativeBrakingState
are not granular enough for the OEM. This property is
defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_CURRENT_DRAW_LIMIT
Indicates the maximum current draw threshold for charging set by the user.
EvChargeState::configArray[0]
is
used to specify the max current draw allowed by the vehicle in Amperes. This property is defined
as VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: VehicleUnit:AMPERE
Release: Android 13
EV_CHARGE_PERCENT_LIMIT
Indicates the maximum charge percent threshold set by the user. Indicates the maximum charge
percent threshold set by the user. Returns a float value from 0 to 100.
configArray is used to specify the valid values. For example, if the vehicle supports the
following charge percent limit values: [20, 40, 60, 80, 100] then the configArray should be
{20, 40, 60, 80, 100} If the configArray is empty then all values from 0 to 100 must be valid.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE,
, READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_PORT_CONNECTED
EV charge port connected. If the vehicle has multiple charging ports, this property must return
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_PORT_OPEN
EV charge port open. If the vehicle has multiple charging ports, this property must return
true if any of the charge ports are open. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_STATE
Charging state of the car
Returns the current charging state of the car.
If the vehicle has a target charge percentage other than 100, this property must return
EvChargeState::STATE_FULLY_CHARGED
when the battery charge level has reached the
target level. See EvChargeState::EV_CHARGE_PERCENT_LIMIT
for more context.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EvChargeState
Unit type: N/A
Release: Android 13
EV_CHARGE_SWITCH
Start or stop charging the EV battery. The setting wanted by the user. Setting this property
to true starts the battery charging, and false to stop charging. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITEREAD
Enum type: N/A
Unit type: N/A
Release: Android 13
EV_CHARGE_TIME_REMAINING
Estimated charge time remaining in seconds. Returns 0 if the vehicle is not charging.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:SECS
Release: Android 13
EV_CURRENT_BATTERY_CAPACITY
Current usable battery capacity for and EV or hybrid vehicle. Returns the actual value of
battery capacity, when EV or hybrid. This property captures the real-time usable battery capacity
taking into account factors such as battery aging and temperature dependency. This value might
differ from INFO_EV_BATTERY_CAPACITY
because INFO_EV_BATTERY_CAPACITY
returns the nominal battery capacity from when the vehicle was new.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:WH
Release: Android 14
EV_REGENERATIVE_BRAKING_STATE
Regenerative braking or one-pedal drive setting of the car. Returns the current setting
associated with the regenerative braking setting in the car. If the OEM requires more setting
than those provided in EvRegenerativeBrakingState
, the
EV_BRAKE_REGENERATION_LEVEL
property can be used instead, which provides more
granular information.
Change mode: ON_CHANGE
Access mode: READ
Enum type: EvRegenerativeBrakingState
Unit type: N/A
Release: Android 13
EV_STOPPING_MODE
Represents property for the current stopping mode of the vehicle. For the global area ID (0),
the VehicleAreaConfig#supportedEnumValues
must be defined unless all enum values of
EvStoppingMode
are supported. The EvStoppingMode
enum may be extended to
include more states in the future. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs have the option to implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: EvStoppingMode
Unit type: N/A
Release: Android 14
EVS_SERVICE_REQUEST
Enable and request an EVS service. The property provides a way to trigger EVS services. The VHAL should use this property to request Android to start or stop EVS service.
int32Values[0]
Type of EVS service. The value must be and enum in EvsServiceType.int32Values[1]
State of the EVS service. The value must be one of enums in EvsServiceState.
For example, to enable rear view EVS service, Android can set the property value as:
[EvsServiceType::REAR_VIEW, EvsServiceState::ON]
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
EXTERNAL_CAR_TIME
Current date and time suggestion for the cr, encoded as Epoch time (in milliseconds). This value denotes the number of milliseconds seconds that have elapsed since 1/1/1970 UTC. This property signals a change in CarTime to Android. If the property is supported, VHAL must report the most accurate current CarTime when this property is read, and publish a change to this property when the CarTime value has changed.
An on-change event for this property must be published when CarTime changes for any reason other than the natural elapse of time (time delta smaller than 500ms should not trigger an on change event). Android will read and subscribe to this property to fetch time from VHAL. This can be useful to synchronize Android's time with other vehicle systems (dash clock). int64Values[0] = provided Epoch time (in milliseconds) Whenever a new Value for the property is received, AAOS creates and sends an ExternalTimeSuggestion to the TimeDetectorService.
If other sources do not have a higher priority, Android will use this to set the system time. For information on how to adjust time source priorities and how time suggestions are handled (including how Android handles gitter, drift, and minimum resolution), see the Time Detector Service documentation.
drift = elapsedTime - PropValue.timestamp effectiveTime = PropValue.value.int64Values[0] + drift
We strongly recommend that this propertynot be used to retrieve time from ECUs using protocols (such as GNSS, NTP, and Telephony). Since these protocols are already supported by Android, we recommend you use Android systems instead of wiring through the VHAL with this property.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLI_SECS
Release: Android 13
FOG_LIGHTS_STATE
Fog light state. Return the current state of fog lights. If the:
- Car has front and rear fog lights. Front and rear fog lights can only be controlled
together.
FOG_LIGHTS_STATE
must be implemented.FRONT_FOG_LIGHTS_STATE
andREAR_FOG_LIGHTS_STATE
must not be implemented. - Front and rear fog lights can only be controlled independently.
FOG_LIGHTS_STATE
must not be implemented andFRONT_FOG_LIGHTS_STATE
andREAR_FOG_LIGHTS_STATE
must be implemented. - Car has only front fog lights. Only one of
FOG_LIGHTS_STATE
orFRONT_FOG_LIGHTS_STATE
must be implemented (not both).REAR_FOG_LIGHTS_STATE
must not be implemented. - Car has only rear fog lights. Only one of
FOG_LIGHTS_STATE
orREAR_FOG_LIGHTS_STATE
must be implemented (not both).FRONT_FOG_LIGHTS_STATE
must not be implemented.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
FOG_LIGHTS_SWITCH
Fog light switch. The setting wanted by the user. If the:
- Car has both front and rear fog lights. If front and rear fog lights can only be controlled
together,
FOG_LIGHTS_SWITCH
must be implemented.FRONT_FOG_LIGHTS_SWITCH
andREAR_FOG_LIGHTS_SWITCH
must not be implemented. - Front and rear fog lights can only be controlled independently.
FOG_LIGHTS_SWITCH
must not be implemented.FRONT_FOG_LIGHTS_SWITCH
andREAR_FOG_LIGHTS_SWITCH
must be implemented. - Car has only front fog lights. Only one of
FOG_LIGHTS_SWITCH
orFRONT_FOG_LIGHTS_SWITCH
must be implemented (not both).REAR_FOG_LIGHTS_SWITCH
must not be implemented. - Car has only rear fog lights. Only one of
FOG_LIGHTS_SWITCH
orREAR_FOG_LIGHTS_SWITCH
must be implemented (and not both).FRONT_FOG_LIGHTS_SWITCH
must not be implemented.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
FORWARD_COLLISION_WARNING_ENABLED
Enable or disable Forward Collision Warning (FCW). Set to true to enable FCW and false to
disable FCW. When FCW is enabled, the ADAS system in the vehicle should be turned on and
monitoring for potential collisions. In general, FORWARD_COLLISION_WARNING_ENABLED
should always return true or false. If the feature is not available due to some temporary state,
such as the vehicle speed being too low, that information must be conveyed through the
ErrorState
values in the FORWARD_COLLISION_WARNING_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
FORWARD_COLLISION_WARNING_STATE
Forward Collision Warning (FCW) state. Returns the current state of FCW. This property must
always return a valid state defined in ForwardCollisionWarningState
or
ErrorState
It must not
surface errors through StatusCode and must use the supported error states instead.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both ForwardCollisionWarningState
(including OTHER,
which is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enun type: ForwardCollisionWarningState/ErrorState
Unit type: N/A
Release: Android 14
FRONT_FOG_LIGHTS_STATE
Front fog lights state. Returns the current state of the front fog lights. Only one of
FOG_LIGHTS_STATE
or FRONT_FOG_LIGHTS_STATE
must be implemented.
Refer to the documentation on FOG_LIGHTS_STATE
for more information.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
FRONT_FOG_LIGHTS_SWITCH
Front fog lights switch. The setting wanted by the user. Only one of
FOG_LIGHTS_SWITCH
or FRONT_FOG_LIGHTS_SWITCH
must be implemented. Refer
to the documentation on FOG_LIGHTS_SWITCH
for more information.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME
Fuel consumption units for display.
Indicates type of units the car is using to display fuel consumption information to user
True indicates units are distance over volume such as MPG. False indicates units are volume
over distance such as L/100KM. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
FUEL_DOOR_OPEN
Fuel door open. This property must communicate if the fuel door on the vehicle is open or not.
This property does not apply to EVs. That is, if INFO_FUEL_TYPE
only
contains FuelType::FUEL_TYPE_ELECTRIC
, this property must not be implemented. For
EVs, implement EV_CHARGE_PORT_OPEN
. This property is defined as
VehiclePropertyAccess.READ_WRITE
but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
FUEL_LEVEL
Fuel remaining in the vehicle, in milliliters. This property must communicate the current
amount of fuel remaining in the vehicle in milliliters. This property does not apply to electric
vehicles. That is, if INFO_FUEL_TYPE
only contains
FuelType::FUEL_TYPE_ELECTRIC
, this property must not be implemented. For EVs, implement
EV_BATTERY_LEVEL
Value can not exceed INFO_FUEL_CAPACITY
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:MILLILITER
Release: Android 13
FUEL_LEVEL_LOW
Warning for fuel low level. This property corresponds to the low fuel warning on the dashboard.
Once FUEL_LEVEL_LOW
is set, it should not be cleared until more fuel is added to the
vehicle. This property can account for all fuel sources in a vehicle. For example, in a:
- Gas-powered vehicle, this property is based solely on gas level.
- Battery powered vehicle, this property is based only on battery level.
- Hybrid vehicle, this property may can based on a combination of gas and battery levels, at the OEM's discretion.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
FUEL_VOLUME_DISPLAY_UNITS
Fuel volume units for display. Indicates which units the car is using to display fuel volume
to the user. For example, Liter or Gallon. VehiclePropConfig.configArray
is used to
indicate the supported fuel volume display units. Volume units are defined in
VehicleUnit
For example, configArray[0] = LITER configArray[1] = GALLON
If updating FUEL_VOLUME_DISPLAY_UNITS
affects the values of other
*_DISPLAY_UNITS
properties,
then their values must be updated and communicated to the AAOS framework, too.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleUnit
Unit type: N/A
Release: Android 13
GEAR_SELECTION
The gear selected by the user. Values in the config data must represent the list of supported
gears for this vehicle. For example, config data for an automatic transmission must contain
{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_PARK,
and for
manual transmission the list must be GEAR_DRIVE
, GEAR_1, GEAR_2,...}{GEAR_NEUTRAL, GEAR_REVERSE, GEAR_1, GEAR_2,...}
For an automatic transmission vehicle that allows the driver to select specific gears on demand
(for example, manual mode), the value for GEAR_SELECTION
must be set to the specific
gear selected by the driver instead of GEAR_DRIVE
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleGear
Unit type: N/A
Release: Android 13
GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT
EU's General security regulation compliance requirement. Returns a value to indicate if general security regulation compliance is required and, if so, the type of requirement.
Change mode: STATIC
Access mode: READ
Enum type: GsrComplianceRequirementType
Unit type: N/A
Release: Android 14
GLOVE_BOX_DOOR_POS
Property that represents the current position of the glove box door. The
maxInt32Value
and minInt32Value
in VehicleAreaConfig must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates that the glove box door is closed.
The minInt32Value
must be 0. The maxInt32Value
indicates that the
glove box door is in the fully open position. Values in between minInt32Value
and
maxInt32Value
indicate a transition state between the closed and fully open
positions.
This property is not in any particular unit but in a specified range of relative positions.
The area ID must match the seat by which the glove box is intended to be used. For example if the
front right dashboard has a glove box embedded in it, then the area ID should be
SEAT_1_RIGHT
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
GLOVE_BOX_LOCKED
Lock or unlock the glove box. If true, the glove box is locked. If false, the glove box is
unlocked. The area ID must match the seat by which the glove box is intended to be used. For
example, if the front right dashboard has an embedded glove box embedded, then the area ID should
be VehicleAreaSeat#ROW_1_RIGHT
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
H hingga I
HANDS_ON_DETECTION_DRIVER_STATE
Status driver Deteksi Tangan di Setir (HOD). Menampilkan apakah tangan pengemudi berada di roda
kemudi. Umumnya, properti ini akan menampilkan status yang valid yang ditentukan dalam
HandsOnDetectionDriverState
atau ErrorState
. Misalnya, jika fitur
tidak tersedia karena
beberapa status sementara, informasi tersebut harus disampaikan melalui ErrorState
Jika kendaraan ingin mengirim peringatan kepada pengguna karena tangan pengemudi telah berada di luar
kemudi terlalu lama, peringatan harus ditampilkan melalui
HANDS_ON_DETECTION_WARNING
Untuk ID area global (0), array VehicleAreaConfig#supportedEnumValues
harus
ditentukan
kecuali jika semua status HandsOnDetectionDriverState
(termasuk OTHER, yang
tidak direkomendasikan)
dan ErrorState
didukung.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: HandsOnDetectionDriverState/ErrorState
Jenis unit: T/A
Rilis: Android 14
HANDS_ON_DETECTION_ENABLED
Mengaktifkan atau menonaktifkan Deteksi Sentuhan Tangan (HOD). Tetapkan ke true untuk mengaktifkan HOD dan false untuk menonaktifkan HOD.
Saat HOD diaktifkan, sistem di dalam kendaraan harus memantau keberadaan tangan
pengemudi di setir dan mengirim peringatan jika mendeteksi bahwa tangan pengemudi tidak lagi
berada di setir. Secara umum, HANDS_ON_DETECTION_ENABLED
harus selalu menampilkan
benar atau salah.
Jika fitur tidak tersedia karena beberapa status sementara, informasi tersebut harus disampaikan
melalui nilai ErrorState
di properti HANDS_ON_DETECTION_STATE
.
Properti ini ditentukan sebagai minInt32Value
VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya
hanya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 14
HANDS_ON_DETECTION_WARNING
Peringatan Hands On Detection (HOD). Menampilkan apakah peringatan dikirim ke pengemudi karena
tangannya tidak berada di kemudi dalam durasi yang terlalu lama. Umumnya, properti ini akan menampilkan
status yang valid yang ditentukan dalam HandsOnDetectionWarning
atau ErrorState
Misalnya, jika fitur tidak tersedia karena beberapa status sementara, informasi tersebut harus
disampaikan melalui ErrorState
Untuk ID area global (0), array VehicleAreaConfig#supportedEnumValues
harus ditentukan kecuali jika semua status
HandsOnDetectionWarning
(termasuk OTHER, yang tidak direkomendasikan) dan
ErrorState
didukung.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: HandsOnDetectionWarning/ErrorState
Jenis unit: T/A
Rilis: Android 14
HAZARD_LIGHTS_STATE
Status lampu hazard. Menampilkan status lampu hazard saat ini.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: VehicleLightState
Jenis unit: T/A
Rilis: Android 13
HAZARD_LIGHTS_SWITCH
Tombol lampu hazard. Setelan yang diinginkan pengguna. Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM hanya dapat menerapkannya sebagai
VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: VehicleLightSwitch
Jenis unit: T/A
Rilis: Android 13
HEADLIGHTS_STATE
Status lampu depan. Menampilkan status lampu depan saat ini.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: VehicleLightState
Jenis unit: T/A
Rilis: Android 13
HEADLIGHTS_SWITCH
Tombol lampu depan. Setelan yang diinginkan pengguna. Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM hanya dapat menerapkannya sebagai
VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: VehicleLightSwitch
Jenis unit: T/A
Rilis: Android 13
HIGH_BEAM_LIGHTS_STATE
Status lampu utama. Menampilkan status lampu utama saat ini.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: VehicleLightState
Jenis unit: T/A
Rilis: Android 13
HIGH_BEAM_LIGHTS_SWITCH
Sakelar lampu utama. Setelan yang diinginkan pengguna. Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM hanya dapat menerapkannya sebagai
VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: VehicleLightSwitch
Jenis unit: T/A
Rilis: Android 13
HVAC_AC_ON
Mengaktifkan dan menonaktifkan AC untuk areaId yang ditentukan. Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya sebagai
VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_ACTUAL_FAN_SPEED_RPM
Kecepatan kipas sebenarnya.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_AUTO_ON
Mengaktifkan dan menonaktifkan kontrol suhu otomatis.
Jika benar, kontrol suhu otomatis aktif. Jika salah (false), kontrol iklim otomatis nonaktif.
Jika kendaraan tidak mendukung penonaktifan kontrol iklim otomatis secara langsung, OEM harus
menambahkan logika dalam penerapan VHAL mereka untuk menetapkan HVAC_AUTO_ON
ke salah (false), yang mengubah
setelan HVAC yang diperlukan untuk menonaktifkan HVAC_AUTO_ON
secara tidak langsung. Idealnya, hal ini
tidak akan mengganggu pengguna. OEM harus mengembalikan setelan apa pun yang
diubah saat kontrol iklim otomatis nonaktif ke status sebelumnya. Dengan cara ini, satu-satunya hasil yang akan diperoleh adalah
HVAC_AUTO_ON
nonaktif. Jika tidak dapat memulihkan setelan HVAC ke setelan sebelumnya, OEM harus menerapkan perubahan yang paling tidak mengganggu.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_AUTO_RECIRC_ON
Resirkulasi otomatis aktif atau nonaktif. Jika resirkulasi otomatis aktif, sistem HVAC dapat
beralih secara otomatis ke mode resirkulasi jika kendaraan mendeteksi kualitas udara masuk yang buruk.
Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM hanya dapat menerapkannya sebagai
VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_DEFROSTER
Pemanas berbasis kipas untuk jendela yang ditentukan. Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya sebagai
VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_DUAL_ON
Mengaktifkan pengaitan suhu antar-area. AreaIDs
untuk
properti HVAC_DUAL_ON
harus berisi kombinasi HVAC_TEMPERATURE_SET
AreaIDs
yang dapat
digabungkan
bersama-sama. Jika HVAC_TEMPERATURE_SET
dipetakan ke AreaIDs
[a_1, a_2, ..., a_n]
dan jika HVAC_DUAL_ON
dapat diaktifkan untuk menggabungkan a_i dan a_j, maka
properti HVAC_DUAL_ON
harus dipetakan ke [a_i | a_j]. Selain itu, jika
a_k dan a_l juga dapat digabungkan secara terpisah, maka
HVAC_DUAL_ON
harus dipetakan ke [a_i | a_j, a_k | a_l].
Misalnya, mobil memiliki dua kursi depan (ROW_1_LEFT
dan ROW_1_RIGHT
) dan
tiga kursi belakang (ROW_2_LEFT, ROW_2_CENTER, dan ROW_2_RIGHT).
Ada dua unit kontrol suhu, sisi pengemudi dan sisi penumpang, yang dapat disinkronkan secara opsional. Hal ini dapat dinyatakan dengan cara ini di 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]
Jika properti diaktifkan, ECU harus menyinkronkan suhu untuk area yang terpengaruh.
Setiap parameter yang diubah sebagai efek samping dari mengaktifkan atau menonaktifkan parameter DUAL_ON akan menghasilkan
callback onPropertyEvent()
ke VHAL. Selain itu, jika menyetel suhu
(misalnya, suhu pengemudi) mengubah suhu lain (seperti suhu penumpang
depan), callback onPropertyEvent()
yang sesuai harus dibuat.
Jika pengguna mengubah suhu yang merusak pengaitan (misalnya, menetapkan suhu penumpang
secara independen), VHAL harus mengirim callback onPropertyEvent()
yang sesuai
(termasuk HVAC_DUAL_ON = false and HVAC_TEMPERATURE_SET[AreaID] = xxx
).
Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya
sebagai VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_ELECTRIC_DEFROSTER_ON
Status pencairan es listrik.
Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya
sebagai VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_FAN_DIRECTION
Setelan arah kipas. Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
,
tetapi OEM hanya dapat menerapkannya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: VehicleHvacFanDirection
Jenis unit: T/A
Rilis: Android 13
HVAC_FAN_DIRECTION_AVAILABLE
Posisi penggemar tersedia. Ini adalah bit mask posisi kipas yang tersedia untuk zona. Setiap
arah kipas yang tersedia dilambangkan dengan entri terpisah dalam vektor. Arah kipas dapat memiliki
beberapa bit dari kumpulan vehicle_hvac_fan_direction
. Misalnya, mobil biasa mungkin memiliki posisi
kipas berikut:
- 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)
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: VehicleHvacFanDirection
Jenis unit: T/A
Rilis: Android 13
HVAC_FAN_SPEED
Setelan kecepatan kipas. maxInt32Value
dan minInt32Value
di
VehicleAreaConfig harus ditentukan. Semua bilangan bulat antara minInt32Value
dan
maxInt32Value
harus didukung.
minInt32Value
kecepatan kipas terendahmaxInt32Value
kecepatan kipas tertinggi
Properti ini tidak dalam unit tertentu, tetapi dalam rentang kecepatan relatif yang ditentukan. Properti
ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat memilih untuk
menerapkannya hanya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_MAX_AC_ON
AC MAX aktif atau nonaktif. Jika AC MAX aktif, ECU dapat menyesuaikan item seperti posisi ventilasi, kecepatan kipas,
dan suhu sesuai kebutuhan untuk mendinginkan kendaraan secepat mungkin. Setiap parameter yang diubah sebagai
efek samping dari mengaktifkan atau menonaktifkan parameter MAX AC akan menghasilkan callback
onPropertyEvent()
ke VHAL. Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
,
tetapi OEM dapat menerapkannya sebagai VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_MAX_DEFROST_ON
Aktifkan dan nonaktifkan MAX DEFROST. Jika MAX DEFROST aktif, ECU dapat menyesuaikan item seperti posisi
ventilasi, kecepatan kipas, dan suhu sesuai kebutuhan untuk mencairkan es di kaca secepat mungkin.
Setiap parameter yang diubah sebagai efek samping dari mengaktifkan atau menonaktifkan parameter MAX DEFROST akan menghasilkan
callback onPropertyEvent()
ke VHAL. AreaIDs
untuk
HVAC_MAX_DEFROST_ON
menunjukkan MAX DEFROST dapat dikontrol di area tersebut. Misalnya,
areaConfig.areaId = {ROW_1_LEFT | ROW_1_RIGHT}
menunjukkan bahwa
HVAC_MAX_DEFROST_ON
hanya dapat dikontrol untuk baris depan. Properti ini
ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya
sebagai VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_POWER_ON
Merepresentasikan status daya global untuk HVAC. Menetapkan properti ini ke salah (false) DAPAT menandai beberapa properti yang mengontrol setiap fitur dan subsistem HVAC dalam status TIDAK TERSEDIA. Menetapkan properti ini ke benar DAPAT menandai beberapa properti yang mengontrol setiap fitur dan subsistem HVAC ke status TERSEDIA (kecuali jika salah satu atau semua properti TIDAK TERSEDIA berdasarkan nilai masing-masing).
HvacPower_DependentProperties
adalah properti yang memerlukan HVAC untuk diaktifkan
guna mengaktifkan fungsi. Di beberapa mobil, misalnya, untuk mengaktifkan AC, HVAC harus diaktifkan terlebih dahulu. Daftar HvacPower_DependentProperties
harus ditetapkan di
VehiclePropConfig.configArray
HvacPower_DependentProperties
hanya boleh
berisi properti yang terkait dengan VehicleArea:SEAT
Pemetaan AreaID untuk properti HVAC_POWER_ON
harus berisi semua AreaIDs
yang
dipetakan ke HvacPower_DependentProperties
. Misalnya, mobil memiliki dua:
- Kursi depan (
ROW_1_LEFT
,ROW_1_RIGHT
) dan tiga kursi belakang (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT). Jika fitur HVAC (AC, Suhu, dll.) di seluruh mobil bergantung pada satu pengontrol daya HVAC,HVAC_POWER_ON
harus dipetakan ke [ROW_1_LEFT | ROW_1_RIGHT | ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT]
- Kursi di baris depan (
ROW_1_LEFT
,ROW_1_RIGHT
) dan tiga kursi di baris kedua (ROW_2_LEFT, ROW_2_CENTER, ROW_2_RIGHT
) dan ketiga (ROW_3_LEFT, ROW_3_CENTER, ROW_3_RIGHT
). Jika mobil memiliki pengontrol suhu di baris depan yang dapat beroperasi sepenuhnya secara independen dari pengontrol suhu di bagian belakang kendaraan, makaHVAC_POWER_ON
harus dipetakan ke array dua elemen:- ROW_1_LEFT | ROW_1_RIGHT - ROW_2_LEFT | ROW_2_CENTER | ROW_2_RIGHT | ROW_3_LEFT | ROW_3_CENTER | ROW_3_RIGHT
Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM memiliki
opsi untuk menerapkannya hanya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_RECIRC_ON
Recirculasi aktif dan nonaktif. Mengontrol suplai udara luar ke kabin. Recirc
on berarti sebagian besar aliran udara ke kabin berasal dari kabin. Sirkulasi ulang
nonaktif berarti sebagian besar aliran udara ke kabin berasal dari luar mobil. Properti
ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkannya sebagai
VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_SEAT_TEMPERATURE
Pemanas dan pendingin kursi. maxInt32Value
dan minInt32Value
di
VehicleAreaConfig
harus ditentukan. Semua bilangan bulat antara minInt32Value
dan maxInt32Value
harus didukung.
maxInt32Value
menunjukkan setelan pemanas suhu kursi maksimum.
minInt32Value
harus 0, kecuali jika kendaraan mendukung pendingin kursi. Dalam hal ini,
minInt32Value
menunjukkan setelan pendinginan suhu kursi maksimum.
Properti ini tidak dalam unit tertentu, tetapi dalam rentang setelan suhu
relatif yang ditentukan. Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM
hanya dapat menerapkannya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_SEAT_VENTILATION
Ventilasi kursi. maxInt32Value
dan minInt32Value
di
VehicleAreaConfig
harus ditentukan. Semua bilangan bulat antara minInt32Value
dan maxInt32Value
harus didukung. minInt32Value
harus 0. maxInt32Value
menunjukkan setelan ventilasi maksimum yang tersedia untuk kursi.
Properti ini tidak berada dalam unit tertentu, tetapi dalam rentang setelan ventilasi yang ditentukan.
Digunakan oleh aplikasi HVAC dan Asisten untuk mengaktifkan, mengubah, atau membaca status ventilasi kursi. Hal ini berbeda dengan pendingin kursi. Lampu dapat menyala bersamaan dengan pendingin, atau tidak.
Properti ini ditentukan sebagai >VehiclePropertyAccess.READ_WRITE
, tetapi OEM hanya dapat
menerapkannya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_SIDE_MIRROR_HEAT
Pemanas kaca spion samping. Nilai yang meningkat menunjukkan tingkat pemanasan yang lebih tinggi untuk kaca spion samping.
Anda harus menentukan maxInt32Value
dan minInt32Value
di
VehicleAreaConfig
Semua bilangan bulat antara minInt32Value
dan
maxInt32Value
harus didukung. Dalam data konfigurasi:
maxInt32Value
mewakili tingkat pemanasan maksimum.minInt32Value
HARUS 0 dan menunjukkan tidak ada pemanasan.
Properti ini tidak berada dalam unit tertentu, tetapi dalam rentang setelan pemanasan relatif yang ditentukan.
Properti ini ditentukan sebagai VehiclePropertyAccess.READ_WRITE
, tetapi OEM memiliki
opsi untuk menerapkannya sebagai VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_STEERING_WHEEL_HEAT
Menetapkan jumlah pemanas dan pendingin untuk setir. maxInt32Value
dan
minInt32Value
di VehicleAreaConfig
harus ditentukan. Semua bilangan bulat antara
minInt32Value
dan maxInt32Value
harus didukung.
maxInt32Value
menunjukkan setelan pemanas setir maksimum. minInt32Value
harus 0, kecuali jika kendaraan juga mendukung pendinginan
setir. Dalam hal ini, minInt32Value
menunjukkan setelan pendinginan
setir maksimum. Properti ini tidak berada dalam unit tertentu, tetapi dalam rentang setelan pemanas
yang ditentukan. Properti ini ditentukan sebagai VehiclePropertyAccess.READ
, tetapi OEM hanya dapat
menerapkannya sebagai VehiclePropertyAccess.READ
.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HVAC_TEMPERATURE_CURRENT
Suhu saat ini HVAC.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: T/A
Jenis unit: VehicleUnit:CELSIUS
Rilis: Android 13
HVAC_TEMPERATURE_DISPLAY_UNITS
Satuan suhu untuk ditampilkan. Menunjukkan apakah suhu ditampilkan dalam Celcius atau Fahrenheit.
VehiclePropConfig.configArray
menunjukkan satuan tampilan suhu yang didukung. Misalnya,
configArray[0] = CELSIUS configArray[1] = FAHRENHEIT
Parameter ini DAPAT digunakan untuk
menampilkan suhu HVAC apa pun dalam sistem. Nilai harus berupa salah satu dari
VehicleUnit.CELSIUS
atau VehicleUnit.FAHRENHEIT
Jika memperbarui HVAC_TEMPERATURE_DISPLAY_UNITS memengaruhi nilai properti
*_DISPLAY_UNITS
lainnya, nilainya harus diperbarui dan dikomunikasikan ke
framework AAOS.
Properti ini ditentukan sebagai
VehiclePropertyAccess.READ_WRITE
, tetapi OEM dapat menerapkan
VehiclePropertyAccess.READ
saja.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: VehicleUnit
Jenis unit: T/A
Rilis: Android 13
HVAC_TEMPERATURE_SET
Suhu target HVAC disetel dalam Celcius.
minFloatValue
dan maxFloatValue
di VehicleAreaConfig
harus ditentukan:
minFloatValue
setelan suhu minimum dalam Celsius.maxFloatValue
setelan suhu maksimum dalam Celcius.
Jika semua nilai antara minFloatValue
dan maxFloatValue
tidak
didukung, gunakan configArray
untuk mencantumkan nilai suhu yang valid yang dapat ditetapkan.
Ini juga menjelaskan tabel pencarian untuk mengonversi suhu dari Celsius ke Fahrenheit (dan
sebaliknya) untuk kendaraan. configArray
harus ditentukan jika konversi unit standar
tidak didukung di kendaraan.
configArray
ditetapkan sebagai berikut:
configArray[0]
[batas bawah suhu yang didukung dalam Celcius] * 10configArray[1]
[batas atas suhu yang didukung dalam Celcius] * 10configArray[2]
[increment in Celsius] * 10configArray[3]
[batas bawah suhu yang didukung dalam Fahrenheit] * 10configArray[4]
[batas atas suhu yang didukung dalam Fahrenheit] * 10configArray[5]
[increment in Fahrenheit] * 10
minFloatValue
dan maxFloatValue
di VehicleAreaConfig
harus sama dengan configArray[0]
dan
configArray[1]
. Misalnya, jika kendaraan mendukung nilai suhu
sebagai [16.0, 16.5, 17.0 ,..., 28.0] in Celsius [60.5, 61.5, 62.5 ,..., 84.5]
dalam
Fahrenheit, configArray
harus
configArray = {160, 280, 5, 605, 845, 10}
Idealnya, rasio penambahan Celsius terhadap penambahan Fahrenheit harus mendekati
rasio sebenarnya yaitu 1 derajat Celsius terhadap 1,8 derajat Fahrenheit. Harus ada pemetaan satu-ke-satu
dari semua nilai Celsius ke nilai Fahrenheit yang ditentukan oleh configArray
. configArray
digunakan oleh
klien untuk mengonversi suhu properti ini dari Celsius ke Fahrenheit. Selain itu, ini memungkinkan klien mengetahui nilai Celsius untuk menetapkan properti guna mencapai nilai Fahrenheit yang diinginkan untuk sistem. Jika ECU tidak memiliki pemetaan satu-ke-satu dari semua nilai Celcius ke nilai Fahrenheit,
configArray
hanya boleh menentukan daftar nilai Celcius dan Fahrenheit
yang memiliki pemetaan satu-ke-satu.
Misalnya, jika ECU mendukung nilai Celcius dari 16 hingga 28 dan nilai Fahrenheit dari 60 hingga
85, masing-masing dengan penambahan 1, maka salah satu kemungkinan configArray
adalah
code>{160, 280, 10, 600, 840, 20}Dalam hal ini, 85 bukan suhu yang didukung.
Setiap nilai yang ditetapkan di antara nilai yang valid harus dibulatkan ke nilai valid terdekat. Sebaiknya OEM juga menerapkan properti kendaraan HVAC_TEMPERATURE_VALUE_SUGGESTION
karena menyediakan metode sederhana bagi aplikasi untuk menentukan nilai suhu yang dapat ditetapkan untuk kendaraan dan untuk mengonversi nilai antara Celcius dan Fahrenheit.
Properti ini ditentukan sebagai VehiclePropertyAccess.READ
, tetapi OEM dapat menerapkannya sebagai
VehiclePropertyAccess.READ
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE/READ
Jenis enum: T/A
Jenis unit: VehicleUnit:CELSIUS
Rilis: Android 13
HVAC_TEMPERATURE_VALUE_SUGGESTION
Nilai yang disarankan untuk menetapkan suhu HVAC.
Terapkan properti untuk membantu aplikasi memahami nilai suhu terdekat yang didukung dalam Celcius atau Fahrenheit.
floatValues[0]
Nilai yang diminta yang ingin ditetapkan suhunya oleh aplikasi.floatValues[1]
Satuan untukfloatValues[0]
dan harus berupa salah satu dari{VehicleUnit.CELSIUS, VehicleUnit.FAHRENHEIT}
floatValues[2]
Nilai OEM yang disarankan dalam CELSIUS (nilai ini tidak disertakan dalam permintaan).floatValues[3]
Nilai OEM yang disarankan dalam FAHRENHEIT (nilai ini tidak disertakan dalam permintaan).
Aplikasi memanggil set(VehiclePropValue propValue)
dengan nilai dan unit yang diminta untuk nilai tersebut. OEM harus menampilkan nilai yang disarankan di
floatValues[2]
dan floatValues[3]
dengan callback
onPropertyEvent()
.
Nilai yang disarankan harus sesuai dengan nilai yang dapat berasal dari
HVAC_TEMPERATURE_SET
configArray
Dengan kata lain, nilai yang disarankan
dan tabel nilai
dari configArray
harus sama.
Sebaiknya OEM menambahkan logika kustom dalam penerapan VHAL mereka untuk menghindari pembuatan permintaan ke ECU HVAC. Logikanya dapat berupa sebagai berikut. Untuk mengonversi suhu dari Celsius ke Fahrenheit:
// Given tempC and the configArray float minTempC = configArray[0] / 10.0; float temperatureIncrementCelsius = configArray[2] / 10.0; float minTempF = configArray[3] / 10.0; float temperatureIncrementFahrenheit = configArray[5] / 10.0; // Round to the closest increment int numIncrements = round((tempC - minTempC) / temperatureIncrementCelsius); tempF = temperatureIncrementFahrenheit * numIncrements + minTempF;
Misalnya, saat pengemudi menggunakan asisten suara untuk menyetel suhu HVAC ke 66,2 dalam Fahrenheit.
Pertama, aplikasi menetapkan properti ini dengan nilai
[66.2, (float)VehicleUnit.FAHRENHEIT,0,0]
Jika OEM menyarankan untuk menetapkan 19,0 dalam Celcius atau 66,5 dalam Fahrenheit sesuai permintaan pengguna, VHAL
harus membuat callback dengan nilai properti
[66.2, (float)VehicleUnit.FAHRENHEIT, 19.0, 66.5]
Setelah asisten suara mendapatkan callback, asisten suara akan memberi tahu pengguna dan menetapkan suhu HVAC ke
nilai yang disarankan.
Contoh lain, aplikasi menerima 21 Celsius sebagai nilai suhu saat ini dengan mengkueri
HVC_TEMPERATURE_SET
, tetapi aplikasi perlu mengetahui nilai yang ditampilkan di UI
mobil dalam Fahrenheit. Untuk ini, aplikasi menetapkan properti ke
[21, (float)VehicleUnit.CELSIUS, 0, 0]
Jika nilai yang disarankan oleh OEM untuk 21 Celcius adalah 70 Fahrenheit, VHAL harus menghasilkan
callback dengan nilai properti [21, (float)VehicleUnit.CELSIUS, 21.0, 70.0]
Dalam hal
ini, aplikasi dapat mengetahui bahwa nilainya adalah 70,0 Fahrenheit di UI mobil.
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HW_CUSTOM_INPUT
Menentukan peristiwa input partner OEM kustom. Peristiwa input ini harus digunakan oleh partner OEM yang ingin menyebarkan peristiwa yang tidak didukung oleh Android. Nilai ini hanya terdiri dari array nilai int32. Properti Android adalah:
int32Values[0]
Kode input yang mengidentifikasi fungsi yang mewakili peristiwa ini. Jenis peristiwa yang valid ditentukan olehCustomInputType.CUSTOM_EVENT_F1
hinggaCustomInputType.CUSTOM_EVENT_F10
Jenis peristiwa ini mewakili peristiwa kustom yang akan ditentukan oleh partner OEM.int32Values[1]
Jenis tampilan target yang ditentukan diVehicleDisplay
Peristiwa yang tidak terikat dengan tampilan tertentu harus dikirim keVehicleDisplay#MAIN
int32Values[2]
Penghitung ulangi, jika 0, peristiwa tidak diulang. Nilai 1 atau lebih tinggi menunjukkan berapa kali peristiwa ini telah diulang.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: CustomInputType
Jenis unit: T/A
Rilis: Android 13
HW_KEY_INPUT
Properti untuk memasukkan peristiwa input hardware ke Android.
int32Values[0]
Tindakan yang ditentukan oleh VehicleHwKeyInputActionint32Values[1]
Kode kunci, harus menggunakan kode kunci android standarint32Values[2]
Tampilan target yang ditentukan diVehicleDisplay
Peristiwa yang tidak terikat dengan tampilan tertentu harus dikirim keVehicleDisplay#MAIN
int32Values[3]
(Opsional) Jumlah jeda. Nilai harus sama dengan atau lebih besar dari 1. Jika dihilangkan, Android akan ditetapkan secara default ke 1.
Ubah mode: .ON_CHANGE
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
HW_KEY_INPUT_V2
Properti untuk memasukkan peristiwa input hardware ke Android.
int32array[0]
Tampilan target yang ditentukan olehVehicleDisplay
seperti:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER, VehicleDisplay::AUX
int32array[1]
Kode kunci, harus menggunakan kode kunci Android standar, sepertiKEYCODE_HOME
danKEYCODE_BACK
- Tindakan
int32array[2]
yang ditentukan di VehicleHwKeyInputAction, seperti:
VehicleHwKeyInputAction::ACTION_UP
,VehicleHwKeyInputAction::ACTION_UP
int32array[3]
Jumlah pengulangan peristiwa. Untuk peristiwa tombol ditekan, ini adalah jumlah ulangan dengan tombol pertama ditekan dimulai dari 0 dan dihitung dari sana. Untuk peristiwa tombol atas, nilai ini selalu sama dengan 0.int64array[0]
Waktu nonaktif dalam nanodetik yang berlalu sejak booting terakhir. Menunjukkan waktu peristiwa tombol ditekan terbaru. Untuk peristiwa down, ini adalah waktu peristiwa down.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 14
HW_MOTION_INPUT
Properti untuk memasukkan peristiwa input hardware ke Android.
int32array[0]
Tampilan target yang ditentukan olehVehicleDisplay
, seperti:
VehicleDisplay::MAIN, VehicleDisplay::INSTRUMENT_CLUSTER
,VehicleDisplay::AUX
int32array[1]
Jenis input yang ditentukan di VehicleHwMotionInputSource, seperti:
VehicleHwMotionInputSource::SOURCE_KEYBOARD
,VehicleHwMotionInputSource::SOURCE_DPAD
int32array[2]
Kode tindakan yang ditentukan di VehicleHwMotionInputAction, seperti:
VehicleHwMotionInputAction::ACTION_UP
,VehicleHwMotionInputAction::ACTION_DOWN
int32array[3]
Flag status tombol yang ditentukan di VehicleHwMotionButtonStateFlag, seperti:
VehicleHwMotionButtonStateFlag::BUTTON_PRIMARY
,VehicleHwMotionButtonStateFlag::BUTTON_SECONDARY
int32array[4]
Jumlah peristiwa pointer, N. N harus berupa bilangan bulat positif.int32array[5:5+N-1]
ID pointer, panjang Nint32array[5+N:5+2*N-1]
Jenis alat, panjang N. Seperti yang ditentukan dalamVehicleHwMotionToolType
, seperti:
VehicleHwMotionToolType::TOOL_TYPE_FINGER
,VehicleHwMotionToolType::TOOL_TYPE_STYLUS
- Data
floatArray[0:N-1]
x, panjang N - Data y
floatArray[N:2*N-1]
, panjang N - Data tekanan
floatArray[2*N:3*N-1]
, panjang N - Data ukuran
floatArray[3*N:4*N-1]
, panjang N int64array[0]
Waktu nonaktif, nanodetik yang berlalu sejak booting. Menunjukkan waktu saat pengguna awalnya menekan ke bawah untuk memulai streaming peristiwa posisi. Untuk peristiwa down, ini adalah waktu peristiwa down.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 14
HW_ROTARY_INPUT
Properti untuk memasukkan peristiwa rotasi hardware ke Android.
int32Values[0]
RotaryInputType untuk mengidentifikasi tombol putar yang diputar.int32Values[1]
Jumlah detent (klik), positif untuk searah jarum jam, negatif untuk berlawanan arah jarum jam.int32Values[2]
Tampilan target yang ditentukan dalam PeristiwaVehicleDisplay
yang tidak terikat dengan tampilan tertentu harus dikirim keVehicleDisplay#MAIN
int32values[3 .. 3 + abs(number of detents) - 2]
Delta nanodetik antara pasangan jeda berturut-turut jika jumlah jeda lebih dari 1 atau kurang dari -1.VehiclePropValue.timestamp
Kapan rotasi terjadi. Jika jumlah detent lebih dari 1 atau kurang dari -1, saat detent rotasi pertama terjadi.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: RotaryInputType
Jenis unit: T/A
Rilis: Android 13
IGNITION_STATE
Merepresentasikan status pengapian.
Mode perubahan: ON_CHANGE
Mode akses: READ
Jenis enum: VehicleIgnitionState
Jenis unit: T/A
Rilis: Android 13
INFO_DRIVER_SEAT
Implementasi VHAL lokasi kursi pengemudi harus mengabaikan areaId. Gunakan
VehicleArea:GLOBAL
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: VehicleAreaSeat
Jenis unit: T/A
Rilis: Android 13
INFO_EV_BATTERY_CAPACITY
Kapasitas baterai nominal untuk kendaraan listrik atau hibrida. Menampilkan kapasitas baterai nominal, EV
atau hibrida. Ini adalah total kapasitas baterai yang dapat digunakan saat kendaraan masih baru. Nilai ini mungkin
berbeda dengan EV_CURRENT_BATTERY_CAPACITY
karena
EV_CURRENT_BATTERY_CAPACITY
menampilkan kapasitas baterai yang dapat digunakan secara real-time dengan
mempertimbangkan faktor-faktor seperti penuaan baterai dan dependensi suhu.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: VehicleUnit:WH
Rilis: Android 13
INFO_EV_CONNECTOR_TYPE
Daftar konektor yang dapat digunakan Kendaraan Listrik ini. Jika kendaraan memiliki beberapa port pengisian daya, properti ini harus menampilkan semua kemungkinan jenis konektor yang dapat digunakan oleh setidaknya satu port pengisian daya di kendaraan.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: EvConnectorType
Jenis unit: T/A
Rilis: Android 13
INFO_EV_PORT_LOCATION
Properti ini harus menyampaikan lokasi port pengisian daya di Kendaraan Listrik menggunakan
enum PortLocationType. Jika kendaraan memiliki beberapa port, properti ini harus menampilkan
port yang memungkinkan pengisian daya tercepat. Untuk mengomunikasikan semua lokasi port, gunakan
INFO_MULTI_EV_PORT_LOCATIONS
Mode akses: BACA
Jenis enum:
PortLocationType
Jenis unit: T/A
Rilis: Android 13
INFO_EXTERIOR_DIMENSIONS
Dimensi eksterior kendaraan:
- Tinggi:
int32Values[0]
- Durasi:
int32Values[1]
- Lebar:
int32Values[2]
- Lebar, termasuk cermin:
int32Values[3]
- Jarak sumbu roda, termasuk spion:
int32Values[4]
- Lebar jalur depan:
int32Values[5]
- Lebar jalur belakang:
int32Values[6]
- Diameter belok dari tepi jalan ke tepi jalan:
int32Values[7]
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: VehicleUnit:MILLIMETER
Rilis: Android 13
INFO_FUEL_CAPACITY
Kapasitas bahan bakar kendaraan dalam mililiter. Properti ini harus menyampaikan jumlah maksimum
bahan bakar yang dapat disimpan di kendaraan dalam milililiter. Properti ini tidak berlaku untuk kendaraan
listrik (EV). Artinya, jika INFO_FUEL_TYPE
hanya berisi
FuelType::FUEL_TYPE_ELECTRIC
, INFO_FUEL_CAPACITY tidak boleh diterapkan.
Untuk kendaraan listrik, terapkan INFO_EV_BATTERY_CAPACITY.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: VehicleUnit:MILLILITER
Rilis: Android 13
INFO_FUEL_DOOR_LOCATION
Lokasi tutup tangki bahan bakar. Properti ini harus menyampaikan lokasi pintu bahan bakar pada kendaraan.
Properti ini tidak berlaku untuk Kendaraan Listrik. Artinya, jika INFO_FUEL_TYPE
hanya berisi
FuelType::FUEL_TYPE_ELECTRIC
, properti ini tidak boleh diterapkan. Untuk Kendaraan Listrik,
terapkan INFO_EV_PORT_LOCATION
atau INFO_MULTI_LOCATIONS
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: PortLocationType
Jenis unit: T/A
Rilis: Android 13
INFO_FUEL_TYPE
Daftar bahan bakar yang dapat digunakan kendaraan. FuelType::FUEL_TYPE_ELECTRIC
hanya boleh
disertakan jika kendaraan dapat dicolokkan dan dapat diisi ulang. Misalnya, Kendaraan Listrik Hybrid Penuh
(FHEV) tidak boleh menyertakan FuelType::FUEL_TYPE_ELECTRIC
karena nilai INT32_VEC
untuk INFO_FUEL_TYPE
INFO_FUEL_TYPE
dapat diisi seperti itu.
int32Values = { FuelType::FUEL_TYPE_UNLEADED }
FuelType::FUEL_TYPE_ELECTRIC
sebagai nilai INT32_VEC untuk
INFO_FUEL_TYPE
INFO_FUEL_TYPE
dapat diisi seperti itu,
int32Values = { FuelType::FUEL_TYPE_UNLEADED, FuelType::FUEL_TYPE_ELECTRIC }
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: FuelType
Jenis unit: T/A
Rilis: Android 13
INFO_MAKE
Produsen kendaraan. Properti ini harus menyampaikan nama merek publik kendaraan.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
INFO_MODEL
Model kendaraan. Properti ini harus menyampaikan nama model publik kendaraan.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
INFO_MODEL_YEAR
Tahun model kendaraan dalam format `YYYY` berdasarkan kalender Gregorian.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: VehicleUnit:YEAR
Rilis: Android 13
INFO_MULTI_EV_PORT_LOCATIONS
Beberapa lokasi port Kendaraan Listrik Umum. Terapkan properti ini jika kendaraan memiliki beberapa port Kendaraan Listrik Umum. Lokasi port ditentukan di PortLocationType. Misalnya, mobil memiliki satu port kiri depan dan satu port kiri belakang:
int32Values[0] = PortLocationType::FRONT_LEFT int32Values[1] = PortLocationType::REAR_LEFT
Jika kendaraan hanya memiliki satu port, nilai properti ini harus mencantumkan satu elemen. Untuk mendeskripsikan satu lokasi port, lihat INFO-EV-PORT-LOCATION
.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: PortLocationType
Jenis unit: T/A
Rilis: Android 13
INFO_VIN
VIN kendaraan.
Mode perubahan: STATIC
Mode akses: READ
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
INITIAL_USER_INFO
Menentukan pengguna Android yang akan digunakan selama inisialisasi. Properti ini dipanggil oleh
sistem Android saat melakukan inisialisasi dan memungkinkan HAL menentukan pengguna Android mana yang harus
dimulai. Permintaan ini dibuat dengan menetapkan VehiclePropValue (ditentukan oleh
InitialUserInfoRequest
), dan HAL harus merespons dengan peristiwa perubahan properti (ditentukan
oleh InitialUserInfoResponse).
Jika HAL tidak merespons setelah waktu yang ditentukan oleh sistem Android, sistem Android akan melanjutkan
seolah HAL menampilkan respons tindakan InitialUserInfoResponseAction:DEFAULT.
Misalnya, saat booting pertama, permintaannya dapat berupa:
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
). Misalnya, untuk membuat
pengguna Pemilik yang sama dengan lokalitas en-US dan pt-BR, nilai string responsnya adalah
en-US,pt-BR||Pemilik. Dengan demikian, lokalitas maupun nama tidak boleh berisi dua batang vertikal
(||
) dalam nilainya, meskipun Anda dapat menggunakan satu batang vertikal (|
).
Mode perubahan: ON_CHANGE
Mode akses: READ_WRITE
Jenis enum: T/A
Jenis unit: T/A
Rilis: Android 13
J ke R
LANE_CENTERING_ASSIST_COMMAND
Lane Centering Assist (LCA) commands. Commands to activate and suspend LCA.
When the command ACTIVATE
from LaneCenteringAssistCommand
is sent,
LANE_CENTERING_ASSIST_STATE
must be set to LaneCenteringAssistState#ACTIVATION_REQUESTED
When the
ACTIVATE
command succeeds,
LANE_CENTERING_ASSIST_STATE
must be set to LaneCenteringAssistState#ACTIVATED
When the command
DEACTIVATE
from LaneCenteringAssistCommand
succeeds,
LANE_CENTERING_ASSIST_STATE
must be set to
LaneCenteringAssistState#ENABLED
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
must be defined unless all
enum values of LaneCenteringAssistCommand
are supported. When this property is not available
because LCA is disabled (for example, LANE_CENTERING_ASSIST_ENABLED
is false), this
property must
return StatusCode#NOT_AVAILABLE_DISABLED
If LANE_CENTERING_ASSIST_STATE
is
implemented and the
state is set to an ErrorState
value, then this property must return a StatusCode
that aligns with
the ErrorState
value. For example, if LANE_CENTERING_ASSIST_STATE
is set to
ErrorState#NOT_AVAILABLE_SPEED_LOW
then this property must return
StatusCode#NOT_AVAILABLE_SPEED_LOW
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: LaneCenteringAssistCommand
Unit type: N/A
Release: Android 14
LANE_CENTERING_ASSIST_ENABLED
Enable or disable Lane Centering Assist (LCA). Set true to enable LCA and false to disable LCA. When LCA is enabled, the ADAS system in the vehicle should be turned on and waiting for an activation signal from the driver. Once the feature is activated, the ADAS system should be steering the vehicle to keep it centered in its current lane.
This is different from Lane Keep Assist (LKA) which monitors if the driver unintentionally
drifts toward or over the lane marking. If an unintentional lane departure is detected, the
system applies steering control to return the vehicle into the current lane.
In general, LANE_CENTERING_ASSIST_ENABLED
should always return true or false. If the
feature is not available due to some temporary state, such as the vehicle speed being too low or
too high, that information must be conveyed through the ErrorState
values in the
LANE_CENTERING_ASSIST_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
LANE_CENTERING_ASSIST_STATE
Lane Centering Assist (LCA) state. Returns the current state of LCA. This property must always
return a valid state defined in LaneCenteringAssistState
or ErrorState
It must not surface errors through StatusCode
and must use the supported error
states instead.
If LCA includes lane departure warnings, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both LaneCenteringAssistState
(including OTHER, which
is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneCenteringAssistState/ErrorState
Unit type: N/A
Release: Android 14
LANE_DEPARTURE_WARNING_ENABLED
Enable or disable Lane Departure Warning (LDW). Set true to enable LDW and false to disable LDW. When LDW is enabled, the ADAS system in the vehicle should be turned on and monitoring if the vehicle is approaching or crossing lane lines, in which case a warning will be given.
In general, LANE_DEPARTURE_WARNING_ENABLED
should always return true or false. If
the feature is not available due to some temporary state, such as the vehicle speed being too low
or too high, that information must be conveyed through the ErrorState
values in the
LANE_DEPARTURE_WARNING_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
LANE_DEPARTURE_WARNING_STATE
Lane Departure Warning (LDW) state. Returns the current state of LDW. This property must always
return a valid state defined in LaneDepartureWarningState
or ErrorState
It must not surface errors through StatusCode
and must use the supported error states
instead.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be
defined unless all states of both LaneDepartureWarningState
(including OTHER, which
is not recommended) and ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneDepartureWarningState/ErrorState
Unit type: N/A
Release: Android 14
LANE_KEEP_ASSIST_ENABLED
Enable or disable Lane Keep Assist (LKA). Set true to enable LKA and false to disable LKA. When LKA is enabled, the ADAS system in the vehicle should be turned on and monitoring if the driver unintentionally drifts toward or over the lane marking. If an unintentional lane departure is detected, the system applies steering control to return the vehicle into the current lane. This is different from Lane Centering Assist (LCA) which, when activated, applies continuous steering control to keep the vehicle centered in the current lane.
In general, LANE_KEEP_ASSIST_ENABLED
should always return true or false. If the
feature is not available due to some temporary state, such as the vehicle speed being too low or
too high, that information must be conveyed through the ErrorState
values in the
LANE_KEEP_ASSIST_STATE
property.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
LANE_KEEP_ASSIST_STATE
Lane Keep Assist (LKA) state. Returns the current state of LKA. This property must always return
a valid state defined in LaneKeepAssistState
or ErrorState
It must not
surface errors through StatusCode
and must use the supported error states instead
If LKA includes lane departure warnings before applying steering corrections, those warnings must be surfaced through the Lane Departure Warning (LDW) properties.
For the global area ID (0), the VehicleAreaConfig#supportedEnumValues
array must be defined
unless all states of both LaneKeepAssistState
(including OTHER, which is not recommended) and
ErrorState
are supported.
Change mode: ON_CHANGE
Access mode: READ
Enum type: LaneKeepAssistState/ErrorState
Unit type: N/A
Release: Android 14
LOCATION_CHARACTERIZATION
Characterization of inputs used for computing location. This property must indicate what (if any) data and sensor inputs are considered by the system when computing the vehicle's location that is shared with Android through the GNSS HAL.
The value must return a collection of bit flags. The bit flags are defined in
LocationCharacterization. The value must also include exactly one of DEAD_RECKONED
or
RAW_GNSS_ONLY
among its collection of bit flags.
When this property is not supported, it is assumed that no additional sensor inputs are fused into the GNSS updates provided through the GNSS HAL. That is unless otherwise specified through the GNSS HAL interfaces.
Change mode: STATIC
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 14
MIRROR_AUTO_FOLD_ENABLED
Represents property for Mirror Auto Fold feature. This property is true when the feature for automatically folding the vehicle's side mirrors (for example, when the mirrors fold inward automatically when one exits and locks the vehicle) is enabled.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
MIRROR_AUTO_TILT_ENABLED
Represents property for Mirror Auto Tilt feature. This property is true when the feature for automatically tilting the vehicle's side mirrors (for example, when the mirrors tilt downward automatically when one reverses the vehicle) is enabled.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 14
MIRROR_FOLD
Mirror fold. True indicates mirrors are folded. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
MIRROR_LOCK
Mirror lock. True indicates mirror positions are locked and not changeable.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
MIRROR_Y_MOVE
Mirror Y move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the mirror while tilting
right. The minInt32Value
represents the maximum movement speed of the mirror while
tilting left.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the mirror reaches the positional limit, the value must reset to 0. If MIRROR_Y_MOVE's value is currently 0, then that means there is no movement currently occurring.
This property is not in any particular unit but in a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
MIRROR_Y_POS
Mirror Y position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The minInt32Value
indicates the mirror is tilted completely to the left.
This must be a non-positive value. The maxInt32Value
indicates the mirror is tilted
completely
to the right. This must be a non-negative value. 0 indicates the mirror is not tilted in either
direction.
Values in between minInt32Value
and maxInt32Value
indicate a transition
state between the left
extreme and right extreme positions.
This property is not in any particular unit but in a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
MIRROR_Z_MOVE
Mirror Z move. The maxInt32Value
and minInt32Value
in each
VehicleAreaConfig
must be defined.
All integers between minInt32Value
and maxInt32Value
must be supported.
The maxInt32Value
represents the maximum movement speed of the mirror while tilting upwards.
The minInt32Value
represents the maximum movement speed of the mirror while tilting downwards.
Larger absolute values, either positive or negative, indicate a faster movement speed. Once the
mirror reaches the positional limit, the value must reset to 0. If MIRROR_Z_MOVE's value is
currently 0, then that means there is no movement currently occurring.
This property is not in any particular unit but in a specified range of relative movement speeds.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
MIRROR_Z_POS
Mirror Z position. The maxInt32Value
and minInt32Value
in
VehicleAreaConfig
must be defined. All integers between minInt32Value
and maxInt32Value
must be supported. The minInt32Value
indicates the
mirror is tilted completely downwards. This must be a non-positive value. The
maxInt32Value
indicates the mirror is tilted completely upwards. This must be a
non-negative value. 0 indicates the mirror is not tilted in either direction.
Values in between minInt32Value
and maxInt32Value
indicate a
transition state between the fully downward and fully upwards positions.
This property is not in any particular unit but in a specified range of relative positions.
This property is defined as VehiclePropertyAccess.READ_WRITE
, but OEMs can
implement it as VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: N/A
Unit type: N/A
Release: Android 13
NIGHT_MODE
True indicates that the night mode sensor has detected the car cabin environment to have low light. The platform can use this to, for example, enable an appropriate UI for better viewing in dark or low light environments.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME
Reports a snapshot of the value of the OBD2 sensors available at the time that a fault occurred
and was detected. A configArray must be provided with the same meaning as defined for
OBD2_LIVE_FRAME
The values of this property are to be interpreted in a similar fashion as those for
OBD2_LIVE_FRAME
, with the exception that the stringValue field may contain a
non-empty diagnostic troubleshooting code (DTC).
An IVehicle#get request of this property must provide a value for int64Values[0]. This is interpreted
as the timestamp of the freeze frame to retrieve. A list of timestamps can be obtained by an
IVehicle#get of OBD2_FREEZE_FRAME_INFO
Should no freeze frame be available at the given timestamp, a response of
NOT_AVAILABLE
must be returned by the implementation. Because vehicles may have
limited storage for freeze frames, it is possible for a frame request to respond with
NOT_AVAILABLE
even if the associated timestamp has been recently obtained through
OBD2_FREEZE_FRAME_INFO
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME_CLEAR
Freeze frame clear. Reports a snapshot of the value of the OBD2 sensors available at the time
that a fault occurred and was detected. A configArray must be provided with the same meaning as
defined for OBD2_LIVE_FRAME
The values of this property are to be interpreted in a similar fashion as those for
OBD2_LIVE_FRAME
, with the exception that the stringValue field may contain a non-empty diagnostic
troubleshooting code (DTC).
A IVehicle#get request of this property must provide a value for int64Values[0]. This will be
interpreted as the timestamp of the freeze frame to retrieve. A list of timestamps can be
obtained by a IVehicle#get of OBD2_FREEZE_FRAME_INFO
Should no freeze frame be available at the given timestamp, a response of NOT_AVAILABLE
must be
returned by the implementation. Because vehicles may have limited storage for freeze frames,
it is possible for a frame request to respond with NOT_AVAILABLE
even if the associated
timestamp has been recently obtained via OBD2_FREEZE_FRAME_INFO
Change mode: ON_CHANGE
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_FREEZE_FRAME_INFO
This property describes the current freeze frames stored in vehicle memory and available for
retrieval through OBD2_FREEZE_FRAME
The values are to be interpreted as follows. Each element of
int64Values must be the timestamp at which a a fault code has been detected and the corresponding
freeze frame stored, and each such element can be used as the key to OBD2_FREEZE_FRAME
to
retrieve the corresponding freeze frame.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
OBD2_LIVE_FRAME
Reports a snapshot of the current (live) values of the OBD2 sensors available. The configArray is set as follows:
configArray[0]
Number of vendor-specific integer-valued sensorsconfigArray[1]
Number of vendor-specific float-valued sensors
The values of this property are to be interpreted as in the following example. Considering a
configArray = {2,3} int32Values
must be a vector containing
Obd2IntegerSensorIndex.LAST_SYSTEM_INDEX
plus two elements (or, 33 elements).
floatValues
must be a vector containing
Obd2FloatSensorIndex.LAST_SYSTEM_INDEX
plus three elements (or, 73 elements).
It is possible for each frame to contain a different subset of sensor values, both system
provided sensors, and vendor-specific ones. In order to support this, the bytes element of the
property value is used as a bitmask. Bytes must have a sufficient number of bytes to represent
the total number of possible sensors (in this case, 14 bytes to represent 106 possible values).
It'is to be read as a contiguous bitmask such that each bit indicates the presence or absence of
a sensor from the frame, starting with as many bits as the size of int32Values
,
immediately followed by as many bits as the size of floatValues.
For example, should bytes[0] = 0x4C (0b01001100)
it means that:
int32Values[0 and 1]
are not valid sensor valuesint32Values[2 and 3]
are valid sensor valuesint32Values[4 and 5]
are not valid sensor valuesint32Values[6]
is a valid sensor valueint32Values[7]
is not a valid sensor valueint32Values[0 and 1]
are not valid sensor valuesint32Values[2 and 3]
are valid sensor valuesint32Values[4 and 5]
are not valid sensor valuesint32Values[6]
is a valid sensor valueint32Values[7]
is not a valid sensor value
If bytes[5] = 0x61 (0b01100001)
, then:
int32Values[32]
is a valid sensor valuefloatValues[0 thru 3]
are invalid sensor valuesfloatValues[4 and 5]
are valid sensor valuesfloatValues[6]
is not a valid sensor value.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
ON_CHANGE
Change mode:
Access mode: READ_WRITE/READ
Enum type:
Unit type:N/A
Release: Android 13
VehicleLightSwitch
PARKING_BRAKE_AUTO_APPLY
Auto-apply parking brake. When true, this property indicates that the car's
automatic parking brake is enabled. False indicates that the car's automatic parking
brake feature is disabled. This property is often confused with PARKING_BRAKE_ON
The
difference being that PARKING_BRAKE_ON
indicates if the actual parking brake is
on or off whereas PARKING_BRAKE_AUTO_APPLY
indicates if the automatic parking brake
feature is enabled or disabled and does not describe the current state of the actual parking
brake.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
PARKING_BRAKE_ON
Parking brake state. When true, this property true indicates that the car's parking brake is engaged. False indicates the car's parking brake is disengaged.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
PER_DISPLAY_BRIGHTNESS
Property to represent brightness of the displays which are controlled separately.
Some cars have one or more displays whose brightness is controlled separately and this property
is to inform the brightness of each passenger display. In cars where all displays' brightness
is controlled together, they must use DISPLAY_BRIGHTNESS
Only one of PER_DISPLAY_BRIGHTNESS
andPER_DISPLAY_BRIGHTNESS
should be implemented. If both are
available, PER_DISPLAY_BRIGHTNESS
is used by AAOS.
The display port uniquely identifies a physical connector on the device for display output, ranging from 0 to 255.
int32Values[0]
Display portint32Values[1]
Brightness
Change mode: ON_CHANGE
Access mode: READ_WRITE
Enum type: N/A
Unit type: N/A
Release: Android 14
PERF_ODOMETER
Current odometer value of the vehicle.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:KILOMETER
Release: Android 13
PERF_REAR_STEERING_ANGLE
Rear bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the rear wheels with respect to the vehicle, not the angle of the steering wheel.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13
PERF_STEERING_ANGLE
Front bicycle model steering angle for vehicle. Angle is measured in degrees. Left is negative. This property is independent of the angle of the steering wheel. This property must communicate the angle of the front wheels with respect to the vehicle, not the angle of the steering wheel.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:DEGREES
Release: Android 13
PERF_VEHICLE_SPEED
Speed of the vehicle, The value must be positive when the vehicle is moving forward and
negative when the vehicle is reversing. This value is independent of gear value
(CURRENT_GEAR
or GEAR_SELECTION
). For example, if
GEAR_SELECTION
is GEAR_NEUTRAL
, PERF_VEHICLE_SPEED
is
positive when the vehicle is moving forward, negative when reversing, and zero when not moving.
Change mode: CONTINUOUS
Access mode: READ
Unit type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13
PERF_VEHICLE_SPEED_DISPLAY
Speed of the vehicle for displays, Some cars display a slightly slower speed on the speedometer than actual speed.
Change mode: CONTINUOUS
Access mode: READ
Enum type: N/A
Unit type: VehicleUnit:METER_PER_SEC
Release: Android 13
POWER_POLICY_GROUP_REQ
Defines a request to set the power policy group used to decide a default power policy per power status transition.
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
POWER_POLICY_REQ
Defines a request to apply power policy. VHAL sets this property to change car power policy.
Car power policy service subscribes to this property and actually changes the power policy. The
request is made by setting the VehiclePropValue with the ID of a power policy which is defined at
/vendor/etc/automotive/power_policy.xml
If the given ID is not defined, car power policy service
ignores the request and the current power policy is maintained.
string: "sample_policy_id" // power policy ID
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
POWER_POLICY_GROUP_REQ
Defines a request to set the power policy group used to decide a default power policy per power status transition. VHAL sets this property with the ID of a power policy group to set the default power policy applied at power status transition. Power policy groups are defined at /vendor/etc/power_policy.xml. If the given ID is not defined, car power policy service ignores the request. Car power policy service subscribes to this property and sets the power policy group. The actual application of power policy takes place when the system power status changes and there is a valid mapped power policy for the new power status.
string: "sample_policy_group_id" // power policy group ID
Change mode: ON_CHANGE
Access mode: READ
Enum type: N/A
Unit type: N/A
Release: Android 13
RANGE_REMAINING
Range remaining. Meters remaining of fuel and charge. Range remaining shall account for all
energy sources in a vehicle. For example, a hybrid car's range is the sum of the ranges based
on fuel and battery. This property is defined as VehiclePropertyAccess.READ_WRITE
because a navigation app could update the range if it has a more accurate estimate based on the
upcoming route. This property can be implemented as VehiclePropertyAccess.READ
only at the OEM's discretion.
Change mode: CONTINUOUS
Access mode: READ_WRITE
Enum type: N/A
Unit type: VehicleUnit:METER
Release: Android 13
READING_LIGHTS_STATE
Return the current status of reading lights.
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
READING_LIGHTS_SWITCH
Switch t control the reading lights. This may differ from READING_LIGHTS_STATE
if
the lights are on because a door is open or due to a voice command. For example, while the switch
is in the off or automatic position. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
REAR_FOG_LIGHTS_STATE
Return the current state of the rear fog lights. Only one of FOG_LIGHTS_STATE
or
REAR_FOG_LIGHTS_STATE
can be implemented. See FOG_LIGHTS_STATE
Change mode: ON_CHANGE
Access mode: READ
Enum type: VehicleLightState
Unit type: N/A
Release: Android 13
REAR_FOG_LIGHTS_SWITCH
The setting that the user wants. Only one of FOG_LIGHTS_SWITCH
or
REAR_FOG_LIGHTS_SWITCH
must
be implemented. See FOG_LIGHTS_SWITCH
to learn more. This property is defined as
VehiclePropertyAccess.READ_WRITE
, but OEMs can implement it as
VehiclePropertyAccess.READ
only.
Change mode: ON_CHANGE
Access mode: READ_WRITE/READ
Enum type: VehicleLightSwitch
Unit type: N/A
Release: Android 13
REMOVE_USER
Called by the Android System after an Android user was removed. The HAL can use this property to remove the equivalent user. This is write-only cal. The Android System is not expecting a reply from the HAL. Hence, this request should not fail. If the equivalent HAL user cannot be removed, then HAL should mark it as inactive or recover in another way.
The request is made by setting the VehiclePropValue with the contents defined by
RemoveUserRequest
For example, if system had 3 users (0, 10, and 11) and user 11
was removed, the request would be:
int32[0]
42 // request idint32[1]
11 // (Android user id of the removed user)int32[2]
0 // (Android user flags of the removed user)int32[3]
10 // current userint32[4]
0 // current user flags (none)int32[5]
2 // number of usersint32[6]
0 // first user (user 0)int32[7]
0 // first user flags (none)int32[8]
10 // second user (user 10)int32[9
] 0 // second user flags (none)
Change mode: STATIC
Access mode: WRITE
Enum type: N/A
Unit type: N/A
Release: Android 13
S ke 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