By default, DTC requests are disabled. The only information sent by the DTC module is the MIL status (in the MDI_DTC_MIL
field).
To enable DTC requests, you must apply a 0 - DTC app configuration (deactivating the safe mode).
After activation, DTCs will be written in the field MDI_CC_DTC_LIST
(id 5030).
This field is a string, written in JSON format. It is an array of DTC objects, the format is described below.
Example:
[
{ "dtc": "P0001", "mode": 3, "ecu": "7E8" },
{ "mdi_dtc": "C12345", "mode": 7, "ecu": "7E9" }
]
These fields are always present:
mode
is 3 or 7 (active or pending)
ecu
is the ECU source of the DTCThese fields are present in the raw output:
dtc
is the raw DTC code (standard or proprietary). For example P0001
.freeze_frame
contains the raw freeze_frame contents, if applicable.These fields are present in the transcoded output:
mdi_dtc
as described above. The letter will be 'C' in this case.Example:
[
{ "spn": 1, "fmi": 1, "status": 1 },
{ "mdi_dtc": "T12345", "fmi": 1, "status": 0 }
]
These fields are always present:
fmi
is the Failure Mode Indicatorstatus
can be 0 (pending) or 1 (active)These fields are present in the raw output:
spn
is the SPN (Suspect Parameter Number) describing the DTCfreeze_frame
contains the raw freeze_frame contents, if applicable.These fields are present in the transcoded output:
mdi_dtc
as described above. The letter will be 'T' in this case.Example:
[
{ "fmi": 3, "mid": 1, "pid": 1 },
{ "fmi": 3, "mid": 1, "sid": 1 }
]
These fields are always present:
fmi
is the Failure Mode IndicatorThese fields are present in the raw output:
mid
is the Message ID. Then there is either a pid
or sid
field:
pid
is the Parameter IDsid
is the Subsystem IDThese fields are present in the transcoded output:
mdi_dtc
as described above. The letter will be 'T' in this case.By default, the MDI_CC_DTC_LIST
field contains the raw DTC codes coming from the bus. To have access to the transcoded mode, please contact your MDI support.
In the transcoded mode, the dtc
codes in the JSON are replaced with a mdi_dtc
that corresponds to a specific entry in a DTC database provided by MDI. The database is composed of three files:
description_car.json
contains all mdi_dtc
codes corresponding to OBD.description_truck.json
contains all mdi_dtc
codes corresponding to J1939.description_fmi.json
contains all mdi_dtc
codes corresponding to J1587.To get the DTC description, you need to take the mdi_dtc
code and match it to the corresponding code in the description file.