Table of Contents

LAN Bridge CFLink Protocol

The following documentation is for the LAN Bridge device CFLink protocol messages.
The LAN Bridge also has an on-board RS232 port, for which documentation is available in the On-Board RS232 docs.

Common Definitions

The following communication slots exist on a LAN Bridge:

Authentication

By default, authentication on LAN Bridge is disabled. To enable it, use the Configure Password command.

When authentication is enabled, the LAN Bridge will send a RLANATH command when first connecting. When this command has been sent, no other commands will be accepted until the correct username and password has been received.

If an incorrect login message is received, the LAN Bridge will respond with ''RLANERR'' message, with error code 134.

Once successfully logged in, the LAN Bridge will reply with RLANWHO response to acknowledge that login is correct and the device will now respond to other commands.

Queries

WHO - Device discovery

The WHO query is used to discover what device is at a specific address.
The WHO reply will be automatically broadcast as a notification to the CFLink network when a device is powered up or reset.

Data

The WHO query does not have any associated data.

> [F2]<ID>[F3]QCFXWHO[F4][F5][F5]

Reply

< [F2]<ID>[F3]RLANWHO[F4]LANBridge:<SERIAL#>:<APP_VER>:<CFLINK_VER>:<IP4>:<MAC>[F5][F5]

Example

// Request the details for the device at CFLink ID [02]
> [F2][02][F3]TCFXWHO[F4][F5][F5]
// The Reply if a LAN Bridge is found
< [F2][02][F3]RLANWHO[F4]LANBridge:00000012:1.0.1:1.0.4:192.168.0.100:00.04.A3.19.D5.70[F5][F5]

CFG - Query Configuration

The CFG query is used to obtain details about the configuration of a specific LAN Bridge unit.

Data

The CFG query does not have any associated data.

> [F2]<ID>[F3]QLANCFG[F4][F5][F5]

Reply

< [F2]<ID>[F3]RLANCFG[F4]<IPADDRESS>:<SUBNETMASK>:<GATEWAY>:<DNS>:<DHCPMODE>:<RS232MODE>:<BAUD>:<DATABITS>:<PARITY>:<STOPBITS>:<FLOWCONTROL>:<UDPBROADCAST>:<SLOTS>[F5][F5]

Example

// Query configuration of LAN Bridge on ID [02]
> [F2][02][F3]QLANCFG[F4][F5][F5]
// Configuration query reply
< [F2][02][F3]RLANCFG[F4]192.168.0.100:255.255.255.0:192.168.0.1:PGM:115200:8:N:1:1:1:3[F5][F5]

SLT - Query Slot Configuration

The SLT query returns the configuration of a specific communication slot.

Data

> [F2]<ID>[F3]QLANSLT[F4]<SLOT#>[F5][F5]

Reply

// If the slot is configured for TCP communications:
< [F2]<ID>[F3]RLANSLT[F4]<SLOT#>:TCP:<TCPMODE>:<IPADDRESS>:<PORT>:<TIMEOUT>:<MAXCONNECTIONS>:<ECHO>[F5][F5]
// If the slot is configured for UDP communications:
< [F2]<ID>[F3]RLANSLT[F4]<SLOT#>:UDP:<UDPMODE>:<IPADDRESS>:<PORT>[F5][F5]

Example

// Query the configuration for slot 12 of LAN Bridge on ID [02] 
> [F2][02][F3]QLANSLT[F4]12[F5][F5]
// Reply when slot configured as a TCP Server
< [F2][02][F3]RLANSLT[F4]12:TCP:11:S:0.0.0.0:9602:0:10:1[F5][F5]

// Query the configuration for slot 13 of LAN Bridge on ID [02] 
> [F2][02][F3]QLANSLT[F4]13[F5][F5]
// Reply when slot configured for UDP Unicast
< [F2][02][F3]RLANSLT[F4]13:UDP:U:192.168.0.100:9601[F5][F5]

SLS - Query Slot Startup Command Configuration

The SLS query returns the configuration of a specific communication slot's startup command.

Data

> [F2]<ID>[F3]QLANSLS[F4]<SLOT#>[F5][F5]

Reply

// If the slot has a startup command assigned:
< [F2]<ID>[F3]RLANSLS[F4]<SLOT#>:<DELAY>:<COMMAND>[F5][F5]
// If the slot has no startup command
< [F2]<ID>[F3]RLANSLT[F4]<SLOT#>:0:[F5][F5]

Example

// Query the startup configuration for slot 12 of LAN Bridge on ID [02] 
> [F2][02][F3]QLANSLS[F4]12[F5][F5]
// Reply when the data 'Startup Command Data <Carriage Return>' is to be sent after a 1 second delay.
< [F2][02][F3]RLANSLS[F4]12:10:Startup Command Data\x0D[F5][F5]

// Query the configuration for slot 13 of LAN Bridge on ID [02] 
> [F2][02][F3]QLANSLS[F4]13[F5][F5]
// Reply when no startup command is defined
< [F2][02][F3]RLANSLS[F4]13:0:[F5][F5]

SUB - Query Slot Subscription Configuration

The SUB query returns the configuration of a specific slot subscription.

Data

Each communication slot (Slot A) can be subscribed to another slot (Slot B). Only one subscription per slot is allowed.
So to retrieve the subscription details, you need to provide the slot number for the Slot A parameter.

> [F2]<ID>[F3]QLANSUB[F4]<SLOT#>[F5][F5]

Reply

< [F2]<ID>[F3]RLANSUB[F4]<SLOTA>:<SLOTB>:<CFLINKID>:<MODULE>:<TXCOMMANDNAME>:<RXCOMMANDNAME>[F5][F5]

Example

// Query subscription config for slot 12 of a LAN Bridge on CFLink ID [02]
> [F2][02][F3]QLANSUB[F4]12[F5][F5]
// Slot 12 is subscribed to CFLink Slot 0, to CFLink ID [03], Module 1.
// All incoming data from slot 12 will be wrapped into a CFLink protocol message for setting relay states.
// All outgoing data to slot 12 will be stripped from a relay state reply
< [F2][02][F3]RLANSUB[F4]12:0:03:M1:TRLYSET:RRLYSTA[F5][F5]

// Query subscription config for slot 13 of a LAN Bridge on CFLink ID [02]
> [F2][02][F3]QLANSUB[F4]13[F5][F5]
// Slot 13 is subscribed to Slot 14 (possibly a TCP Client slot subscribed to a TCP Server)
< [F2][02][F3]RLANSUB[F4]13:14[F5][F5]

TME - Real Time Clock status

The TME query will return the current configuration of the real time clock on-board the LAN Bridge.

Data

The TME query does not have any associated data.

> [F2]<ID>[F3]QLANTME[F4][F5][F5]

Reply

< [F2]<ID>[F3]RLANTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<UTCTIMEZONESTR>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]

Available time server IDs:

Example

// Query time from LAN Bridge on CFLink ID [02]
> [F2][02][F3]QLANTME[F4][F5][F5]
// Reply
< [F2][02][F3]RLANTME[F4]2011:10:27:3:18:12:12:29:UTC+8.00:1:4[F5][F5]

Configuration Messages

PWD - Login Password

The PWD command configures a password that must be sent before any additional commands will be accepted. By default the password is disabled.
To clear the login, you must first have issued the correct login/password, then send this command without any username or password data.

Data

> [F2]<ID>[F3]CLANPWD[F4]<USER>:<PASSWORD>[F5][F5]

Reply

// The reply is just an echo of the command in reply format, without the password .
< [F2]<ID>[F3]RLANPWD[F4]<USER>[F5][F5]

Example

// Configure username as 'admin' and password as 'mysecretpass' of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANPWD[F4]admin:mysecretpass[F5][F5]
// Reply
< [F2][02][F3]RLANPWD[F4]admin[F5][F5]
// Remove the login completely from LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANPWD[F4][F5][F5]
// Reply
< [F2][02][F3]RLANPWD[F4][F5][F5]

IP4 - IPv4 Address

The IP4 command will configure the IPv4 address used by the LAN Bridge if DHCP is disabled. It will be ignored if DHCP is enabled.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANIP4[F4]<IPADDRESS>[F5][F5]

Reply

// The reply is just an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANIP4[F4][F5][F5]

Example

// Configure IP Address of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANIP4[F4]192.168.0.100[F5][F5]
// Reply
< [F2][02][F3]RLANIP4[F4][F5][F5]

SNM - Subnet Mask

The SNM (Subnet Mask) command will configure the subnet mask used by the LAN Bridge if DHCP is disabled. It will be ignored if DHCP is enabled.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSNM[F4]<SUBNETMASK>[F5][F5]

Reply

// The reply is just an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSNM[F4][F5][F5]

Example

// Configure Subnet Mask of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANSNM[F4]255.255.255.0[F5][F5]
// Reply
< [F2][02][F3]RLANSNM[F4][F5][F5]

GTW - Default Gateway

The GTW (Gateway) command will configure the default gateway used by the LAN Bridge if DHCP is disabled. It will be ignored if DHCP is enabled.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANGTW[F4]<GATEWAY>[F5][F5]

Reply

// The reply is just an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANGTW[F4][F5][F5]

Example

// Configure Default Gateway of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANGTW[F4]192.168.0.1[F5][F5]
// Reply
< [F2][02][F3]RLANGTW[F4][F5][F5]

DNS - Domain Name System Server

The DNS (Domain Name System) command will configure the DNS Server used by the LAN Bridge if DHCP is disabled. It will be ignored if DHCP is enabled.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANDNS[F4]<DNS>[F5][F5]

Reply

// The reply is just an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANDNS[F4][F5][F5]

Example

// Configure DNS of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANDNS[F4]192.168.0.1[F5][F5]
// Reply
< [F2][02][F3]RLANDNS[F4][F5][F5]

DHC - DHCP Mode

The DHC (DHCP) command will configure the DHCP mode of the LAN Bridge.
The change will not take affect until the LAN Bridge is rebooted.

DHCP Mode is enabled by default.

Data

> [F2]<ID>[F3]CLANDHC[F4]<DHCP>[F5][F5]

Reply

// The reply is just an echo of the command in reply format.
// The change does not take affect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANDHC[F4][F5][F5]

Example

// Disable DHCP mode of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANDHC[F4]0[F5][F5]
// Reply
< [F2][02][F3]RLANDHC[F4][F5][F5]

UDB - UDP Broadcasting Configuration

The UDB (UDP Broadcast) command is used to enable/disable broadcasting of UDP Data from CFLink.
The change will take affect immediately.
UDP Broadcasting is enabled by default.

Data

> [F2]<ID>[F3]CLANUDB[F4]<UDBMODE>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
< [F2]<ID>[F3]RLANUDB[F4]<UDBMODE>[F5][F5]

Example

// Disable UDB mode of LAN Bridge on CFLink ID [02]
> [F2][02][F3]CLANUDB[F4]0[F5][F5]
// Reply
< [F2][02][F3]RLANUDB[F4]0[F5][F5]

SLT - Configure TCP Slot

The SLT (Slot TCP) command is used to configure a communication slot for TCP communication.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSLT[F4]<SLOT#>:<TCPMODE>:<IPADDRESS>:<PORT>:<TIMEOUT>:<MAXCONNECTIONS>:<ECHO>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSLT[F4][F5][F5]

Example

// Configure slot 11 to be a TCP Server, on LAN Bridge ID [02]
> [F2][02][F3]CLANSLT[F4]11:S:0.0.0.0:9601:0:10:1[F5][F5]
// Reply
< [F2][02][F3]RLANSLT[F4][F5][F5]

SLU - Configure UDP Slot

The SLU (Slot UDP) command is used to configure a communication slot for UDP communication.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSLU[F4]<SLOT#>:<UDPMODE>:<IPADDRESS>:<PORT>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take affect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSLU[F4][F5][F5]

Example

// Configure slot 12 to be UDP Unicast, on LAN Bridge ID [02]
> [F2][02][F3]CLANSLT[F4]12:U:192.168.0.101:9602[F5][F5]
// Reply
< [F2][02][F3]RLANSLU[F4][F5][F5]

SLO - Disable Communication Slot

The SLO (Slot Off) command is used to disable a specific communication slot.
The change will not take affect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSLO[F4]<SLOT#>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take affect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSLO[F4][F5][F5]

Example

// Disable slot 13 on LAN Bridge ID [02]
> [F2][02][F3]CLANSLO[F4]13[F5][F5]
// Reply
< [F2][02][F3]RLANSLO[F4][F5][F5]

SLS - Configure Slot Startup Command

The SLS (Slot Startup) command is used to configure a communication slot startup command for TCP communication slots.
The startup command is sent whenever a client connects (if TCP Server mode) or whenever the slot connects to a server (if TCP Client mode), with an adjustable delay.
The startup command has no effect on UDP slots.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSLS[F4]<SLOT#>:<DELAY>:<COMMAND>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSLS[F4][F5][F5]

Example

// Configure slot 11 on LAN Bridge ID [02] to send a startup command 'Hello World <Carriage Return>' after a 1.5 second delay.
> [F2][02][F3]CLANSLS[F4]11:15:Hello World\x0D[F5][F5]
// Reply
< [F2][02][F3]RLANSLS[F4][F5][F5]

Error

SLD - Delete Slot Startup Command

The SLD (Slot Startup Delete) command is used to remove the startup command for a specific communication slot.
The change will not take effect until the LAN Bridge is rebooted.

Data

> [F2]<ID>[F3]CLANSLD[F4]<SLOT#>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take effect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSLD[F4][F5][F5]

Example

// Remove the startup command from slot 11 on LAN Bridge ID [02].
> [F2][02][F3]CLANSLD[F4]11[F5][F5]
// Reply
< [F2][02][F3]RLANSLD[F4][F5][F5]

Error

SUB - Configure Slot Subscription

The SUB (Subscription) command is used to configure a slot subscription. A subscription is a way to send/receive data between two communication slots on the LAN Bridge automatically.

When subscribing to the CFLink slot, a subscription can be refined to communicate only with a device at a specific CFLink ID and optionally which module.

When subscribing to the CFLink slot, a subscription can also handle automatically manipulating the incoming data to wrap it in CFLink protocol formatting, and stripping the CFLink formatting before sending the outgoing data.

This allows TCP/UDP communication slots to send basic commands like P01:0|P02:0 and have it automatically wrapped into a CFLink command targeted at a specific device and module to open relays in this example. And the same in reverse, taking CFLink protocol message and only sending the data segment.

See the Common Definitions for a list of available communication slots.

Data

> [F2]<ID>[F3]CLANSUB[F4]<SLOTA>:<SLOTB>:<CFLINKID>:<MODULE>:<TXCOMMANDNAME>:<RXCOMMANDNAME>[F5][F5]

Reply

// The reply is an echo of the command in reply format.
// The change does not take affect until the LAN Bridge is rebooted, so the reply will not contain any data.
< [F2]<ID>[F3]RLANSUB[F4][F5][F5]

Example

// Subscribe slot 12 to CFLink Slot 1, CFLink ID [02], Module 1, with relay commands for manipulating incoming/outgoing data
> [F2][02][F3]CLANSUB[F4]12:1:02:M1:TRLYSET:RRLYSTA[F5][F5]
// Reply
< [F2][02][F3]RLANSUB[F4][F5][F5]

Error

TME - Configure Real Time Clock

The TME command is used to set the time and date settings for the real time clock on-board the LAN Bridge.

Data

> [F2]<ID>[F3]CLANTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]

Available time server IDs:

Reply

// Reply with the data used to configure the time/date.
< [F2]<ID>[F3]RLANTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<UTCTIMEZONESTR>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]

Example

// Configure the real time clock on a LAN Bridge ID [02]
> [F2][02][F3]CLANTME[F4]2011:12:27:3:18:12:12:29:1:4[F5][F5]
// Reply
< [F2][02][F3]RLANTME[F4]2011:12:27:3:18:12:12:29:UTC+8.00:1:4[F5][F5]

Error

Transmission Messages

PWD - Authenticate Password

The PWD (Password) command allows you to login to a LAN Bridge that has a login configured.
No other commands will be accepted until the correct login details are entered if a login has been configured.

Data

> [F2]<ID>[F3]TLANPWD[F4]<USER>:<PASSWORD>[F5][F5]

Reply

< [F2]<ID>[F3]RLANPWD[F4]<USER>[F5][F5]

Example

// Login to LAN Bridge on CFLink ID [02] with username 'admin' and password 'mysecretpass'
> [F2][02][F3]TLANPWD[F4]admin:mysecretpass[F5][F5]
// Reply
< [F2][02][F3]RLANPWD[F4]admin[F5][F5]

SND - Send Data

The SND (Send) command allows you to send data to a specific communication slot defined on the LAN Bridge.
Any other communication slots subscribed to the slot targeted by the SND command will also receive the data.
This command is not to be used to send data to the RS232 slot (Slot 1), instead use the ''SPW'' Command common to all devices with an on-board RS232 port.

Data

> [F2]<ID>[F3]TLANSND[F4]<SLOT#>:<DATA>[F5][F5]

Reply

// In an effort to reduce network traffic on the CFLink bus, the reply will not contain the <DATA> sent, only the slot it was sent to.
< [F2]<ID>[F3]RLANSND[F4]<SLOT#>[F5][F5]

Example

// Send a command to an ethernet device connected to slot 11, for LAN Bridge on CFLink ID [02]
> [F2][02][F3]TLANSND[F4]11:Hello World!\x0D[F5][F5]
// Reply
< [F2][02][F3]RLANSND[F4]11[F5][F5]

Error

Timezone Lookup Table