ELM329
AT Command Descriptions (continued)
the characters 'RTR' printed when one of these frames
has been received.
Turning the CAN Automatic Formatting off (CAF0),
will cause the ELM329 to print all of the received data
bytes. No bytes will be hidden from you, and none will
be inserted for you. Similarly, when sending a data
request with formatting off, you must provide all of the
required data bytes exactly as they are to be sent –
the ELM329 will not perform any formatting for you
other than to add some trailing 'padding' bytes to
ensure that eight data bytes are sent, if required. This
allows operation in systems that do not use PCI bytes.
Note that turning the display of headers on (with
AT H1) will override some of the CAF1 formatting of
the received data frames, so that the received bytes
will appear much like in the CAF0 mode (ie. as
received). It is only the printing of the received data
that will be affected when both CAF1 and H1 modes
are enabled, though; when sending data, the PCI byte
will still be created for you and padding bytes will still
be added. Auto Formatting on (CAF1) is the default
setting for the ELM329.
CEA
[ turn off the CAN Extended Address ]
The CEA command is used to turn off the special
features that are set with the CEA hh command.
CEA hh
[ set the CAN Extended Address to hh ]
Some CAN protocols extend the addressing fields
by using the first of the eight data bytes as a target or
receiver’s address. This type of formatting does not
comply with any OBD standard, but by adding it, we
allow for some experimentation.
Sending the CEA hh command causes the
ELM329 to insert the hh value as the first data byte of
all CAN messages that you send. It also adds one
more filtering step to received messages, only passing
ones that have the Tester Address in the first data byte
position (in addition to requiring that ID bits match the
patterns set by AT CF and CM, or CRA). The AT CEA
hh command can be sent at any time, and changes
are effective immediately, allowing for changes of the
address ‘on-the-fly’. There is a more lengthy
discussion of this extended addressing in the ‘Using
CAN Extended Addresses’ section on page 55.
The CEA mode of operation is off by default, and
once on, can be turned off at any time by sending AT
CEA, with no address. Note that the CEA setting has
no effect when J1939 formatting is on.
CF hhh
[ set the CAN ID Filter to hhh ]
The CAN Filter works in conjunction with the CAN
Mask to determine what information is to be accepted
by the receiver. As each message is received, the
incoming CAN ID bits are compared to the CAN Filter
bits (when the mask bit is a ‘1’). If all of the relevant
bits match, the message will be accepted, and
processed by the ELM329, otherwise it will be
discarded. This version of the CAN Filter command is
used to set filters with 11 bit ID CAN systems. Only the
rightmost 11 bits of the provided nibbles are used, and
the most significant bit is ignored.
CF hh hh hh hh [ set the CAN ID Filter to hhhhhhhh ]
This command allows all four bytes (actually 29
bits) of a CAN Filter to be set at once. The 3 most
significant bits will always be ignored, and may be
given any value. This command may be used to create
11 bit ID filters as well, since they are stored in the
same locations internally (entering AT CF 00 00 0h hh
is exactly the same as entering the shorter AT CF hhh
command).
CFC0 and CFC1
[ CAN Flow Control off or on ]
The ISO 15765-4 CAN protocol expects a ‘Flow
Control’ message to always be sent in response to a
‘First Frame’ message, and the ELM329 automatically
sends these without any intervention by the user. If
experimenting with a non-OBD system, it may be
desirable to turn this automatic response off, and the
AT CFC0 command has been provided for that
purpose. The default setting is CFC1 - Flow Controls
on.
Note that during monitoring (ie AT MA), there are
never any Flow Controls sent no matter what the CFC
option is set to.
CM hhh
[ set the CAN ID Mask to hhh ]
There can be a great many messages being
transmitted in a CAN system at any one time. In order
to limit what the ELM329 views, there needs to be a
system of filtering out the relevant ones from all the
others. This is accomplished by the filter, which works
in conjunction with the mask. A mask is a group of bits
that show the ELM329 which bits in the filter are
relevant, and which ones can be ignored. A ‘must
match’ condition is signalled by setting a mask bit to
'1', while a 'don't care' is signalled by setting a bit to '0'.
ELM329DSB
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
13 of 76