Перевел для себя описание битов статусов ошибок из стандарта ISO 14229 (UDS). Не то чтобы английского не понимаю, но даже на родном языке мне нужно внимательно вчитываться чтобы понять суть и отличия.
Здесь речь о четвертом байте кода ошибок, возвращаемом командой ReadDTCInformation (19 hex)
Первые три байта это собственно сам код DCT, а четвертый байт содержит statusOfDTC. По этому байту определяется, живая ли ошибка или нет, загорается ли из-за нее лампочка или нет и прочее.
Ключевой термин здесь OperationCycle (рабочий цикл). Для ЭБУ двигателя это период между стартом и остановкой двигатя. Для ЭБУ других типов это может быть интервал между подачей и отключением питания на ЭБУ или интервал между включением и отключением зажигания, что не то-же самое.
Bit 0: testFailed
Этот бит должен содержать результат последнего выполненного теста. Логическая «1» указывает на то, что последний тест не прошел, что означает, что неисправность тестом полностью подтверждена. Бит сбрасывается к логическому «0», если результат последнего выполненного теста возвращает результат «pass», означающий, что все процедуры теста прошли успешно и неисправность в последнем тесте не обнаружена.
Bit 1: testFailedThisOperationCycle
Этот бит должен указывать, была ли обнаружена неисправность в любой момент времени в течение текущего рабочего цикла. Сбрасывается к логическому «0» при запуске нового рабочего цикла или после вызова ClearDiagnosticInformation.
Bit 2: pendingDTC
Этот бит должен указывать, была ли обнаружена неисправность в любой момент времени в течение текущего рабочего цикла или последнего завершенного рабочего цикла. Статус должен обновляться только в том случае, если тест выполнился вернул результат «pass». Критерии для установки бита pendingDTC и бита testFailedThisOperationCycle совпадают. Разница в том, что testFailedThisOperationCycle сбрасывается в конце текущего рабочего цикла, а бит pendingDTC не сбрасывается до тех пор, пока не завершится рабочий цикл, во время которого тест полностью выполнился хотя бы один раз и ни разу не определил неисправность.
Bit 3: confirmedDTC
Этот бит должен указывать, была ли обнаружена неисправность достаточное количество раз, чтобы быть уверенным, что код DTC сохранился в долговременной памяти (например, pendingDTC был установлен = '1' один или несколько раз, в зависимости от критериев подтверждения DTC).
confirmedDTC не всегда указывает, что неисправность присутствует во время запроса (testFailed должен использоваться для определения наличия сбоя во время запроса).
Сбросывается в логический «0» после вызова ClearDiagnosticInformation или после того, как были выполнены критерии устаревания (например, 40 стартов двигателя без повторного обнаружения неисправности). Кроме того, этот бит сбрасывается, когда запись о неисправностях, связанная с этим кодом, вытесняется из памяти новыми DTC.
Критерии подтверждения и устаревания DTC определяются изготовителем транспортного средства или устанавливаются в соответствии с инструкциями по бортовой диагностике.
Bit 4: testNotCompletedSinceLastClear
Этот бит должен указывать, был ли тест DTC когда-либо запущен и был завершен с момента последнего вызова ClearDiagnosticInformation. Логическая «1» должна указать, что тест DTC не завершился ни разу. Если тест выполняется и не обнаруживает неисправность, или если тест выполняется и завершается неудачно (например, testFailedThisOperationCycle = '1'), бит должен быть установлен в '0' (и зафиксирован).
Bit 5: testFailedSinceLastClear
Этот бит должен указывать, был ли тест DTC когда-либо завершен с обнаружением неисправности с момента последнего вызова ClearDiagnosticInformation (т.е. это запомненный testFailedThisOperationCycle = '1' и в отличие от него не сбрасывается после удачного прохождения теста).
Логический ’0’ указывает, что тест не был запущен или что тест DTC был запущен и прошел (но ни разу не определил неисправность). В отличие от confirmedDTC, этот бит не сбрасывается критериями устаревания или из-за переполнения памяти неисправностей.
Bit 6: testNotCompletedThisOperationCycle
Этот бит должен указывать, был ли тест DTC когда-либо выполнен и завершен в течение текущего рабочего цикла (или завершен в течение текущего рабочего цикла после последнего вызова ClearDiagnosticInformation).
Логическая «1» должена указывать на то, что тест DTC не завершился в течение текущего рабочего цикла. Если тест выполнился полностью хотя бы один раз, бит должен быть установлен (и зафиксирован) на «0» до тех пор, пока не начнется новый рабочий цикл.
Bit 7: warningIndicatorRequested
Этот бит должен сообщать о состоянии любых предупреждающих индикаторов, связанных с конкретным кодом неисправности. Предупреждающие индикаторы могут состоять из индикаторных ламп, отображаемой текстовой информации и т.д. Если для конкретного кода неисправности нет предупреждающих индикаторов, этот статус по умолчанию должен иметь состояние «0».
Условия активации предупреждающего индикатора должны определяться изготовителем транспортного средства.

Комментарии 1
То есть 0 бит это неисправное есть сейчас, а бит 3 — она когда-то была и запомнилась. Так?