Skip to content
Vehicle properties
Electric vehicle

EV_BRAKE_REGENERATION_LEVEL

What it is

Regenerative braking level of a electronic vehicle

{@code HasSupportedValueInfo.hasMinSupportedValue} and {@code HasSupportedValueInfo.hasMaxSupportedValue} must be {@code true} for global area ID(0)

{@code MinMaxSupportedValueResult.minSupportedValue} must be 0.

{@code MinMaxSupportedValueResult.maxSupportedValue} indicates the setting for the maximum amount of energy regenerated from braking. The minSupportedValue indicates the setting for no regenerative braking.

All values between min and max supported value must be supported.

For backward compatibility, minInt32Value and maxInt32Value in {@code VehicleAreaConfig} must be set to the same as minSupportedValue and maxSupportedValue at boot time.

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 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 0x1140040c apart:

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00400000INT32
Ordinal0x0000ffff0x0000040c0x40c

Reading it from an app

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

int value =
        mgr.getIntProperty(VehiclePropertyIds.EV_BRAKE_REGENERATION_LEVEL, 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.