ELM320
AT Commands (continued)
I
[ Identify yourself ]
Issuing this command causes the chip to identify
itself, by printing the startup product ID string (this is
currently ‘ELM320 v2.0’). Software can use this to
determine exactly which integrated circuit it is talking
to, without resorting to resetting the entire IC.
L0 and L1
[ Linefeeds off (0) or on(1) ]
Whether the ELM320 transmits a linefeed character
after each carriage return character is controlled by
this option. If an ATL1 is issued, linefeed generation
will be turned on, and for ATL0, it will be off. Users
may wish to have this option on if using a terminal
program, but off if using a custom interface (as the
extra characters transmitted will only serve to slow
the vehicle polling down). The default setting is L1
(linefeeds on)
MA
[ Monitor All messages ]
Using this command places the ELM320 into a bus
monitoring mode, in which it displays all messages
as it sees them on the OBD bus. This continues
indefinitely until stopped by activity on the RS232
input. To stop the monitoring, one should send any
single character then wait for the ELM320 to respond
with a prompt character (‘>’). Waiting for the prompt
is necessary as the response time is unpredictable,
varying depending on the IC was doing when
interrupted. If for instance it is in the middle of
printing a line, it will first complete the line then
return to the command state, issuing the prompt
character. If it were simply waiting for input, it would
return immediately. The character which stops the
monitoring will always be discarded, and will not
affect subsequent commands.
MR hh
[ Monitor for Receiver hh ]
This command also places the IC in a bus monitoring
mode, displaying only messages that were sent to
the hex address given by hh (i.e. messages which
are found to have that value in their second byte).
Any RS232 activity (single character) aborts the
monitoring, as with the MA command.
MT hh
[ Monitor for Transmitter hh ]
Another monitoring command, which displays only
messages sent by Transmitter address hh. As with
the MA and MR monitoring modes, any RS232
activity (single character) aborts the monitoring.
PD
[ send Packed Data ]
This option is for those that are building a computer
interface and want the fastest data transfer rate
possible while still operating at 9600 baud. When
selected, responses from the vehicle will be
formatted as an initial length byte followed by the
actual response bytes from the vehicle, with no
trailing carriage returns or linefeed characters. The
data will not be altered in any way, except for the
conversion to standard RS232 bytes.
Note that the length byte only represents the total
number of data bytes following, and does not include
itself. Also, if there was a data (checksum) error, the
length byte will have its most significant bit set, so
the user should always check first to see if the length
is greater than 127. (The other 7 bits still provide a
valid byte count if there is an error, so one need only
ignore the msb, or subtract 128 from the value.)
A ‘NO DATA’ response has no data bytes, but still
sends a length byte with value ‘0’.
R0 and R1
[ Responses off (0) or on(1) ]
These commands control the ELM320’s automatic
display of responses. If responses have been turned
off, the IC will not wait for anything to be returned
from the vehicle after sending a request, and will
return immediately to waiting for RS232 commands.
This is useful if sending commands blindly when
using the IC for a non-OBD network application, or
simulating an ECU, in a basic learning environment.
It is not recommended that this option normally be
used, however, as the vehicle may have difficulty if it
is expecting an acknowledgement byte and never
receives one. The default is R1 (responses on).
SH xx yy zz
[ Set the Header to xx yy zz ]
This command allows the user to control the values
that are sent as the three header bytes in the
message. The value of hex digits xx will be used for
the first or priority/type byte, yy will be used for the
second or target byte, and zz will be used for the
third or source byte. These remain in effect until set
again, or until restored to the default values with the
AT D, or AT Z commands. The default header values
ELM320DSD
Elm Electronics – Circuits for the Hobbyist
< http://www.elmelectronics.com/ >
6 of 16