ELM327
AT Command Descriptions (continued)
The default setting for the memory function is
determined by the voltage level at pin 5 during power
up (or system reset). If it is connected to a high level
(VDD), then the memory function will be on by default.
If pin 5 is connected to a low level, the memory saving
will be off by default.
executed internally), then configuring the IC for silent
monitoring of the data (no wakeup messages, IFRs or
CAN acknowledges are sent by the ELM327). When
the next OBD command is to be transmitted, the
protocol will again be initialized, and you may see
messages stating this. ‘SEARCHING...’ may also be
seen, depending on what changes were made while
monitoring.
MA
[ Monitor All messages ]
This command places the ELM327 into a bus
MP hhhh
[ Monitor for PGN hhhh ]
monitoring mode, in which it continually monitors for
(and displays) all messages that it sees on the OBD
bus. It is a quiet monitor, not sending In Frame
Responses for J1850 systems, Acknowledges for CAN
systems, or Wakeup (‘keep-alive’) messages for the
ISO 9141 and ISO 14230 protocols. Monitoring will
continue until it is stopped by activity on the RS232
input, or the RTS pin.
The AT MA, MR and MT commands are quite
useful for when you wish to monitor for a specific byte
in the header of a typical OBD message. For the SAE
J1939 Protocol, however, it is often desirable to
monitor for the multi-byte Parameter Group Numbers
(or PGNs), which can appear in either the header, or
the data bytes. The MP command is a special J1939
only command that is used to look for responses to a
particular PGN request.
Note that this MP command provides no means to
set the first two digits of the requested PGN, and they
are always assumed to be 00. For example, the DM2
PGN has an assigned value of 00FECB (see SAE
J1939-73). To monitor for DM2 messages, you would
issue AT MP FECB, eliminating the 00, since the
MP hhhh command always assumes that the PGN is
preceded by two zeros.
This command is only available when a CAN
Protocol (A, B, or C) has been selected for SAE J1939
formatting. It returns an error if attempted under any
other conditions. Note also that this version of the
ELM327 only displays responses that match the
criteria, not the requests that are asking for the PGN
information.
To stop the monitoring, simply send any single
character to the ELM327, then wait for it to respond
with a prompt character (‘>’), or a low level output on
the Busy pin. (Setting the RTS input to a low level will
interrupt the device as well.) Waiting for the prompt is
necessary as the response time varies depending on
what the IC was doing when it was interrupted. If for
instance it is in the middle of printing a line, it will first
complete that line then return to the command state,
issuing the prompt character. If it were simply waiting
for input, it would return immediately. Note that the
character which stops the monitoring will always be
discarded, and will not affect subsequent commands.
Beginning with v1.3 of this IC, all messages will be
printed as found, even if the CAN auto formatting is on
(CAF1). The previous version of this IC (v1.2) did not
display some illegal CAN messages if the automatic
formatting was on, but now all messages received are
displayed, and if the data format does not appear to be
correct, then ‘<DATA ERROR’ will be shown beside
the data.
If this command is used with CAN protocols, and if
the CAN filter and/or mask were previously set (with
CF, CM or CRA), then the MA command will be
affected by the settings. For example, if the receive
address had been set previously with CRA 4B0, then
the AT MA command would only be able to ‘see’
messages with an ID of 4B0. This may not be what is
desired - you may want to reset the masks and filters
(with AT AR) first.
MP hhhh n
[ Monitor for PGN, get n messages ]
This is very similar to the above command, but
adds the ability to set the number of messages that
should be fetched before the ELM327 automatically
stops monitoring and prints a prompt character. The
value ‘n’ may be any single hex digit.
MP hhhhhh
[ Monitor for PGN hhhhhh ]
This command is very similar to the MP hhhh
command, but it extends the number of bytes provided
by one, so that there is complete control over the PGN
definition (it does not make the assumption that the
Data Page bit is 0, as the MP hhhh command does).
All of the monitoring commands (MA, MR and MT)
operate by closing the current protocol (an AT PC is
ELM327DSI
Elm Electronics – Circuits for the Hobbyist
www.elmelectronics.com
20 of 82