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:
| Field | Mask | Value | Means |
|---|---|---|---|
| Group | 0xf0000000 | 0x10000000 | SYSTEM |
| Area | 0x0f000000 | 0x01000000 | GLOBAL |
| Type | 0x00ff0000 | 0x00400000 | INT32 |
| Ordinal | 0x0000ffff | 0x0000040c | 0x40c |
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.

