Skip to content
Vehicle properties
Diagnostics & OBD2

OBD2_FREEZE_FRAME

What it is

OBD2 Freeze Frame Sensor Data

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.

How the ID is built

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

FieldMaskValueMeans
Group0xf00000000x10000000SYSTEM
Area0x0f0000000x01000000GLOBAL
Type0x00ff00000x00e00000MIXED
Ordinal0x0000ffff0x00000d010xd01

Reading it from an app

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

CarPropertyValue<Object> value =
        mgr.getProperty(VehiclePropertyIds.OBD2_FREEZE_FRAME, 0);

This property is read-only — writes are rejected. It fires a callback whenever the value changes.