﻿# ============================================================================
#  "HOW TO HANDLE FAULT CODES" — shown when the customer taps "Learn more".
#  Edit with Notepad, save as UTF-8. Lines starting with # are comments.
#  Lines starting with ## are section headings.
#
#  ⚠ Everything below is either the J1939 standard or something we measured.
#    Shop-specific advice goes in the last section — write your own.
# ============================================================================

## The most important thing: clearing codes does NOT fix the truck

A fault code is just a warning light. Clearing it is like pulling the bulb
out — whatever is broken is still broken. If the cause has not been fixed,
the code comes straight back, usually within seconds of running again.

So the order is always: FIND THE CAUSE → FIX IT → then clear the code to
check whether it stays away.

## Two different kinds of codes

ACTIVE codes: the fault is happening RIGHT NOW. These cannot be cleared —
clear them and they reappear immediately, because the engine still sees the
fault. These are the codes this app shows you.

STORED (inactive) codes: the fault happened earlier but is gone now. The
engine keeps them so a technician can see what the truck has been through.
These can be cleared once the repair is done.

## PERMANENT codes — a third kind the standard J1939 clear does not touch

OBD-era trucks (roughly 2013 and newer, most visibly Detroit and Cummins X15
2017+) keep a third kind: PERMANENT codes. The ECU records them under emissions
rules. The standard J1939 clear (DM11 + DM3 — what this app sends) does not
remove them — that is not a broken app. They can be cleared with the OEM
software (DDDL on Detroit), or the ECU erases them itself after enough drive
cycles without the fault returning. A permanent code that is no longer in the
ACTIVE group means no repair is needed for it. This app reads them through DM28
and shows them as their own group so they are not confused with stored codes.

## Many codes at once is usually ONE failure

A loose connector or a removed assembly can set a dozen codes at once. A
real example we measured on one truck: 12 codes, of which 10 were the same
"abnormal update rate" failure across the aftertreatment system — that is
one assembly losing communication, not ten broken parts.

So don't panic at a long list. Look at whether they belong to one group.

## Which lamp means you can keep driving

RED (Stop): pull over safely as soon as you can. Continuing can turn a
repair into a rebuild.

AMBER (Warning): you can still drive, but get it inspected soon. Left alone,
many amber codes turn into a power derate and then into a red lamp.

MAINTENANCE: not a failure — a service is due, for example an ash-loaded
particulate filter that needs cleaning.

## How codes get cleared

Clearing is two standard J1939 commands sent to each ECU on the truck: DM11
clears active codes, DM3 clears stored codes. Shop diagnostic tools (INSITE,
JPRO…) send exactly this pair. The "Clear fault codes" button in this app does
the same, and a few seconds later reports, per ECU, whether it really cleared
or refused.

Most engines (PACCAR, Cummins, Detroit) only accept the clear with the ENGINE
OFF and the key ON. With the engine running the ECU refuses or stays silent.

Some codes clear themselves: if the fault does not return over a number of
clean operating cycles, the engine moves the code to stored and drops it on
its own. A correct repair often needs no manual clearing at all.

Disconnecting the battery to "clear the codes" is the wrong move — it does
not erase the engine's fault memory, but it does erase learned values and
can set new faults.

## The occurrence count in this app

The "count" column is read from the signal on the wire, which can only count
up to 127. The manufacturer's tool reads it straight from memory and may show
a larger number. The two numbers differing is normal, not an app error.

## One fault can map to several numbers

On the wire the truck only sends an SPN + FMI pair (which system, what kind
of failure). Numbers like "195" or "5383" are what the software looks up.
One SPN+FMI pair sometimes maps to several code numbers depending on the
engine family — when that happens this app lists all of them and marks them
(?), rather than picking one at random and sending you to the wrong manual.

# ============================================================================
# ⬇ THE SECTION BELOW IS FOR THE SHOP TO WRITE — delete this line when done.
# ============================================================================

## Contact the shop

For any red-lamp code, or an amber code that does not clear after basic
checks, contact the shop. Bring the report file this app produces — it has
the fault codes, the engine readings at the time of the test and the vehicle
number, so the shop can see the situation without a long phone call.
