sierra radio systems - hamstack.com commserv… · the sierra radio systems device control network...
TRANSCRIPT
Reference Manual
Version 1.1
CommServer
Embedded Linux Platform
And Station Management Systems
Sierra Radio Systems
Contents
• Introduction
• CommServer Embedded Linux Platform
• Device Control Network
• Site Controller
• Remote RF Power Monitoring
CommServer Introduction
The Sierra Radio Systems CommServer is an embedded linux host computer platform that
can be used for many applications. Sierra Radio will develop applications on this platform
and we encourage our users and 3rd parties to build on top of the platform as well. Where
possible, all of our software applications will be open source allowing maximum creativity
and range of development options.
Lets start with the hardware. The key features are…
BeagleBone Black single board linux computer
1 GHz ARM Cortex A8 CPU
512 MB RAM
2 GB eMMC flash memory
MicroSD card slot
Ethernet
UARTs, I2C, SPI, A/D, etc.
Power supplies to deliver 5.0v digital, 3.3v digital and 5.0v analog voltage rails
Optional audio CODEC providing analog audio input and output
Xbee data radio socket to allow communications with external devices
RS232 level shifter and DB9 to bring out the linux board’s UART 2 port
Key software features
Ubuntu linux distribution
Built in SRS apps including voice telemetry, scheduled events and command decoding
from the main repeater controller CPU
CommServer Linux Platform
CommServer Parts Placement
Audio Interface
0.01uf Default: out
Used to force pre-emphasis
0.01uf Default: out
Used to force pre-emphasis
R11 Default: 47k – Change to adjust audio gain to RCB
R12 Optional 100 ohm resistor
Installing resistor will enable the low pass
Audio filter.
R10
15k – 18k
Resistor
Audio Options1. The level from the CODEC audio out may be too high. Adjust as necessary. (Default: 47k)
2. Install C4 and C5 if you want to pre-emphasize the audio. Normally these caps are out of the circuit and use
the pre-emphasis circuit on the RCB. Normally left out.
3. Install C6 to de-emphasize the audio. Normally left out.
4. Install C7 to de-emphasize the audio. Normally left out.
5. R10 gain set resistor for the audio in buffer is labeled 15k but the default value is 18k.
6. R12 forms a low pass filter with C8 and C9. Normally left out.
7. Install jumpers in header P1 to route audio and data signals.
Jumpers1-2 Route audio out to RCB (normal)
3-4 Route audio out to CPU board
5-6 n/c
7-8 Enable data to main CPU
9-10 Enable data to main CPU
C7 Optional
C6
Optional
The jumpers 7-8 and 9-10 allow you to plug
in multiple CommServers in the same card
cage. Only one CommServer can have
these jumpers installed to enable
communications to the master CPU board.
RCB DB9-5
RCB DB9-1
CPU I/O Connections
BeagleBone
CPU Pins Usage
Analog I/O
A/D 0 +12v backplane voltage monitor
A/D 1 +8v backplane voltage monitor
A/D 2 +5v local voltage monitor
A/D 3 Unused
All A/D inputs are a 10k series resistor and a 1k resistor to ground to form a voltage divider.
Digital I/O
GPIO2_1 Logic output to RCB COR logic input. Used to key up the repeater control system.
GPIO0_26 Logic output to RCB PL decoder logic input.
GPIO1_14 Logic input from RCB PTT output. Pulled high. Used to detect activity on the repeater system.
GPIO1_12 Upper user programmable status LED
GPIO1_29 Lower user programmable status LED
GPIO1_15 Net reset. Controls reset to the repeater control system net_reset signal on the backplane
GPIO0_27 RF reset. Controls reset to the Xbee data radio
Serial UARTS
UART 0 Console. 3.3v TTL logic brought to the 6 pin SIP header connector along the board edge.
This connection is designed to work with a FTDI USB to TTL converter cable.
UART 1 Connected to the repeater control system master CPU UART2.
UART 2 Connected to the DB9 RS232 connector on the front edge of the board.
UART 3 Not available.
UART 4 Xbee data radio socket
UART 5 Not available.
Software Environment
The CommServer is built on Ubuntu, a very popular linux distribution. The CommServer software includes a variety of
pre-installed programs, libraries and data files to make the system work properly.
Default root system login
Login: root
Password: sierra
File Structure
Just about all of the SRS developed software can be found in the directory /home/srs
Within that directory, you will find the following sub-directories…
Apps Contains sub-directories with various installed applications
Audio Audio data files
Install Programs ready to be installed
Log Log files
Python Python development
Startup Startup scripts
Scripts Various scripts in development
Special Not used
Test Temporary working directory
Web Web site data files
/home/srs/apps/tel
This folder contains the voice telemetry and command processing programs and scripts.
To launch the voice telemetry system: python /home/srs/apps/tel/command
/home/srs/apps/dcn
This folder contains the device control network (DCN) python and script programs.
Most of the CommServer apps are written in Python or BASH scripts.
Voice Telemetry System App
The voice telemetry system provides a mechanism to trigger the playback of pre-recorded voice phrases
based on command decoding in the master CPU. The control program called “command” can also decode
functions and trigger the execution of a python program or BASH script file.
How it works…
When a command is decoded in the master CPU of the repeater controller, let’s say *123, if that command is
a user written macro, it will cause one or more built in commands to be executed. For example *123 can
cause link 1 to be turned on by executing a built in C3311. In the configuration program (“config”) you would
define the macro *123 to cause the following to be executed: C3311
You can add an instruction to send a serial command to the CommServer with the S377 command. Using
the syntax S337[xxxxx] where the controller will send “xxxxx” to the CommServer. In our example your
macro would be written as…
C3311 S377[L1ON]
This macro will turn on link 1 because of the C3311 built in command AND then send the string “L1ON” to the
CommServer board. This is an arbitrary string you can make up as long as the command program on the
CommServer is looking for the same command string.
On the CommServer, there is a program called “command” which must be running to intercept the command
string from the repeater controller. In our example it is looking for the string “L1ON” for “Link one on”. The
command program is written in Python and you can modify the source code if you like. Basically the
command program will evaluate the new string, “L1ON”, and look to see if it is in it’s look up table of
commands.
If the command “L1ON” is found, the command program will run the code associated with it.
For example “os.system(say + “link 1 on”) Which will speak “Link one on”
Or “os.system(python /home/srs/test/blork”) Which will run a python program called blork in
/home/srs/test
There is a convenient utility that we include called “speak”. This is a python program is called like this…
python speak hello test 1 2 3
“python” will invoke the python program run time.
“speak” is the python program we wrote that does the speaking.
“1 2 3” are the list of arguments being sent to the speak program.
The way speak works, it will key up the repeater system, then cycle through each one of the arguments, 1 2
3, and attempt to play the associated audio files. Specifically /home/srs/audio/1.wav then
/home/srs/audio/2.wav etc.
Then when it’s all done, it will unkey the repeater system.
You can use the built in wav files or record your own and just replace them in the /home/sys/audio directory.
You can also add words to the vocabulary by just dropping new .wav files into the same folder. If you ask
speak to say a word that is not in the audio directory, it will just skip the word. A word can be a full phrase as
long as you like. For example a wave file called srs.wav could speak “welcome to sierra radio systems” if
that is the audio content of the srs.wav file.
INTRODUCTION
The Sierra Radio Systems Device Control Network (DCN) provides a way to allow multiple
devices communicate on a wired or wireless network. The primary application for the DCN is to
allow a master computer or device, to control and monitor a network of real-time control devices.
The DCN specification defines four components, the physical and RF connections and electrical
signals, data link layer, the application layer and network topology. The purpose of the physical
layer is to define the standard mechanical connectors, pin assignments, signaling voltages, and
RF frequencies . The next layer up, the data link layer, defines the format of data packets sent
on the network. The third layer defines the format of the payload being sent from point A to point
B and finally recommendations for the network topology.
SECTION 1 - PHYSICAL CONNECTIONS AND ELECTRICAL SIGNALING
The DCN is a “dual-band” system meaning that data may be transmitted over wired or RF
communications paths or both.
Physical Connections
The control protocol can be transmitted over any type of communications medium. The most
common connections are wired through an RS232 or RS485 connection, a wireless connection,
typically using an RF mesh data network or over ethernet.
Wired RS-485
The RS485 wired implementation uses commonly available Ethernet CAT5 cable and RJ-45
connectors. While the DCN protocol has nothing at all to do with Ethernet except that we take
advantage of the wide availability of premade cables. The CAT5 cable provides 8 wires which
carry the network traffic and power. Many devices have two RJ-45 connectors wired in parallel.
This allows for easy daisy-chaining of multiple devices using CAT5 cable. This makes it easy to
add more devices to the network without the need for any kind of hub or switch.
RJ-45 Cable Assignments
1 – Network data signal A 5 - Ground
2 – Network data signal B 6 - Reserved
3 – Reserved 7 - +12 VDC
4 – Ground 8 - +12 VDC
DCNDevice Control Network
Wired RS-485 Electrical Signaling - continued
The electrical signaling used is based on RS-485. This signaling technique is a half-duplex,
differential pair that allows multiple devices to be connected to a single pair of wires. RS-485
also has the advantage of allowing devices to be spread over 1000’s of feet of cable without the
need for signal conditioning or repeaters.
Power can be supplied by any device and delivered to all devices on the network. If a device
can supply power to the network, there must be a way to disconnect the power, usually through a
jumper block. Only 1 device is allowed to supply power to the network at a time. Network
voltage should be between 12-14 VDC. This provides enough of headroom to power any DCN
compatible device.
Wireless RF Data Network
The DCN can also use RF modules that operate on 2.4 GHz or 900 MHz. If mesh network radio
modules are used, if you add new nodes to the RF network, the automatically become part of the
network. This is particularly convenient when extending the range between devices. Each node
can be thought of as a serial port that taps into an invisible network of other devices. When data
is sent into the serial port of the data radio, the packet will be delivered to every data radio in the
network and the packet will be transmitted out of the RF module’s serial port into the local
device’s CPU.
A network can consist of a mixture of wired RS-485 and RF data network enabled nodes.
In the 2.4 GHz version of the RF network, there are 16 possible RF carrier channels. Our default
pre-configured data radios are assigned channel “E”. Note that these frequencies are in the
same band of frequencies as WiFi, Bluetooth, ZigBee and other data services. While
interference is rare, you can always change channels using the Digi International configuration
program called X-CTU.
IntroductionWe use the Digi International Xbee data radios running the Digi-Mesh protocol stack for our station
monitoring and control applications. To install firmware and set configuration parameters in each radio
module, you will use a program called X-CTU available free from Digi-International.
Firmware StackThe reason we use the Digi-Mesh stack is the ease of addressing nodes on a network and the ability for
the network to grow by simply dropping new nodes in the network. Any data packet that enters the
network will hop from node to node until the message goes to all nodes. Each device controller will
inspect the packet to determine if the message is for that particular node or not.
The firmware comes pre-installed and the devices are pre-configured for RF channel E and a network ID
of 7777. This is similar to an SSID in a WiFi network. If you need to re-flash your firmware or change
the configuration of your data radios, read the following instructions…
Step 1 – Install X-CTU PC softwareThe X-CTU software can be downloaded from the Digi-International web site.
Step 2 - Install the Digi-Mesh firmwareFor the 2.4 GHz xBee (1mw) module, install modem firmware type: XB24-DM
For the 2.4 GHz xBee PRO module, install modem firmware type: XBP24-DM
For the 900 MHz xBee PRO module, install modem firmware type: XPB09-DM
The field “Function Set” should be set to XBEE PRO DIGIMESH 2.4
There are only a few configuration parameters required to get your data radio module up and running on
the network.
Step 3 - Set network IDThis is the “name” of the RF network that all units will join.
This is an arbitrary 4 digit number. You can pick any number you want. You can run multiple
independent networks on the same RF channel by setting some modules to one address and other
modules in another network to another address and they will ignore each other.
Sierra Radio default recommendation:
Set Networking ID – Modem VID to 7777
Xbee Firmware Configuration Guide
Step 4 – Set operating channelThis is one of the 12 available RF carrier channels that the network will operate on. Channels are
assigned values from 0C to 17 (C, D, E, F, 10, 11, 12,13,14,15, 16, 17, 18) represented as a hex value.
The RF carrier channels overlap with other devices in the 2.4 GHz band including WiFi and Bluetooth
networks. Generally speaking you can pick any channel and it will work fine even with these other
networks in operation. If you are in an RF dense environment and want to take all steps possible to
avoid interference, pick a channel that does not overlap with your local WiFi networks. See the
frequency table in the appendix. We recommend using channel E.
Set Network CH – Operating Channel to E
Step 5 – Set device addressSetting the high order destination address to 0 and the low order destination address to FFFF will put the
radio in broadcast mode. All data packets received will be sent to the serial port. In a SRS environment
running the DCN protocol on the controllers CPU, the device address decoding is done by the local CPU.
This makes the network operate as a simple mesh of all devices where any data going into one data
radio’s serial port will appear at the output of all data radios. The CPU will then process the payload of
the packets.
The SRS default recommendation:
Set Addressing DL – Destination Address Low to FFFF
Set Addressing DH – Destination Address High to 0
Step 6 – Set serial port configurationThe data radio module’s serial port can be configured to one of eight standard baud rates including 1200,
2400, 4800, 9600, 19200, 38400, 57600, 115200, and 230400 baud.
The SRS default recommendation:
Set Serial Interfacing BD – Baud Rate to 9600
xBee Firmware Configuration Guide
Digi International
X-CTU firmware configuration software
Defaults
Channel: E
PAN ID: 7777
Firmware
Type:
XB24-DM
Defaults
DH: 0
DL: FFFF
Data Radio
Network Topology
Overview
The Sierra Radio Device Control Network can be build with wired or wireless devices or a combination of
both. The network protocol is completely independent from the physical communications channels. In the
DCN, all devices are listening all the time to the network. One device, typically a computer, is the master
and all other devices are slaves. All slaves remain quiet until the master communicates with them. Every
device, including the master has unique address. Typically the master is address 0 (zero) and devices are
numbered 1, 2, 3 and so on. Think of the network as one big “party line” where everyone is connected all
the time. When anyone transmits, all devices can hear it. There are three commonly used physical
connections used in a DCN. They are RS232 for point to point applications with one master and one slave
device. RS485 which is a serial interface but very different from RS232. RS485 uses differential signaling
on a pair of wires (called the A and B wires) and operate half duplex. The advantage to RS485 is the ability
to hang multiple devices on the A/B pair and the long physical distances that can be used. The third
common connection type is an RF data channel. The DCN data radios take serial data into their UART
and package the data up in a packet and transmits them to the other data radios in the network where the
same data comes out the UART on the other end and into the local devices microcontroller.
Lets look at some typical network configurations.
MasterAddress: 0
DeviceAddress: 1
In the most simple example, the master can talk to a slave over a wired connection. Some Sierra Radio
products have RS232 ports but all devices have the RS485 DCN connector which is a RJ45 (ethernet)
modular connector.
RS232 or RS485
MasterAddress: 0
DeviceAddress: 1
2.4 GHz RF Path
Data Radio
When using a RF data radio module instead of a wired connection, the logical behavior is exactly the
same. Data that comes out of the master’s UART will arrive at the input to the UART on the slave.
Network Topology
Wired and wireless connections can be combined. One example is where the local devices are connected
with cable and the remote devices connected with a wireless data connection. For example…
MasterAddress: 0
In this example, all devices are listing at the same time to the DCN regardless of the medium of
communications.
RS
48
5 o
ve
r C
AT
5
DeviceAddress: 1
Data Radio
Communication
Bridge
RS232
RS485
DeviceAddress: 2
DeviceAddress: 3
Data Radio
Communication
Bridge
RS232
RS485
DeviceAddress: 4
2.4 GHz RF Path
RS
48
5 o
ve
r C
AT
5
RS
23
2
SECTION 2 - DATA RATES AND PACKET FORMAT
The DCN data protocol sends ASCII data at 9600 baud, non-inverted, 8 bits, no parity.
The protocol defines the format of packets of data transmitted on the network. The simple way to
think of a packet is a string of ASCII characters that contains the payload to be transmitted from
point A to point B and the additional characters necessary to provide synchronization, packet
type identification, addressing, and error checking.
A typical packet looks like this...
/A01:RY1,1:4D <13>
---------------------------------------------------------------------------------
| Start | Packet | From | To | : | Payload | : | LRC | End |
| of | Type | Address | Address | | | | Value | of |
| Packet | | | | | | | | Packet |
---------------------------------------------------------------------------------
Start of Packet
A forward slash character / is reserved for the start of packet indication. When a slave device
sees the slash, it knows there is a new packet.
Packet Type
The packet type character defines the format of the packet and instructions for how the packet is
to be interpreted.
Packet types include direct, addressed and addressed with no error checking.
They start each packet with the characters //, /A, and /0 (zero) respectively.
Direct Packet type // ( Example: //reset )
This is a very simple format that is intended only for use in a system with a single node. The
format for a direct packet is simply the header // and the payload.
As you can see, there is no address or error checking. If multiple nodes are on the network and
a direct command is issued, all nodes will decode and execute the command.
This can be very convenient to send master commands to all nodes but there is no error
checking.
Addressed Packet type /A ( Example: /A01:reset:39 )
These packets start with /A and contain the source and destination address, payload and error
check data.
Addressed Packet, no error checking type /0 ( Example: /001:reset:34 )
This is an Addressed packet that ignores the error checking field. This is used for manual entry
of network addressed packets without the need to calculate the error checking value.
Device Addresses
You can assign any node an address using any printable character. However, for maximum
functionality, we recommend using numbers as the addresses.
.
Pre-assigned default device addresses
0 System master. .
1-9 Devices 1-9
1 Site Controller
2 Remote RF coax relay
3 GPIO board
4 Not assigned
5 Watt meter
6 Not assigned
7 RadioRouter audio mixing and switching device
8 Not assigned
9 Not assigned
A-Z Not assigned
* Broadcast to all devices.
Any other characters are reserved and should not be used.
If you add a second device and the default device address is already in use, just pick another.
Payload
The payload is application dependent. See standard command summary.
Error Check Value
The error check value is an 8 bit LRC.. The LRC is applied to all characters in the packet except
the initial start of packet character /. Of course the LRC is not applied to the LRC characters
either.
Example: with the packet /A01:reset:39 the LRC is applied to A01:reset:
End of Packet
The end of packet character is a carriage return, ASCII byte value 013 (decimal). When an end
of packet character is encountered, the input buffer is evaluated.
The evaluation process identifies a packet by finding the start of packet synchronizing character /
and extracts the buffer contents up to the end of packet character.
The command parser then extracts the packet type, addresses, error check value and payload.
The error check value is calculated and compared to the packets error check value. If the values
do not match, the buffer is flushed.
If the packet is good, then the to address is examined. If the to address is the same value as the
devices address, the packet analysis will continue, if not, the packet is ignored and flushed from
the buffer.
STANDARD COMMANDS – ALL DEVICES
Administrative Commands
Command SETADDR,<string>
Example //SETADDR,5
Definition Sets the network address for the RadioRouter to <string>, where <string> is a
single, printable ASCII character.
The default address for the RadioRouter is 9
While the address character can be any single character we recommend the
following guidelines for address programming.
0 Reserved for the controlling PC
1 Reserved for a hardware control head
2…9 Recommended for all user devices
A…Z Also available for user devices
* Reserved for broadcast
All others Punctuation is reserved for system use. Avoid lower case
letters to prevent confusion and accidental upper case
translation.
Command REBOOT
Example //REBOOT
Definition This is a soft reboot command will re-start the RadioRouter.
Command PING
Example //PING
Definition This will return the name, address and type of connected device.
Command ROLLCALL
Example //ROLLCALL
Definition This will return the name, address and type of connected device from all
devices on the network. Each device will wait for a short period of timebefore
sending its response. The delay time is calculated based on the device
address. For example an address of 5 will wait 5 * 100 ms = 500 ms. This will
minimize or avoid collisions.
Command STATUS
Example //STATUS
Definition This will return useful status information about the connected device.
STANDARD COMMANDS – ALL DEVICES
Command STATE
Example //STATE
Definition Returns the state of the device. This typically includes the state of relays,
digital inputs, analog inputs, etc. The specific format varies depending on the
device type.
The return format will be
UPDATE,From, To, Arg1,Arg2,Arg3, etc
DEVICE SPECIFIC COMMANDS - RF Relay
Get site controller Status
Command STATE
Example //STATE
Will return the state of the site controller
Return payload format
UPDATE,1,SC1,RY,DI,Vin,Vout,current,Fwd,Rev,Max,Sense,RefVoltage,AN1,AN2,temp
1 Device address 1
SC1 Device type SC1 (site controller 1)
RY Relay state 10101 (Relay 1…Relay 5)
DI Digital inputs 1 and 2
Vin DC power relay voltage input
Vout DC power relay voltage output
Current DC current flowing through the DC power relay
Fwd Forward RF power
Rev Reflected RF power
Max Max voltage from directional coupler
Sense Directional coupler sense voltage
RefV Reference voltage to be calibrated out of the RF power measurements
AN1,2 User analog voltage input 0-30VDC each
Temp Temperature in degrees F from the digital temperature probe
Example
UPDATE,1,SC1,11111,00,13.8,13.7,14,55,0,2.5,2.0,0.14,13.8,6.0,68
Turn on / off Relays
Command RYx,y
Example //RY1,1
Will turn relays on or off where x is the relay number 1…5 and
y is the state (1=on, 0=off)
Relay state (y)
1 or “on” – Relay on
0 or “off” – Relay off
P – Pulse relay for 250 ms.
T – Toggle state
DEVICE SPECIFIC COMMANDS - Site Controller
Get site controller Status
Command STATE
Example //STATE
Will return the state of the site controller
Return payload format
UPDATE,1,SC1,RY,DI,Vin,Vout,current,Fwd,Rev,Max,Sense,RefVoltage,AN1,AN2,temp
1 Device address 1
SC1 Device type SC1 (site controller 1)
RY Relay state 10101 (Relay 1…Relay 5)
DI Digital inputs 1 and 2
Vin DC power relay voltage input
Vout DC power relay voltage output
Current DC current flowing through the DC power relay
Fwd Forward RF power
Rev Reflected RF power
Max Max voltage from directional coupler
Sense Directional coupler sense voltage
RefV Reference voltage to be calibrated out of the RF power measurements
AN1,2 User analog voltage input 0-30VDC each
Temp Temperature in degrees F from the digital temperature probe
Example
UPDATE,1,SC1,11111,00,13.8,13.7,14,55,0,2.5,2.0,0.14,13.8,6.0,68
Turn on / off Relays
Command RYx,y
Example //RY1,1
Will turn relays on or off where x is the relay number 1…5 and
y is the state (1=on, 0=off)
Relay number (x)
Relay 1 – DC power control
Relay 2 – AC power control
Relay 3 – User relay 1
Relay 4 – User relay 2
Relay 5 – User relay 3
Relay state (y)
1 or “on” – Relay on
0 or “off” – Relay off
P – Pulse relay for 250 ms.
T – Toggle state
DEVICE SPECIFIC COMMANDS - RadioRouter
RX mixer channel control
Command MIX,<mask>
Example //MIX,10X00000
Will turn on port 1, and turn off ports 2,4,5,6,7,8
Regardless of the current state port 3 will be unchanged
Argument definition
<mask> is a string of 8 characters that turn each mixer channel 1…8 on or off.
1 = port on
0 = port off
X = do not change the current state of the channel
Master receiver audio mixer volume
Command VOL, <value>
Example //VOL,100
Argument definition
<value> is a number between 0 and 255 which will set the master volume.
0 = off and 255 is maximum volume.
The default is typically 100 which is close to mid scale. Individual channel
volume is set with the radio’s volume control.
Transmitter selection
Command TXn (TX1, TX2, TX3, TX4)
Example //TX1
Argument definition: none.
Sets the focus of the transmitter board to transmitter 1 or 2 when using one
transmitter board or between 1, 2, 3, or 4 when using two transmitter boards.
Speaker control
Command SPEAKER,<value>
Example //SPEAKER,ON
Definition Enable / disable speaker output.
<value> can be one of the following strings
ON or 1 = speaker enabled
OFF or 0 = speaker disabled
DEVICE SPECIFIC COMMANDS - RadioRouter
Operating Mode Selection
Command MODE,<value>
Example //MODE,1
Sets operating mode of the RadioRouter.
Argument definition
<value> is one of the following options
1 = Mode 1. Control head or PC virtual control head control (default)
2 = Mode 2. OTRSP SO2R compatible mode.
Notes on Mode Usage
Mode 1 – StationStack Control Head or Control Head Software
This is typically used with a PC virtual control head program or a hardware control head
using the StationStack Control Protocol where the packets are either fully addressed
(/A) type or direct (//) type. For example a direct command to turn on Rx port 1 would
be //MIX,1XXXXXXX
Mode 2 – OTRSP Logging Computer Program
This is used when the RadioRouter is being controlled from a contesting program such
as WinTest or WriteLog using the Open Two Radio Switching Protocol (OTRSP). This
format does not use any packet framing characters, like /A01:…. The OTRSP
commands are sent in “raw” form. A command payload of TX1 to select transmitter 1 is
simply sent as “TX1” from the logging program.
Setting the Mode Manually with the Reset and Mode buttons
The mode can also be set at boot time with the “Reset” and “Mode” buttons found on the
CPU or Tx boards. When the RadioRouter powers up, it will flash the Status LED a few
times indicating that power has been applied and it is going through its boot process. After
about 5 seconds, the RadioRouter is booted and ready to be used. At this point the Status
LED goes to a solid green indicating the normal “on condition”.
To set the mode manually with these buttons, hold the Mode button down, then press the
Reset button briefly, still holding the Mode button. After the Status LED initially flashes, a few
seconds later the Status LED will then blink once. If you want to boot in mode 1, you have
two seconds to let go of the Mode button at that point. If you want to boot in mode 2,
continue holding down the Mode button. After the Status LED blinks twice, let go of the
mode button. In a few seconds, the Status LED will send either the number 1 (. - - - -) or the
number two (. . - - -) in CW indicating which mode was selected. Timing is critical. If you
bounce you finger on one of the buttons or hold it down too long, you may set the wrong
mode. Repeat the process to set it to the mode you want. Every time the mode is set, it will
be stored in flash memory and when the device is re-booted, it will come up in the mode that
was last set.
DEVICE SPECIFIC COMMANDS - RadioRouter
Headphone output control
Command PHONES,<value>
Example //PHONES,ON
Definition Enable / disable headphone output.
<value> can be one of the following strings
ON or 1 = headphones enabled
OFF or 0 = headphones disabled
OTRSP Compatible Commands
This is an open standard protocol used to control hardware devices in an SO2R contest
station. OTRSP is the Open Two Radio Switching Protocol. The RadioRouter supports the
most common basic OTRSP commands that are used on popular logging programs including
WinTest, W1MM and WriteLog.
Supported OTRSP commands
RX1 Listen to radio 1
RX1S Listen to radio 1
RX2 Listen to radio 2
RX2S Listen to radio 2
RX1R Listen to both 1 & 2
RX2R Listen to both 1 & 2
?RX Returns the mode set
TX1 Set tx focus to radio 1
TX2 Set tx focus to radio 2
?TX Returns radio with focus
?NAME Sets the name of the device to TEXT (up to 32 chars)
?FW Returns the firmware version
Command PHONES,<value>
Example //PHONES,ON
Definition Enable / disable headphone output.
<value> can be one of the following strings
ON or 1 = headphones enabled
OFF or 0 = headphones disabled
DEVICE SPECIFIC COMMANDS - Control Head
Control Head Commands
These are commands that the master controlling device will respond to. The control head can
be a physical control head or a virtual control head implemented in software on a PC. In either
case, they should behave the same way.
Command LCD,<row>,<column>,<string>
Example //LCD,2,5,W1AW
Definition The RadioRouter assumes an LCD of at least 2 rows and 20 columns.
This command displays the text string W1AW <string> on row 2 starting at
character position 5.
The LCD command also responds to a special command CLS in the format
//LCD,CLS
The CLS argument will clear the LCD display screen
Command LED,<led_mask>
Example //LED, 1100XXGGRRYY
Definition This command will set the state of the control head LEDs. The RadioRouter
assumes 12 LED are available.
The <led_mask> is a 12 character string that represents the state of each LED
from #1 to #12. Each character can be one of the following values.
Character Meaning What is displayed
1 On Green
0 <zero> Off Off
G On Green
O <letter O> Off Off
R Red Not used
Y Yellow Not used
X No change What ever the previous state was
Examples
LED,111100001111 Turn on LEDs 1-4 and 9-12, turn off 5-8
LED,GGGRRRYYYOOO Set LED 1-3 Green, 4-6 Red, 7-9 Yellow, 10-12 off
LED,XXXXGXXXXXXX Set LED 5 on, don’t touch the others.
Note, trailing X’s can be left off and the control head will assume they are X.
Example
LED,XX1 is the same as LED,XX1XXXXXXXXX
DEVICE SPECIFIC COMMANDS - GPIO-2 Board
Relay control
Command RY,<mask>
Example //RY,10X00000
Will turn on relay 1, and turn off relays 2,4,5,6,7,8
Regardless of the current state relay 3 will be unchanged
Argument definition
<mask> is a string of 8 characters that turn each realy 1…8 on or off.
1 = relay on
0 = relay off
X = do not change the current state of the relay
Individual relay
Command RYn,<state>
Example //RY3,1
Argument definition
Where n is a value of 1..8 mapped to relays 1..8
<state> is one of the values 0, 1, T, P.
0 = relay off
1 = relay on
T = toggle state (flip on to off and off to on)
P = pulse. Assuming the relay is normally off, the relay is set off then pulsed
on for 250 ms. then set to the off state.
Get the state of the GPIO board
Command STATE
Example //STATE
Argument definition: none.
Returns the current state of the GPIO board in the format:
//STATE,11111111,0000,13.8,13.8,13.8,13.8
In this example…
11111111 represents the state of the relays #1 .. #8
0000 represents the state of the digital inputs #1 .. #4
13.8, 13.8, 13.8, 13.8 represents the values of the A to D inputs #1 .. #4
State will also send the following additional commands to the master control unit or program:
//LED,10101010 See //LED command for details
//LCD,1,1,TEXT See //LCD command for details
//LCD,2,1,TEXT See //LCD command for details
//TAGLINE,TEXT See //TAGLINE command for details
DEVICE SPECIFIC COMMANDS - GPIO-2 Board
LED command
This command is send from the GPIO board back to the master controlling device.
The master can be a PC program, iphone, or hardware control head.
This command updates the state of the LEDs on the master control panel or control head.
Command LED,<mask>
Example //LED,10GYYRX00000
The mask maps to LED’s #1 .. #12
<mask> is a string of 12 characters that turn each LED on and off
1 or G = Turn LED on with a green color
0 (zero) = Turn LED off
R = Turn LED on with a red color
Y = Turn LED on with a yellow color
X = do not change the current state of the LED
LCD command
This command sends a text string to the master control program or control head to set
characters to be displayed on the LCD screen.
Command LCD,line,col,text
Example //LCD,1,5,Hello
Argument definition
line is the line 1 or 2 where the text will appear
col is the column where the text will start typically between 1 and 16
text is the text string that will be written on “line” starting in column “col”
Trailing spaces are truncated.
Any text written past the end of the display are lost
Tagline
Command TAGLINE
Example //TAGLINE,W1AW
Tagline places the text string on the control panel’s tagline usually near the top of the display.
This is provided for users to annotate a title to the control panel to personalize the display.
Typically used for callsigns, names, or the purpose of the control head such as
“Antenna Controller”
DEVICE SPECIFIC COMMANDS - GPIO-2 Board
Autoupdate
Command AUTOUPDATE,<value>
Example //AUTOUPDATE,ON
This command turns the autoupdate mode on and off. When on, the autoupdate will send
the GPIO board state at a regular interval defined by the INTERVAL command.
The values are
1 or ON = turn on autoupdate
0 or OFF = turn off autoupdate
Interval
This command determines the interval at which the GPIO board update is sent to the master
controller.
Command INTERVAL,<value>
Example //INTERVAL,30
The interval is a number representing approximate number of seconds
between updates.
Invert digital inputs
Command INVERTN,value
Example //INVERT2,ON
This command will invert the state of a digital input so when it is represented to the master
controller a high logic input (+5v) is represented as an off state (RED) as
opposed to the normal condition where a logic 1 (+5v) is high and therefore
GREEN.
Other useful commands
//PING Used to pin the GPIO board to make sure it is alive. Ping will return the device
address as well.
//ROLLCALL Same as ping but with a delayed response based on the device address to
allow multiple devices to respond on the network.
//SETADDR,x Set the devices network address to x
//ECHO,x Return the exact string x
//HELP Display the help screen
//STATIS Human readable system status.
Site Controller
1 2 3 4 5Status Link
Site Controller
Status: Normal
Rack mount Site Controller
Desktop Station Controller
Introduction
The Sierra Radio Systems Site Controller is used to remotely monitor and control two-way
radio systems an other non-radio equipment. The controller provides the following
features:
High current latching DC radio power relay
Measure input DC voltage, output DC voltage and DC current
+5v switched DC voltage output to control optional external AC power relay modules
Digital temperature probe input
2x opto-isolated digital inputs
3x 0-30v DC analog voltage inputs
3x 2A dry contact SPDT user relays
Typical applications include remotely controlled ham radio stations, remote computer
rebooting, repeater site monitoring, and remote alarm monitoring. In most remotely
controlled radio systems, the system already has a way to control the main functions.
The site controller communicates over the Sierra Radio Device Control Network (DCN) to
the CommServer or another SRS internet gateway device.
Theory of Operation
DC power switching and measurement
The main DC power path flows current into one Anderson power pole and out the other.
The power is switched using a latching relay. The site controller is supplied with NO DC
power relay installed. The system includes a relay capable of handling up to 10 amps of
current at 13.8 VDC. If you choose to use this default relay, you will need to solder it in
place. If you need to switch higher current, up to 20A, you can install the optional high
current relay instead. The high current relay will actually handle up to 30A but the PCB
traces can only handle a maximum of 20A. If you need to run 20-30 amps, you can add
additional heavy duty wire to the bottom of the PCB.
The switched DC power flows through a current sensor that measures DC amps and will
report the value back to the master in 1A increments. Input and output DC voltages are
also measured and reported back to the user.
AC power switching
We use an optional external AC power relay and AC
pigtail assembly. This power switch pigtail simply plugs
in series between the wall outlet and the AC load.
The site controller uses a low voltage (+5v) signal
to turn the AC power relay on and off. The AC power
switch is opto-isolated.
Temperature probe
The digital temperature probe is a 6’ cable with a
digital temperature sensor housed in a metal cylinder
suitable for mounting to a surface or hanging in free
space to measure ambient room temperature.
Block Diagram
Current sensor
Output
Voltage meter
Input
Voltage meter
Latching DC power control relay
0-10A or 0-20A
User relays 1, 2, 3
+5v
Gnd
DC Input
DC Output
Power supply
Radio
AC relay
Temperature probe
DCN – Device Control Network
Ground
Analog in 2
Analog in 1
Digital in 2
Digital in 1
RY
RY
RY
CPU
RF Data
Modem
RS485
Wireless
Wired
( )( )( )
Power
Supply
iV
V
SPKR AMP
Tone Generator
Front Panel Indicators
Packaging
The site controller comes in a 1U industrial rack mount chassis or in a stand alone
plastic desk top chassis. The desktop version is called a “Station Controller” but the
electronics inside are identical.
Desktop Packaging Front Panel
StatusThe status indicator indicates the general condition of the site controller and doubles as the
power indicator. In normal operation, the status LED is on. When the system is powered on
and starts up, the status LED may be off or blink a few times. This is normal. Once the system
is fully operational, the LED will remain on. If the status LED continues to blink, this indicates an
error condition in the controller.
LinkWhen the site controller is connected to a master station control system, the link LED will be
turned on. When the site controller is operating on it’s own, the link LED will be off.
Rx & TxThese LEDs will blink when data is being received and transmitted through the RS485 Device
Control Network (DCN). Data transmitted or received through the wireless DCN will not cause
the Rx and Tx LEDs to blink.
DCThis LED shows the state of the high current DC power relay.
ACThis LED shows the state of the AC control line that controls an external AC power relay.
RY1, RY2, RY3This LED shows the state of the three user definable low current (2A) SPDT relays.
Rear Panel Connections
TempTemperature probe jack. This jack supports the Sierra Radio Digital Temperature Probe
(#411). The probe contains a DS18B20 digital temperature sensor in a metal case.
CouplerThis RJ45 connector is used to connect to an Elecraft directional coupler using common 8 wire
cable. The coupler measures forward and reflected RF power. Feature currently in beta.
DI1 & DI2Digital input 1 and 2. These inputs are opto-isolated and active pull to ground. These pins are
internally pulled up to 5VDC.
AI1, AI2, GDAnalog voltage input 1, 2 and a ground reference. The analog voltage inputs can measure 0-
30 volts DC. The GD pin is connected to system ground. The ground pin provides the ground
reference for both the analog and digital inputs.
Relay 1, Relay 2, Relay 3These are user programmable dry relay contacts that can support up to 2 amps.
ACThis 2.1 mm coaxial connector applies +5 VDC to the center pin, referenced to the ground shell
pin. This +5v DC output is used to switch the external AC power relay.
DC InConnect the output of your 12 VDC power supply to this connector.
DC OutConnect the DC output connector to the power input of your radio.
DCNDevice Control Network. Used to connect additional station control devices. Pins 1 & 2 are
data, pins 4 & 5 are ground and pins 7 & 8 are +12 VDC.
Power2.1mm DC power input coaxial jack. Apply +12 to +13.8 VDC to this input.
Example #1
Repeater Site Monitoring and Control
AC Power
Switch Pigtail
Power Supply
Repeater Rx
1 2 3 4 5Status Link
Site Controller
Status: Normal
Front
Rear
Repeater Tx
• Input Voltage
• Output Voltage
• Current
Temp Probe
S
Duple
xer
• 2x Digital inputs
• 2x DC volt meters
• 3x SPDT relays
13.8
VDC
Example #3
Remotely Controlled Base Station
13.8 VDC
RF
PIGREMOTE
Operator
Windows – MAC – IOS - Android
Power Switch
Tail
Power Supply
2 GHZ DCN
RF Data Link
#411
Temp Probe
Elecraft Coupler Coax Relay
CAT5
Cable
CAT5 Cable
2 wires
DC
Power
Cables
User Defined Connections 12 VDC
Power
Adapter
Desktop Station Controller
Remote RF Power Monitoring
Introduction
The Sierra Radio Systems RF Power Monitor is used to remotely monitor multiple RF feed
lines. The user can monitor RF power through the SRS web site. In addition, event
triggers can be programmed to notify the user when a failure condition occurs.
Monitor up to 5 feedline sensors per controller
Unlimited number of controllers per installation
Measure forward and reflected RF power on each sensor
Requires a CommServer for internet access
RF power sensors available in various frequency ranges and power limits
The power monitoring system is not intended to make laboratory accurate RF power
measurements. The goal is to monitor the general RF level in the forward and reflected
direction for general power levels.
Theory of Operation
Each power sensor is constantly being measured by the controller. The CommServer
polls each RF power controller at a user selected sample rate. Typically the system
updates every 5 seconds.
Example #2
Monitoring Multiple Transmitters
1 2 3 4 5Status Link
Watt Meter
1: 100w 0w
Front
Rear
S
S
S
S
S
S = RF power sensor