This is an old revision of the document!
The following documentation is for the Solo device CFLink protocol messages.
Note that the Solo does NOT feature an on-board CFLink port, but it still uses the same protocol for communication over Ethernet.
The Solo has IR ports, for which documentation is available in the IR Port docs.
Note: To send IR signals via the on-board blaster, you use the same IR Port commands described above, targetting P07 (Port 7).
The Solo has RS232 ports, for which documentation is available in the On-Board RS232 docs.
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 network when a device is powered up or reset.
The WHO query does not have any associated data.
> [F2]<ID>[F3]QCFXWHO[F4][F5][F5]
< [F2]<ID>[F3]RSOLWHO[F4]CFSOLO:<SERIAL#>:<APP_VER>:<CFLINK_VER>:<IP4>:<MAC>:<DEVICE_NAME>,M1:<CARD_1>,M2:<CARD_2>[F5][F5]
SOLO, but you can name the device anything you desire for your identification purposes.BLANK if no card is detected.BLANK if no card is detected.
// Request the details for the device at CFLink ID [03] > [F2][03][F3]TCFXWHO[F4][F5][F5] // The Reply if a Solo is found, with no cards inserted, and the default device name < [F2][03][F3]RSOLWHO[F4]CFSOLO:0004A3C4EBA2:1.0.1:1.0.4:192.168.0.100:00.04.A3.C4.EB.A2:SOLO,M1:BLANK,M2:BLANK[F5][F5]
The CFG query is used to obtain details about the configuration of a specific Solo unit.
The CFG query does not have any associated data.
> [F2]<ID>[F3]QSOLCFG[F4][F5][F5]
< [F2]<ID>[F3]RSOLCFG[F4]<IPADDRESS>:<SUBNETMASK>:<GATEWAY>:<DNS>:<DHCPMODE>:<CONNECTIONS>[F5][F5]
0 or 1).
// Query configuration of Solo on ID [03] > [F2][03][F3]QSOLCFG[F4][F5][F5] // Configuration query reply < [F2][03][F3]RSOLCFG[F4]192.168.0.100:255.255.255.0:192.168.0.1:1:1[F5][F5]
The Solo features 5 communication slots that can be used to connect to third party networked devices.
Each slot also has a dedicated bridging port, allowing TCP Clients (such as iPads, other control systems, etc) to send/receive data to the third part networked device.
The SLT query returns the configuration of a specific communication slot.
If not slot number is given, then all slots will report their configuration in separate replies.
> [F2]<ID>[F3]QSOLSLT[F4]<SLOT#>[F5][F5]
< [F2]<ID>[F3]RSOLSLT[F4]<SLOT#>:<MODE>:<IPADDRESS>:<PORT>:<TIMEOUT>:<RECONNECT>:<MAX_BRIDGE_SOCKETS>:<NUM_BRIDGE_CONNECTIONS>:<CONNECTED>:<STARTUP_MACRO>[F5][F5]
OFF, TCP Client TCP, UDP Bi-directional UDP, UDP Transmit Only UDPT.0 = Disable timeout. Minimum of 5 seconds to avoid network overhead. Maximum of 65535 seconds.0 for immediate connection retry. Maximum of 65535 seconds.10301 for slot 1, 10305 for slot 5). A maximum of 10 bridged connections can be statically shared between all 5 communication slots.
// Query the configuration for slot 1 of Solo on ID [03] > [F2][03][F3]QSOLSLT[F4]1[F5][F5] // Reply when slot configured as a TCP Client < [F2][03][F3]RSOLSLT[F4]1:TCP:192.168.0.10:23:0:0:2:0:1:Macro Name[F5][F5] // Query the configuration for slot 2 of Solo on ID [03] > [F2][03][F3]QSOLSLT[F4]2[F5][F5] // Reply when slot configured for UDP Bi-directional < [F2][03][F3]RSOLSLT[F4]12:UDP:255.255.255.255:49155:0:0:0:0:1[F5][F5]
The TME query will return the current configuration of the real time clock on-board the Solo.
The TME query does not have any associated data.
> [F2]<ID>[F3]QSOLTME[F4][F5][F5]
< [F2]<ID>[F3]RSOLTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<UTCTIMEZONESTR>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]
01-12).01-31).1, Saturday = 7 (1-7)00-23)00-59)00-59)Available time server IDs:
1 = pool.ntp.org2 = europe.pool.ntp.org3 = asia.pool.ntp.org4 = oceania.pool.ntp.org5 = north-america.pool.ntp.org6 = south-america.pool.ntp.org7 = africa.pool.ntp.org
// Query time from Solo on CFLink ID [03] > [F2][03][F3]QSOLTME[F4][F5][F5] // Reply < [F2][03][F3]RSOLTME[F4]2015:05:27:3:18:12:12:29:UTC+8.00:1:4[F5][F5]
The CFG command will configure the network settings used by the Solo.
The changes will not take effect until the Solo is rebooted.
> [F2]<ID>[F3]CSOLCFG[F4]<IPADDRESS>:<SUBNETMASK>:<GATEWAY>:<DNS>:<DHCP>:<UDP_BROADCAST_MODE>[F5][F5]
1 or 0).1 or 0).
// The reply is an echo of the command in reply format, with no data. < [F2]<ID>[F3]RSOLCFG[F4][F5][F5]
// Configure network settings of Solo on CFLink ID [03] > [F2][03][F3]CSOLCFG[F4]192.168.0.59:255.255.255.0:192.168.0.1:192.168.0.1:0:1[F5][F5] // Reply < [F2][03][F3]RSOLCFG[F4]0[F5][F5]
The SLT (Slot) command is used to configure a communication slot on the Solo.
The change will not take effect until the Solo is rebooted.
> [F2]<ID>[F3]CSOLSLT[F4]<SLOT#>:<MODE>:<IPADDRESS>:<PORT>:<TIMEOUT>:<RECONNECT>:<MAX_BRIDGE_SOCKETS>:<STARTUP_MACRO>[F5][F5]
OFF, TCP Client TCP, UDP Bi-directional UDP, UDP Transmit Only UDPT.0 = Disable timeout. Minimum of 5 seconds to avoid network overhead. Maximum of 65535 seconds.0 for immediate connection retry. Maximum of 65535 seconds.10301 for slot 1, 10305 for slot 5). A maximum of 10 bridged connections can be statically shared between all 5 communication slots.
// The reply is an echo of the command in reply format. // The change does not take effect until the Solo is rebooted, so the reply will not contain any data. < [F2]<ID>[F3]RSOLSLT[F4][F5][F5]
// Configure slot 1 to be a TCP Client, on Solo ID [03]. Connect to IP address 192.168.0.10 on port 23. Allow up to 5 bridged clients to connect to this bridged socket. > [F2][03][F3]CSOLSLT[F4]1:TCP:192.168.0.10:23:0:10:5[F5][F5] // Reply < [F2][03][F3]RSOLSLT[F4]1[F5][F5]
The TME command is used to set the time and date settings for the real time clock on-board the Solo.
> [F2]<ID>[F3]CSOLTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]
01-12).01-31).1, Saturday = 7 (1-7)00-23)00-59)00-59)Available time server IDs:
1 = pool.ntp.org2 = europe.pool.ntp.org3 = asia.pool.ntp.org4 = oceania.pool.ntp.org5 = north-america.pool.ntp.org6 = south-america.pool.ntp.org7 = africa.pool.ntp.org
// Reply with the data used to configure the time/date. < [F2]<ID>[F3]RSOLTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<UTCTIMEZONESTR>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]
// Configure the real time clock on a Solo ID [03] > [F2][03][F3]CSOLTME[F4]2015:05:27:3:18:12:12:29:1:4[F5][F5] // Reply < [F2][03][F3]RSOLTME[F4]2015:05:27:3:18:12:12:29:UTC+8.00:1:4[F5][F5]
The SPC command is used to configure the RS232 settings for the on-board serial ports.
For the 2 on-board bi-directional RS232 ports, follow the protocol documentation for on-board serial ports.
For the one way (transmit only) RS232 port functionality of the onboard IR ports, use the same protocol documentation as the on-board bi-directional RS232 ports, but replace SOL or CFX CFLink target data with IRX.
> [F2]<ID>[F3]CSOLTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]
01-12).01-31).1, Saturday = 7 (1-7)00-23)00-59)00-59)Available time server IDs:
1 = pool.ntp.org2 = europe.pool.ntp.org3 = asia.pool.ntp.org4 = oceania.pool.ntp.org5 = north-america.pool.ntp.org6 = south-america.pool.ntp.org7 = africa.pool.ntp.org
// Reply with the data used to configure the time/date. < [F2]<ID>[F3]RSOLTME[F4]<YEAR>:<MONTH>:<DATE>:<DAYOFWEEK>:<HOUR>:<MINUTE>:<SECOND>:<UTCTIMEZONE>:<UTCTIMEZONESTR>:<NTP_SYNC>:<NTP_SERVER_ID>[F5][F5]
// Configure the real time clock on a Solo ID [03] > [F2][03][F3]CSOLTME[F4]2015:05:27:3:18:12:12:29:1:4[F5][F5] // Reply < [F2][03][F3]RSOLTME[F4]2015:05:27:3:18:12:12:29:UTC+8.00:1:4[F5][F5]
The SND (Send) command allows you to send data to a specific communication slot defined on the Solo.
> [F2]<ID>[F3]TSOLSND[F4]<SLOT#>:<DATA>[F5][F5]
// In an effort to reduce network traffic, the reply will not contain the <DATA> sent, only the slot it was sent to. < [F2]<ID>[F3]RSOLSND[F4]<SLOT#>[F5][F5]
// Send a command to an ethernet device connected to slot 1, for Solo on CFLink ID [03] > [F2][03][F3]TSOLSND[F4]1:Hello World!\x0D[F5][F5] // Reply < [F2][03][F3]RSOLSND[F4]1[F5][F5]
01 - UTC-120002 - UTC-110003 - UTC-100004 - UTC-93005 - UTC-90006 - UTC-80007 - UTC-70008 - UTC-60009 - UTC-50010 - UTC-43011 - UTC-40012 - UTC-33013 - UTC-30014 - UTC-20015 - UTC-10016 - UTC-017 - UTC+10018 - UTC+20019 - UTC+30020 - UTC+33021 - UTC+40022 - UTC+43023 - UTC+50024 - UTC+53025 - UTC+54526 - UTC+60027 - UTC+63028 - UTC+70029 - UTC+80030 - UTC+84531 - UTC+90032 - UTC+93033 - UTC+100034 - UTC+103035 - UTC+110036 - UTC+113037 - UTC+120038 - UTC+124539 - UTC+130040 - UTC+1400