RF Control User Manual
Overview
The RFControl Package contains two programs, RFControl.exe, an enhanced version of Synthmachine, and RFShell.exe, a command interface that issues commands to RFControl.exe.
RFControl.exe receives external commands through a TCP/IP network connection when it is launched in "server mode". When RFControl is launched with no parameters, it displays the same GUI and behaves identically to SynthMachine.
RFShell reads commands from a text file or from a command line, processes them, and sends them to RFControl. The shell provides loop control, delay, pause, and variable substitution prior to passing commands to RFControl. The "attach" launches RFControl, while the "host" command connects to an exisitng instance of RFControl.
RFShell can be replaced with your own application so the synthesizer can be controlled along with other components in your system.
RFControl is opened in "server mode" by launching it with runtime parameters. The parameters include a key that corresponds to the serial number of an attached TPI RF Signal Generator board, an option to display or hide the GUI, and an optional network port number to use for communication.
Installing RFControl and RFShell
RFControl and RFShell are both installed into the /Program Files (x86)/SynthMachine folder (or on 32 bit machines, /Program Files/SynthMachine) by launching RFControl_Setup.
RFControl uses the same calibration file as SynthMachine. The calibration file is specific to the TPI RF board and is installed in /Program Files (x86)/SynthMachine when SynthMachine_Setup is run, so it is necessary to execute SynthMachine_Setup and then RFControl_setup.
RFControl also uses the same defaults preferences file as SynthMachine, so any changes to the defaults preferences will be picked up by RFControl when it is launched.
RFControl expects the calibration and defaults preferences files to be located in the same folder where the RFControl executable resides. RFShell expects RFControl to be located in the same folder as RFShell.
As with SynthMachine, the FTDI drivers must also be installed, and the TPI RF board must be attached.
Note: In demo/test mode, it is not necessary to load the FTDI drivers or have a TPI RF Synthesizer board attached since the USB connection is disabled.
RFControl Startup, Communication and Usage
RFControl is launched in server mode by launching it with prameters. The key is used instead of the raw serial number as a method software copy control.
If RFControl was launched from a command window, launching it in command mode would look like this:
Command> RFcontrol HEXKEY -hide/-show portnumber
Where:
HEXKEY --- is the key corresponding to the TPI RF board serial number
-hide or -show --- hides or shows the GUI in server mode
portnumber --- is the TCP/IP port to use for communication. If portnumber is 0 or not supplied, a port number will be assigned by the system.
RFControl decodes the HEXKEY and tries to open the corresponding TPI RF board serial number. If it is opened, then RFControl tries to open the board specific calibration file and defaults preferences file.
To use RFControl in test/demo mode use the hexkey d04017edd70894f7. In test mode, the USB channel is disabled.
If a suitable calibration file is not found, a file menu window will open so the calibration file can be located, even if the –show option is not specified. To avoid this dialog, place the calibration file in the same folder as RFControl. If a defaults preferences file is not found in the folder containing RFControl, the internally programmed defaults will be used.
Once the TPI RF board is successfully opened, RFControl will reply with a message via STDOUT containing the TCP port number for command communications:
0.0.0.0 0.0.0.0 50192
The first two fields correspond to the IP address and network name of “localhost” The third field is the TCP port number RFControl is listening to for further commands. If the port number was not specified at launch time, it will be dynamically assigned by Windows and could be different for each instantiation of RFControl. If the port number was specified, that port number will be used if it is available.
If the board cannot be opened, RFControl will respond with:
Can’t attach using HEXKEY
where HEXKEY is the value passed when the program was launched.