This is an old revision of the document!
This document defines the CFLink protocol for working with the on-board serial port found on the following CommandFusion hardware models:
The SPC
query requests the current on-board RS232 port settings of a device.
The SPC
query does not have any associated data.
< [F2] <ID> [F3] RCFXSPC [F4] <MODE>:<BAUD>:<DATABITS>:<PARITY>:<STOP>:<FLOWCTRL> [F5][F5] |
See the SPC
command for details on each returned data parameter.
// Query the Serial Port configuration of a LANBridge on ID [02] > [F2] [02] [F3] QLANSPC [F4] [F5][F5] // Reply with the configuration data, Serial Port is in Program mode < [F2] [02] [F3] RLANSPC [F4] PGM:115200:8:N:1:0 [F5][F5] |
The SPC
(Serial Port Configuration) command is used to configure the properties of the serial port such as Port Mode, Baud rate, Flow Control, etc.
> [F2] <ID> [F3] CCFXSPC [F4] <MODE>:<BAUD>:<DATABITS>:<PARITY>:<STOPBITS>:<FLOWCTRL> [F5][F5] |
PGM
(Program Mode) means incoming data must be valid CFLink formatted commands, and allows you to send data to any device on the CFLink network via RS232. All CFLink data received by the device will also be sent out the RS232 port in this mode.232
(RS232 Mode) means incoming data is sent only to devices that are configured via the TGT command. The incoming RS232 data will be wrapped in a SPR reply before being sent to the target devices. Data is sent to the RS232 port using the SPW command when in this mode.N
= NoneO
= OddE
= Even1
or 2
).0
= None, 1
= RTS/CTS).
< [F2] <ID> [F3] RCFXSPC [F4] <MODE>:<BAUD>:<DATABITS>:<PARITY>:<STOP>:<FLOWCTRL> [F5][F5] |
// Configure the on-board serial port for a LANBridge on ID [02] to be in RS232 mode, 9600 baud, 8:None:1. > [F2] [02] [F3] CLANSPC [F4] 232:9600:8:N:1:0 [F5][F5] // Reply < [F2] [02] [F3] RLANSPC [F4] 232:9600:8:N:1:0 [F5][F5] |
The TGT
command configures which CFLink ID's on the CFLink network will receive incoming messages when data is received on the serial port whilst in RS232 mode 232
.
If the serial port is in Programming Mode PGM
, then this configuration is ignored, no data is sent to the target devices. Instead all incoming data is handled by the device with the Serial Port, and must be a valid CFLink message or it will be ignored.
> [F2] <ID> [F3] CCFXTGT [F4] <ID1>:<ID2>:<ID3>:<ID4>:<ID5> [F5][F5] |
XX
to leave a specific ID unchanged. The ID's should be in plain text format, 2 chars (A-F, 0-9).
< [F2] <ID> [F3] RCFXTGT [F4] <ID1>:<ID2>:<ID3>:<ID4>:<ID5> [F5][F5] |
// Forward incoming data from the Serial Port on LANBridge ID [02] to devices on CFLink ID's [03], [04] and [05] > [F2] [02] [F3] CLANTGT [F4] 03:04:05:XX:XX [F5][F5] // Reply (CFLink ID's [07] and [09] were already being targeted from an earlier configuration) < [F2] [02] [F3] RLANTGT [F4] 03:04:05:07:09 [F5][F5] |
The SPW
(Serial Port Write) command is used to write data to a device connected to the on-board serial port.
This command is ignored in PGM mode.
> [F2] <ID> [F3] TCFXSPW [F4] <DATA> [F5][F5] |
<DATA> = The data to be written out the on-board serial port. Hex bytes must be entered in \xFF format. eg. A carriage return is written as \x0D
// In an effort to reduce network traffic, the reply does not contain the data sent. < [F2] <ID> [F3] RCFXSPW [F4] [F5][F5] |
// Send a command out the on-board serial port of a CFMini on CFLink ID [03] > [F2] [03] [F3] TMINSPW [F4] Hello World!\x0D [F5][F5] // Reply < [F2] [03] [F3] RMINSPW [F4] [F5][F5] |
The SPR
notification contains incoming serial data, received from the on-board RS232 port when in RS232 Mode 232
.
The reply is only sent to the CFLink ID's configured via the TGT
command. This reply is never generated when serial port is in Program Mode PGM
.
< [F2] <ID> [F3] R<DEVICE>SPR [F4] <DATA> [F5][F5] |
// An incoming message "Hello World!" followed by a carriage return is received on the on-board serial port of a CFMini on CFLink ID [03]. // The CFMini is configured to send incoming RS232 data to CFLink ID's [02], [04] and [07] < [F2] [02] [F3] RMINSPR [F4] Hello World!\x0D [F5][F5] < [F2] [04] [F3] RMINSPR [F4] Hello World!\x0D [F5][F5] < [F2] [07] [F3] RMINSPR [F4] Hello World!\x0D [F5][F5] |