RemoteSign Relay

RemoteSign Relay is a tiny (20k) helper program that enables any Windows program that can launch an external program to trigger any script in RemoteSign Sequencer.

This provides a method for programs without native RemoteSign support to also update RemoteSign screens.

RSRelay.exe is a file that is installed along with RemoteSign. (If you have a version installed before 2020-05-09, you can use Fetcher to download it, or simply install RemoteSign again.)

How to use RSRelay

  1. Define what you want to happen in a script in RemoteSign Sequencer.
  2. Find where you define the launching of an external program in your layout software. 
  3. Specify it should launch RSRelay.exe with the name of your script from step 1 above as the parameter. For example:
    c:\RemoteSign\RSRelay Track3
  4. Ensure that RemoteSign Sequencer is still running and has the file that contains your scripts open.

When your software launches RSRelay, it will connect to RemoteSign Sequencer and pass the script name "Track3" to it, then terminate. RemoteSign Sequencer will then look for a script by that name and run it if present. That script can be long, include delays, and talk to multiple RemoteSigns of all types.

RSRelay has no user interface and returns an exit code indicating success (in transferring it to Sequencer) or an error code.

Here is an overview of possible information flow from some layout software to the RemoteSigns.

You can also create Windows desktop shortcuts to RSRelay.exe with the script names you want to trigger like this:


Return codes

RSRelay will always produce a return code to indicate how things went. These return codes can be ignored or they can be used to report a problem to the user if the software can handle return codes.

Here are the return codes:

  • 0 = Success. The parameter was successfully passed to RemoteSign Sequencer. If RemoteSign Sequencer had a problem (for example: no such script) that will be reported in the log screen of RemoteSign Sequencer.
  • 1001= Timeout. The operation was not able to complete within 5 seconds.
  • 1002 = No parameter was supplied.
  • 1003 = Already running. Another copy of RSRelay was already running and did not complete within 5 seconds.
  • 10061 = Connection to RemoteSign Sequencer was rejected. - RemoteSign Sequencer must be running (on the same machine). 
  • Other - all other codes match error codes returned by Visual Basic 6 or the Microsoft Winsock control.
A quick way to see the return code is to create a batch file as follows:


@echo off
RSRelay %1
echo RSRelay returned: %ERRORLEVEL%

Advantages

The advantages of this approach are:
  1. Any Windows software that can shell or launch an external program can trigger scripts.
  2. Only the name of the script needs to be passed to the relay. This means that all the other information such as which RemoteSign(s) need to be updated, the content, and when, etc. can all be predefined.
  3. The connection to the RemoteSigns stays open. This is important for the tiny RemoteSign ESP devices which clear their screen when connecting and disconnecting.
  4. The RSRelay is very small, and quick to load

Native support

Of course direct native support for RemoteSign is preferable as it would be much simpler for people to use. Users of train control software are encouraged to request their software vendors to add native support for RemoteSign. You can point them to Suggestions for implementing support  for more information.

Calling RSRelay from layout control software


TrainController

(Feel free to send me details of how to call out from other systems)