Skip to content
Vehicle properties
Displays & HMI

PER_DISPLAY_BRIGHTNESS

What it is

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 DISPLAY_BRIGHTNESS and PER_DISPLAY_BRIGHTNESS should be implemented. If both are available, PER_DISPLAY_BRIGHTNESS is used by AAOS.

If this is supported, PER_DISPLAY_MAX_BRIGHTNESS must be supported to represent the max display brightness for each display. Otherwise, the max display brightness is by default 1. The VehicleAreaConfig.maxInt32Value must not be used to represent max display brightness, because maxInt32Value is defined to be the max value for all the elements inside the integer value, which includes display port and brightness. So it is not meaningful.

The display port uniquely identifies a physical connector on the device for display output, ranging from 0 to 255.

Writing this property must cause an on property change event that contains the same [display port, brightness] tuple even if the new display brightness is the same as the current value.

To get the display brightness for a specific display port, the GetValueRequest must contain a VehiclePropValue, which contains one int32Value: displayPort. Getting this property without specifying the the display port is undefined behavior.

int32Values[0] : display port int32Values[1] : brightness

How the ID is built

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

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00410000INT32_VEC
Ordinal0x0000ffff0x00000a040xa04

Reading it from an app

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

CarPropertyValue<Integer> value =
        mgr.getProperty(VehiclePropertyIds.PER_DISPLAY_BRIGHTNESS, 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.