ELM329
AT Command Descriptions (continued)
TM0, TM1, TM2, TM3 [ set the Transceiver Mode… ]
WD [1 to 8 bytes]
[ set Wakeup Data to… ]
This command is used to control the voltage levels
at pins 21 (M1) and 22 (M0), and are typically used
with single wire CAN transceivers. The four modes
are:
This command allows you to define the data bytes
that will be sent in the wakeup (CAN periodic)
message. Any number of bytes from 1 to 8 may be
defined, and will be sent exactly as provided. That is,
no formatting will be applied, no filler bytes will be
added, and the data length code will be set to the
number of data bytes provided (even if the protocol
expects 8 bytes). If you do need to send 8 bytes, you
will need to provide 8 bytes. The default setting for WD
is 01 3E 00 00 00 00 00 00.
0: sleep (M1=0, M0=0)
1: high speed (M1=0, M0=1)
2: high voltage wakeup (M1=1, M0=0)
3: normal (M1=1, M0=1)
Note that during low power operation, the M0 and
M1 pins will maintain the setting that they had prior to
going to low power mode. The previous version of this
IC (v1.0) automatically set both pins to a low level,
which is a ‘sleep’ output. As the ELM329 ‘wakes up’
from low power operation, the level at M0 and M1 will
be set according to PP 20. For more details on how to
use these commands, see page 56.
WH xyz
[ set Wakeup Header to… ]
The AT WH xyz command accepts a three digit
argument, takes only the right-most 11 bits from that,
and uses that for the 11 bit Wakeup Header. You may
define a wakeup message to use an 11 bit ID even if
the current protocol uses 29 bit IDs. The last assigned
wakeup header (11 or 29 bit) determines whether the
wakeup message will use standard 11 bit, or extended
29 bit IDs. The default setting for WH is 7DF.
TP h
[ Try Protocol h ]
This command is identical to the SP command,
except that the protocol that you select is not
immediately saved in internal memory, so does not
change the default setting. Note that if the memory
function is enabled (AT M1), and this new protocol that
you are trying is found to be valid, that protocol will
then be stored in memory as the new default.
WH wwxxyyzz
[ set Wakeup Header to… ]
This AT WH command accepts a four byte (eight
digit) argument, takes only the right-most 29 bits from
it, and uses that for the 29 bit Wakeup Header. You
may define a wakeup message to use a 29 bit ID even
if the current protocol uses 11 bit IDs. The last
assigned wakeup header (11 or 29 bit) determines
whether the wakeup message will use standard 11 bit,
or extended 29 bit IDs. By default, the wakeup header
is initially 11 bit, and so nothing is defined for a 29 bit
ID until you assign a value.
TP Ah
[ Try Protocol h with Auto ]
This command is very similar to the AT TP
command above, except that if the protocol that is tried
should fail to initialize, the ELM329 will then
automatically sequence through the other protocols,
attempting to connect to one of them.
WM [1 to 8 bytes]
[ set Wakeup Message to… ]
This command is exactly the same as the AT WD
command. It is provided in order to be compatible with
the ELM327 instruction set. The default setting for WM
is 01 3E 00 00 00 00 00 00.
V0 and V1
[ Variable data lengths off or on ]
These commands modify the current CAN protocol
settings to allow the sending of variable data length
messages (just as setting bit 6 of the CAN Options PP
does for protocols B to F). This allows experimenting
with variable data length messages for any of the CAN
protocols, without having to change the Programmable
Parameter. The V1 command will always override any
protocol setting, and force a variable data length
message. The default setting is V0, providing data
lengths as determined by the protocol.
WM0, WM1, WM2
[ set the Wakeup Mode… ]
This command is used to set the Wakeup Mode.
The modes are defined as:
0: wakeups are off (disabled)
1: wakeups are sent at a constant rate
2: wakeups are sent if no other message has been
ELM329DSB
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
23 of 76