Skip to content
Vehicle properties
Units & display settings

VEHICLE_SPEED_DISPLAY_UNITS

What it is

Speed units for display

Indicates type of units the car is using to display speed to user. Eg. m/s, km/h, or mph.

{@code VehicleAreaConfig.HasSupportedValueInfo.hasSupportedValuesList} for the global area ID (0) must be {@code true}.

{@code getSupportedValuesLists} for [VEHICLE_SPEED_DISPLAY_UNITS, areaId=0] must return a {@code SupportedValuesListResult} that contains non-null {@code supportedValuesList}, e.g. [METER_PER_SEC, MILES_PER_HOUR, KILOMETERS_PER_HOUR].

For backward compatibility, config array for this property must contain the same values as supported values at boot time. For example: configArray[0] = METER_PER_SEC configArray[1] = MILES_PER_HOUR configArray[2] = KILOMETERS_PER_HOUR

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

This property is defined as VehiclePropertyAccess.READ_WRITE, but OEMs have the option to implement it as VehiclePropertyAccess.READ only.

How the ID is built

A property ID is a 32-bit value packing four fields. Reading 0x11400605 apart:

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00400000INT32
Ordinal0x0000ffff0x000006050x605

Reading it from an app

CarPropertyManager mgr = (CarPropertyManager)
        car.getCarManager(Car.PROPERTY_SERVICE);

int value =
        mgr.getIntProperty(VehiclePropertyIds.VEHICLE_SPEED_DISPLAY_UNITS, 0);

This property can be read and written, though an OEM may implement it as read-only. It fires a callback whenever the value changes.