English
Language : 

ELM329 Datasheet, PDF (11/76 Pages) ELM Electronics – CAN Interpreter
ELM329
AT Command Descriptions
The following describes each AT Command that the
current version of the ELM329 supports, in a little more
detail. Many of these commands are also described
further in other sections:
<CR>
[ repeat the last command ]
Sending a single carriage return character causes
the ELM329 to repeat the last command that it
performed. This is typically used when you wish to
obtain updates to a value at the fastest possible rate -
for example, you may send 01 0C to obtain the engine
rpm, then send only a carriage return character each
time you wish to receive an update.
. [1 - 8 bytes]
[ send message with 11 bit ID ]
Sending a single period (‘.’) followed by 1 to 8 data
bytes will cause the ELM329 to send those data bytes
along with the currently defined 11 bit ID. The data will
be sent exactly as provided - no formatting bytes or
filler bytes will be added, and the number of data bytes
sent will be the same as what you provide (so if you
need to send 8 bytes as for ISO 15765, then you must
provide all 8). The default value used for the 11 bit ID
is 7DF, but this may be changed with the AT SH xyz
command.
A protocol must be active before you can use this
command, as the ELM329 needs to know the current
baud rate, etc. You may always send an 11 bit ID
message with this command, even if the currently
active protocol uses a 29 bit ID.
: [1 - 8 bytes]
[ send message with 29 bit ID ]
Sending a single colon (‘:’) followed by 1 to 8 data
bytes will cause the ELM329 to send those data bytes
along with the currently defined 29 bit ID. The data will
be sent exactly as provided - no formatting bytes or
filler bytes will be added, and the number of data bytes
sent will be the same as what you provide (so if you
need to send 8 bytes as for ISO 15765, then you must
provide all 8). The default value used for the 29 bit ID
is 18 DB 33 F1, but this may be changed with the
AT SH xxyyzz or AT SH wwxxyyzz commands.
A protocol must be active before you can use this
command, as the ELM329 needs to know the current
baud rate, etc. You may always send a 29 bit ID
message with this command, even if the currently
active protocol uses an11 bit ID.
AT0, AT1 and AT2
[ Adaptive Timing control ]
After an OBD request has been sent, the ELM329
waits to see if any responses are coming from the
vehicle. The maximum time that it waits is set by the
AT ST hh setting, but this setting is purposely a little
longer than it needs to be, in order to ensure that the
IC will work with a wide variety of vehicles. Although
the setting is adjustable, many people do not have the
equipment or experience that it would take to
determine an optimal value.
The Adaptive Timing feature automatically sets the
timeout value for you, to a value that is based on the
actual response times that your vehicle is responding
in. As conditions such as bus loading, etc. change, the
algorithm learns from them, and makes appropriate
adjustments. Note that it always uses your AT ST hh
setting as the maximum setting, and will never choose
one which is longer.
There are three adaptive timing settings that are
available for use. By default, Adaptive Timing option 1
(AT1) is enabled, and is the recommended setting.
AT0 is used to disable Adaptive timing (so the timeout
is always as set by AT ST), while AT2 is a more
aggressive version of AT1 (the effect is more
noticeable for very slow connections – you may not
see much difference with faster OBD systems). The
J1939 protocol does not support Adaptive Timing – it
uses fixed timeouts as set in the standard.
BD
[ perform an OBD Buffer Dump ]
All messages sent and received by the ELM329
are stored temporarily in a set of twelve memory
storage locations called the OBD Buffer. Occasionally,
it may be useful to see the contents of this buffer,
perhaps to see why a request failed, to see the header
bytes in the last message, or just to learn more of the
structure of OBD messages. You can ask at any time
for the contents of this buffer to be ‘dumped’
(ie printed). When you do, the ELM329 sends a length
byte (representing the length of the current message in
the buffer) followed by the contents of all twelve OBD
buffer locations. For example, here’s one ‘dump’:
ELM329DSB
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
11 of 76