ELM327
Altering Flow Control Messages
ISO 15765-4 (CAN) provides for only eight data
bytes per frame of data. Of course, there are many
cases where the data which needs to be sent is longer
than 8 bytes, and CAN has made provision for this by
allowing data to be separated into segments, then
recombined at the receiver.
To send one of these multi-line messages, the
transmitter in a CAN system will send a ‘First Frame’
message, and then wait for a reply from the receiver.
This reply, called a ‘Flow Control’ message contains
information concerning acceptable message timing,
etc., and is required to be sent before the transmitter
will send any more data. For ISO 15765-4, the type of
response is well defined, and never changes. The
ELM327 will automatically send this ISO 15765-4 Flow
Control response for you as long as the CAN Flow
Control option is enabled (CFC1), which it is by
default.
In order to provide complete control over the
sending of Flow Control messages and their content,
the ELM327 defines several AT FC commands.
The way in which the ELM327 responds to a First
Frame message is determined by the Flow Control
‘mode’, set by the AT FC SM command. There are
three modes, as shown in the chart at the right. The
default Flow Control mode is number ‘0’, meaning that
the ELM327 will do everything for you.
Flow Control mode 1 is provided for those users
that want complete control over their Flow Control
messages. To use it, simply define the CAN ID
(header) and data bytes that you require to be sent in
response to a First Frame message. Note that if you
try to set the mode before defining these values, you
will get an error:
received will be responded to with the custom
message that you have defined (7E8 00 11 22 in this
example).
The third mode currently supported allows the
user to set the data bytes which are to be sent, but not
the ID bits. The ID bits (header bytes) in mode 2 are
set to those which were received in the First Frame
message, without change. To use this mode, first
define your data bytes, then activate the mode:
>AT FC SD 00 11 22
OK
>AT FC SM 2
OK
At any time while you are experimenting, if you
should wish to restore the automatic Flow Control
responses (for ISO 15765-4), simply set the mode to
0:
>AT FC SM 0
OK
This will immediately restore the responses to their
default settings.
For most people, there will be little need to
manipulate these ‘Flow Control’ messages, as the
defaults are designed to work with the CAN OBD
standards. If you wish to experiment, these special AT
commands offer that control for you.
The following chart summarizes the currently
supported flow control modes:
FC
Mode
ELM327
Provides
User
Provides
>AT FC SM 1
?
ID Bits &
Data Bytes
0
1
2
no values
You must set the headers and data first:
ID Bits &
Data Bytes
no values
ID Bits
>AT FC SH 7E8
OK
Data Bytes
>AT FC SD 00 11 22
OK
Flow Control Modes
and then you can set the mode:
>AT FC SM 1
OK
From this point on, every First Frame message
ELM327DSI
Elm Electronics – Circuits for the Hobbyist
48 of 82
www.elmelectronics.com