CommandFusion Wiki

Documentation Resources

User Tools

Site Tools


hardware:cflink:lanbridge-cflink-protocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

hardware:cflink:lanbridge-cflink-protocol [2012/11/15 13:35]
jarrod [Common Definitions]
hardware:cflink:lanbridge-cflink-protocol [2021/05/17 00:00] (current)
jarrod
Line 13: Line 13:
   * ''​4''​ - ''​10''​ = Reserved for future use   * ''​4''​ - ''​10''​ = Reserved for future use
   * ''​11''​ - ''​20''​ = Configurable as TCP or UDP communication   * ''​11''​ - ''​20''​ = Configurable as TCP or UDP communication
 +
 +===== Authentication =====
 +
 +By default, authentication on LAN Bridge is disabled. To enable it, use the [[#​pwd-login-password|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 [[hardware:​cflink:​error-codes#​lan-bridge-solo-error-codes|''​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 ===== ===== Queries =====
  
Line 139: Line 150:
 // Reply when slot configured for UDP Unicast // Reply when slot configured for UDP Unicast
 < [F2][02][F3]RLANSLT[F4]13:​UDP:​U:​192.168.0.100:​9601[F5][F5] < [F2][02][F3]RLANSLT[F4]13:​UDP:​U:​192.168.0.100:​9601[F5][F5]
 +</​sxh>​
 +
 +==== SLS - Query Slot Startup Command Configuration ====
 +
 +The ''​SLS''​ query returns the configuration of a specific communication slot's startup command.
 +
 +=== Data ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]QLANSLS[F4]<​SLOT#>​[F5][F5]
 +</​sxh>​
 +
 +  * **<​SLOT#>​** = The communication slot number to request startup command configuration from
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +  * **<​SLOT#>​** = The communication slot number being described.
 +  * **<​DELAY>​** = The time (in 100ms resolution) to delay before sending the command data after each connection. eg. ''​10''​ = 1 second.
 +  * **<​COMMAND>​** = The command data to send on startup.
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 </​sxh>​ </​sxh>​
  
Line 195: Line 242:
 === Reply === === Reply ===
 <sxh cflink; light: true> <sxh cflink; light: true>
-< [F2]<​ID>​[F3]RLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>:<​UTCTIMEZONESTR>​[F5][F5]+< [F2]<​ID>​[F3]RLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>:<​UTCTIMEZONESTR>:<​NTP_SYNC>:<​NTP_SERVER_ID>​[F5][F5]
 </​sxh>​ </​sxh>​
  
Line 205: Line 252:
   * **<​MINUTE>​** = 2 digit minute (''​00''​-''​59''​)   * **<​MINUTE>​** = 2 digit minute (''​00''​-''​59''​)
   * **<​SECOND>​** = 2 digit second (''​00''​-''​59''​)   * **<​SECOND>​** = 2 digit second (''​00''​-''​59''​)
-  * **<​UTCTIMEZONE>​** = ID from Timezone Lookup Table (2 digits, ''​01''​-''​40''​)+  * **<​UTCTIMEZONE>​** = ID from [[#​timezone-lookup-table|Timezone Lookup Table]] (2 digits, ''​01''​-''​40''​)
   * **<​UTCTIMEZONESTR>​** = String representation of the timezone   * **<​UTCTIMEZONESTR>​** = String representation of the timezone
 +  * **<​NTP_SYNC>​** = Whether or not the unit is configured to sync to a time server.
 +  * **<​NTP_SERVER_ID>​** = The time server that the unit is syncing to. Refer to list below.
 +
 +Available time server IDs:
 +  * ''​1''​ = pool.ntp.org
 +  * ''​2''​ = europe.pool.ntp.org
 +  * ''​3''​ = asia.pool.ntp.org
 +  * ''​4''​ = oceania.pool.ntp.org
 +  * ''​5''​ = north-america.pool.ntp.org
 +  * ''​6''​ = south-america.pool.ntp.org
 +  * ''​7''​ = africa.pool.ntp.org
  
 === Example === === Example ===
Line 213: Line 271:
 > [F2][02][F3]QLANTME[F4][F5][F5] > [F2][02][F3]QLANTME[F4][F5][F5]
 // Reply // Reply
-< [F2][02][F3]RLANTME[F4]2011:​10:​27:​3:​18:​12:​12:​29:​UTC+8.00[F5][F5]+< [F2][02][F3]RLANTME[F4]2011:​10:​27:​3:​18:​12:​12:​29:​UTC+8.00:1:4[F5][F5]
 </​sxh>​ </​sxh>​
  
 ===== Configuration Messages ===== ===== 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 ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]CLANPWD[F4]<​USER>:<​PASSWORD>​[F5][F5]
 +</​sxh>​
 +  * **<​USER>​** = The login username to set
 +  * **<​PASSWORD>​** = The login password to set
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +// The reply is just an echo of the command in reply format, without the password .
 +< [F2]<​ID>​[F3]RLANPWD[F4]<​USER>​[F5][F5]
 +</​sxh>​
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
  
 ==== IP4 - IPv4 Address ==== ==== IP4 - IPv4 Address ====
Line 296: Line 384:
 // Reply // Reply
 < [F2][02][F3]RLANGTW[F4][F5][F5] < [F2][02][F3]RLANGTW[F4][F5][F5]
 +</​sxh>​
 +
 +==== 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 ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]CLANDNS[F4]<​DNS>​[F5][F5]
 +</​sxh>​
 +
 +  * **<​DNS>​** = The IPv4 DNS Server Address to assign to the LAN Bridge
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 </​sxh>​ </​sxh>​
  
Line 448: Line 563:
 < [F2][02][F3]RLANSLO[F4][F5][F5] < [F2][02][F3]RLANSLO[F4][F5][F5]
 </​sxh>​ </​sxh>​
 +
 +==== 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 ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]CLANSLS[F4]<​SLOT#>:<​DELAY>:<​COMMAND>​[F5][F5]
 +</​sxh>​
 +
 +  * **<​SLOT#>​** = The slot number to configure the startup command for. Startup commands valid for slots ''​11''​ to ''​20''​ only.
 +  * **<​DELAY>​** = The time (in 100ms resolution) to delay before the startup command is sent after each connection. eg. ''​10''​ = 1 second. Max allowed delay value is ''​9999999''​ (999999.9 seconds)
 +  * **<​COMMAND>​** = The command data to send on startup. Maximum of 100 bytes is allowed for the startup command data.
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +=== Error ===
 +
 +  * 134 = Invalid startup command settings.
 +  * 135 = Invalid startup command delay format or value (0 to 9999999 only).
 +  * 136 = Invalid command data length. Max data length is 100 bytes.
 +  * 137 = Invalid slot number. Startup command only valid for slots 11-20.
 +==== 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 ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]CLANSLD[F4]<​SLOT#>​[F5][F5]
 +</​sxh>​
 +
 +  * **<​SLOT#>​** = The slot number to remove the startup command from.
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
 +
 +=== Error ===
 +
 +  * 137 = Invalid slot number.
  
 ==== SUB - Configure Slot Subscription ==== ==== SUB - Configure Slot Subscription ====
Line 499: Line 682:
 === Data === === Data ===
 <sxh cflink; light: true> <sxh cflink; light: true>
-> [F2]<​ID>​[F3]CLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>​[F5][F5]+> [F2]<​ID>​[F3]CLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>:<​NTP_SYNC>:<​NTP_SERVER_ID>​[F5][F5]
 </​sxh>​ </​sxh>​
  
Line 509: Line 692:
   * **<​MINUTE>​** = 2 digit minute (''​00''​-''​59''​)   * **<​MINUTE>​** = 2 digit minute (''​00''​-''​59''​)
   * **<​SECOND>​** = 2 digit second (''​00''​-''​59''​)   * **<​SECOND>​** = 2 digit second (''​00''​-''​59''​)
-  * **<​UTCTIMEZONE>​** = ID from Timezone Lookup Table (2 digits, ''​01''​-''​40''​)+  * **<​UTCTIMEZONE>​** = ID from [[#​timezone-lookup-table|Timezone Lookup Table]] (2 digits, ''​01''​-''​40''​) 
 +  * **<​NTP_SYNC>​** = Whether or not to sync to a time server. 
 +  * **<​NTP_SERVER_ID>​** = The time server that the unit should syncing to. Refer to list below. 
 + 
 +Available time server IDs: 
 +  * ''​1''​ = pool.ntp.org 
 +  * ''​2''​ = europe.pool.ntp.org 
 +  * ''​3''​ = asia.pool.ntp.org 
 +  * ''​4''​ = oceania.pool.ntp.org 
 +  * ''​5''​ = north-america.pool.ntp.org 
 +  * ''​6''​ = south-america.pool.ntp.org 
 +  * ''​7''​ = africa.pool.ntp.org
  
 === Reply === === Reply ===
 <sxh cflink; light: true> <sxh cflink; light: true>
 // Reply with the data used to configure the time/date. // Reply with the data used to configure the time/date.
-< [F2]<​ID>​[F3]RLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>​[F5][F5]+< [F2]<​ID>​[F3]RLANTME[F4]<​YEAR>:<​MONTH>:<​DATE>:<​DAYOFWEEK>:<​HOUR>:<​MINUTE>:<​SECOND>:<​UTCTIMEZONE>:<​UTCTIMEZONESTR>:<​NTP_SYNC>:<​NTP_SERVER_ID>​[F5][F5]
 </​sxh>​ </​sxh>​
  
Line 520: Line 714:
 <sxh cflink; light: true> <sxh cflink; light: true>
 // Configure the real time clock on a LAN Bridge ID [02] // Configure the real time clock on a LAN Bridge ID [02]
-> [F2][02][F3]CLANTME[F4]2011:​12:​27:​3:​18:​12:​12:​29[F5][F5]+> [F2][02][F3]CLANTME[F4]2011:​12:​27:​3:​18:​12:​12:​29:1:4[F5][F5]
 // Reply // Reply
-< [F2][02][F3]RLANTME[F4]2011:​12:​27:​3:​18:​12:​12:​29[F5][F5]+< [F2][02][F3]RLANTME[F4]2011:​12:​27:​3:​18:​12:​12:​29:​UTC+8.00:​1:​4[F5][F5]
 </​sxh>​ </​sxh>​
  
Line 532: Line 726:
  
 ===== Transmission Messages ===== ===== 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 ===
 +<sxh cflink; light: true>
 +> [F2]<​ID>​[F3]TLANPWD[F4]<​USER>:<​PASSWORD>​[F5][F5]
 +</​sxh>​
 +
 +  * **<​USER>​** = The username to login with
 +  * **<​PASSWORD>​** = The password to login with
 +
 +=== Reply ===
 +<sxh cflink; light: true>
 +< [F2]<​ID>​[F3]RLANPWD[F4]<​USER>​[F5][F5]
 +</​sxh>​
 +
 +=== Example ===
 +<sxh cflink; light: true>
 +// 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]
 +</​sxh>​
  
 ==== SND - Send Data ==== ==== SND - Send Data ====
Line 565: Line 785:
   * 100 = Invalid Slot Number   * 100 = Invalid Slot Number
  
 +====== Timezone Lookup Table ======
 +  * ''​01''​ - UTC-1200
 +  * ''​02''​ - UTC-1100
 +  * ''​03''​ - UTC-1000
 +  * ''​04''​ - UTC-930
 +  * ''​05''​ - UTC-900
 +  * ''​06''​ - UTC-800
 +  * ''​07''​ - UTC-700
 +  * ''​08''​ - UTC-600
 +  * ''​09''​ - UTC-500
 +  * ''​10''​ - UTC-430
 +  * ''​11''​ - UTC-400
 +  * ''​12''​ - UTC-330
 +  * ''​13''​ - UTC-300
 +  * ''​14''​ - UTC-200
 +  * ''​15''​ - UTC-100
 +  * ''​16''​ - UTC-0
 +  * ''​17''​ - UTC+100
 +  * ''​18''​ - UTC+200
 +  * ''​19''​ - UTC+300
 +  * ''​20''​ - UTC+330
 +  * ''​21''​ - UTC+400
 +  * ''​22''​ - UTC+430
 +  * ''​23''​ - UTC+500
 +  * ''​24''​ - UTC+530
 +  * ''​25''​ - UTC+545
 +  * ''​26''​ - UTC+600
 +  * ''​27''​ - UTC+630
 +  * ''​28''​ - UTC+700
 +  * ''​29''​ - UTC+800
 +  * ''​30''​ - UTC+845
 +  * ''​31''​ - UTC+900
 +  * ''​32''​ - UTC+930
 +  * ''​33''​ - UTC+1000
 +  * ''​34''​ - UTC+1030
 +  * ''​35''​ - UTC+1100
 +  * ''​36''​ - UTC+1130
 +  * ''​37''​ - UTC+1200
 +  * ''​38''​ - UTC+1245
 +  * ''​39''​ - UTC+1300
 +  * ''​40''​ - UTC+1400
hardware/cflink/lanbridge-cflink-protocol.1352986505.txt.gz · Last modified: 2012/11/15 13:35 by jarrod