Introduction to Diagnostic Fault Code Status of DTC
This topic is for all the automotive diagnostic engineers as they have requested from different countries. How to get to know the Diagnostic fault Code status of DTC in a Vehicle? how
to get to know where is the fault? and all until fixing this issue. In a vehicle, there are so many numbers of ECU which are controlling some functionality and if any fault will happen in those modules that particular ECU will store this fault code, fault status, snapshot data and some extended data record which will help the diagnostic engineer to know the root cause easily and repair the vehicle. Mostly the Diagnostic fault Code status byte is the main part a DTC which we are going to discuss here.A Diagnostic Trouble Code (DTC) is a specific code stored in a vehicle’s engine control module (ECM) that indicates a problem with the vehicle’s systems or components. The status of a DTC in a vehicle can help diagnose the cause of an issue and provide insight into the health of the vehicle.
What is DTC or Fault code status byte?
Diagnostic fault Code status of DTC in a Vehicle is one byte of bit field data which explains the status of a particular DTC. Each bit of this status byte defines his own meaning. Each bit can be high or low. If a particular bit is high then you can recognize the status of that fault from this masked bit. A diagnostic tester can read this DTC status byte from the vehicle and the tester can get to know the status of that particular fault.

How does DTC Status Byte Work?
Nowadays each vehicle having a number of ECU. Each ECU having an inbuilt onboard diagnostic software algorithm that determines the malfunction or the Diagnostic fault Code status of a component or system typically within a single operation cycle. Some tests run only once during an operation cycle. Other tests can run every program loop, sampling as often as every few milliseconds.
The end result of a test represents a completely mature and qualified condition, you can say as passed or failed. a test that needs a failing condition for a specific time check before a component is considered to be failing will return a “Failed” condition only after all maturation criteria have been fulfilled in this ECU or else it will return as “Passed“. Each DTC is associated with a test representing a detectable fault symptom. Those faults are having 8 different types to identify the status of a DTC. To identify this you need to know the Diagnostic fault Code status of DTC in a Vehicle.
Why DTC Status Byte?
The diagnostic test programs are running in each ECU and always they will return the test status pass or fail. If it fails then there are some other test programs that will run to detect the status of the fault that really this is a fault or not. Let me give you one best example as suppose a driver will just open the bonnet and check the battery and at that time by his knowledge or unknowingly he will short the battery positive and Negative terminal for some time, so do you think the DTC should set and he should go to the service center for this? No, because like these so many faults happen but the advanced intelligence test programs are being implemented to detect the proper and permanent fault after doing so many analyses.
Because of this, they have implemented this status byte which will inform the status as per the bitmask. which bit is one or high you can say, as per this bit the diagnostic test engineer can understand the Diagnostic fault Code status of DTC in a Vehicle of that particular DTC. Let us discuss each bit and I hope you will get clarity of the status byte and why it is there in DTC record also.
Different DTC Status Bits
Bit | Mask Bit | State | Description |
---|---|---|---|
0 | 0x01 | test Failed | DTC failed at the time of DTC request |
1 | 0x02 | test Failed This Operation Cycle | DTC failed on the current operation cycle |
2 | 0x04 | Pending DTC | DTC failed on the current or previous operation cycle |
3 | 0x08 | Confirmed DTC | DTC is confirmed at the time of the request |
4 | 0x10 | Test Not Completed Since Last Clear | DTC test not completed since the last code clear |
5 | 0x20 | Test Failed Since LastClear | DTC test failed at least once since last code clear |
6 | 0x40 | Test Not Completed This Operation Cycle | DTC test not completed this operation cycle |
7 | 0x80 | warning Indicator Requested | Server is requesting warning Indicator to be active |
Test Failed (Bit0):
The test failed is the zero bit number of Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate the results of the foremost recently performed test. A logical ‘1’ shall indicate that the last test failed to mean that the failure is totally matured. Reset to logical ‘0’ if the results of the foremost recently performed test return a “pass” result meaning that each one de-mature criterion is fulfilled. Additional reset conditions could also be defined by the vehicle manufacturer or OEM.
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: most recent result from DTC test indicated no failure detected.
- Logical-1: most recent result from DTC test indicated a matured failing result.
Test Failed This Operation Cycle (Bit1):
The test failed this operation cycle is the first bit of Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether or not a diagnostic assay has reported a testfailed result at any time during the current operation cycle (or that a ‘testfailed’ result has been reported during the present operation cycle and after the last time a call was made to ‘ClearDiagnosticInformation’). Reset to logical ‘0’ when a replacement operation cycle is initiated or after a call to ‘ClearDiagnosticInformation’. If this bit is set to logical ‘1’, it shall remain a ‘1’ until a new operation cycle is started.
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: This bit shall be set to 0 after completing an operation cycle during which the test completed and malfunction was not detected or upon a call to the ClearDiagnosticInformation service.
- Logical-1: This bit shall be set to 1 and latched if a malfunction is detected during the current operation cycle.
PendingDTC(Bit2):
The “pending DTC” is the second bit of Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether or not a diagnostic test has reported a ‘test failed’ result at any time during the current or last completed operation cycle. The status shall only be updated if the test runs and completes. The criteria to set the ‘pending DTC’ bit and the ‘TestFailedThisOperationCycle’ bit are the same.
The difference is that the ‘testFailedThisOperationCycle’ is cleared at the beginning of each operation cycle and the ‘pending DTC’ bit is not cleared until an operation cycle has completed where the test has passed at least once and never failed. If the test did not complete during the current operation cycle, the status bit shall not be changed. For example, if a monitor stops running after a confirmed DTC is set, the ‘pending DTC’ must remain set = ‘1’. For an OBD DTC, a pending DTC is required to be stored after a malfunction is detected during the first driving cycle.
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: This bit shall be set to 0 after completing an operation cycle during which the test completed and a malfunction was not detected or upon a call to the ‘ClearDiagnosticInformation’ service.
- Logical-1: This bit shall be set to 1 and latched if a malfunction is detected during the current operation cycle.’
confirmedDTC(Bit3):
The “confirmed DTC” is the third bit of the Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether a malfunction was detected enough times to warrant that the DTC is desired to be stored in long-term memory. A “confirmed DTC” does not always indicate that the malfunction is present at the time of the request. (testFailed can be used to determine if a malfunction is present at the time of the request).Reset to logical ‘0’ after a call to ClearDiagnosticInformation or after the aging threshold has been satisfied (e.g., 40 engine warm-ups without another detected malfunction).
Furthermore, this bit is reset when the fault record associated with this DTC is overwritten by a newer DTC based upon vehicle manufacturer specific fault memory overflow requirements.DTC confirmation threshold and aging threshold are defined by the vehicle manufacturer or mandated by On-Board Diagnostic regulations. After a successful clear diagnostic information service, this bit will change or reset the state into logical zero.
- Logical-0: DTC has never been confirmed since the last call to ClearDiagnosticInformation or after the aging criteria have been satisfied for the DTC (or DTC has been erased due to fault memory overflow).
- Logical-1: DTC confirmed at least once since the last call to ClearDiagnosticInformation and aging criteria have not yet been satisfied.
TestNotCompletedSinceLastClear(Bit4):
The “test no completed since last clear” is the fourth bit of the Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether a DTC test has ever run and completed since the last time a call was made to ‘ClearDiagnosticInformation’. One (‘1’) shall indicate that the DTC test has not run to completion. If the test runs and passes or if the test runs and fails (e.g. ‘testFailedThisOperationCycle’ = ‘1’) then the bit shall be set to a ‘0’(and latched).
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: DTC test has returned either a passed or failed test result at least one time since the last time diagnostic information was cleared.
- Logical-1: DTC test has not run to completion since the last time diagnostic information was cleared.
TestFailedSinceLastClear(Bit5):
The “test failed since last clear” is the fifth bit of the Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether a DTC test has completed with a failed result since the last time a call was made to ‘ClearDiagnosticInformation’ (i.e., this is a latched ‘testFailedThisOperationCycle’ = ‘1’). Zero (‘0’) shall indicate that the test has not run or that the DTC test ran and passed (but never failed). If the test runs and fails then the bit shall remain latched at a ‘1’. It is the responsibility of the vehicle manufacturer to specify whether or not this bit is reset by aging-criteria or reset due to an overflow of the fault memory.
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: DTC test has not indicated a failed result since the last time diagnostic information was cleared. It is the responsibility of the vehicle manufacturer if this bit shall also be reset to zero (‘0’) in case the aging threshold is fulfilled or an overflow of the fault memory occurs.
- Logical-1: DTC test returned a failed result at least once since the last time diagnostic information was cleared.
TestNotCompletedThisOperationCycle(Bit6):
The “test not completed this operation cycle” is the sixth bit of the Diagnostic fault Code status of DTC in a Vehicle. This bit shall indicate whether a DTC test has ever run and completed during the current operation cycle (or completed during the current operation cycle after the last time a call was made to ‘ClearDiagnosticInformation’). A logical ‘1’ shall indicate that the DTC test has not run to completion during the current operation cycle. If the test runs and passes or fails then the bit shall be set (and latched) to ‘0’ until a new operation cycle is started.
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: DTC test has returned either a passed or ‘testFailedThisOperationCycle’ = ‘1’ result during the current drive cycle (or since the last time diagnostic information was cleared during the current operation cycle).
- Logical-1: DTC test has not run to complete this operation cycle (or since the last time diagnostic information was cleared this operation cycle).
warningIndicatorRequested(Bit7):
The “warning indicator request” is the seventh bit of the Diagnostic fault Code status of DTC in a Vehicle. This bit shall report the status of any warning indicators associated with a particular DTC. Warning outputs may consist of indicator lamp(s), displayed text information, etc. If no warning indicators exist for a particular DTC, this status shall default to a logic ‘0’ state. Conditions for activating the warning indicator shall be defined by the vehicle manufacturer, but if the warning indicator is on for a given DTC, then ‘confirmed DTC’ shall also be set to ‘1’ (with the exception described below).
After a successful clear diagnostic information service this bit will change or reset the state into logical zero.
- Logical-0: Server is not requesting “warning Indicator” to be active.
- Logical-1:Server is requesting “warning Indicator” to be active.
Why You should Know the Diagnostic fault Code status of DTC in a Vehicle?
If you are an Automotive Engineer and working in the automotive field then you must be aware of these bits but in the service station, they are not aware of those bits. Because mostly they will be having a vehicle diagnostic Application software that might be running on a computer or tablet or nowadays also on mobile phones. But if you know all these bits you can do the better diagnostics for a vehicle. So that is why the Status bits of DTC in ECU should be known by each engineers working in Automotive Embedded Field.
Discover more from PiEmbSysTech
Subscribe to get the latest posts sent to your email.
How did make the article not copiable?
Dear Kapil, Thank you for your query. You have to write your own article in your own language.
No need to copy-paste from somewhere.