RA1792Control - a program to control the RACAL RA1792 receiver with look & feel similar to the receiver itself, with some enhancements.
RA1792Control
A full manual has been not written yet. Briefly and with apologies for the bad English:
-------------------------------------------
WARNING
THIS PROGRAM HAS BEEN WRITTEN FOR THE
PROLOGIX USB-to-GPIB INTERFACE
SEEN BY THE SYSTEM AS A
VIRTUAL COM PORT!
-------------------------------------------
NOTES
----------------------------------------------------
Note 1. For those wanting to try using a different
GPIB interface, an option to
disable the
specific Prologix commands has been provided.
In that case however You must set externally
the required parameters.
NOTA 2. It is not possible to use this program
with the SCORE interface as
its remote
commands are totally different.
----------------------------------------------------
In version 0.5 a TCP server compatible with hamlib net rigctl has been added, listening by default at the address 127.0.0.1:4538, whose implementation is currently only partial and approximate, a little more than the bare minimum needed to make it work with WSJTX 2.5.4, FLDIGI 4.1.22, GRIG 0.8.1, XDX 2.5.0 and XLOG 2.0.24. Tests have been made mostly under Linux. When another application connects to the RA1792Control server, the NET label in the left display of the main window lights up, and then switches off when all clients have disconnected. Please note that there are no authentication or encryption of any kind, as this server is designed only to connect other programs to RA1792Control, e.g. WSJTX, FLDIGI and XLOG, on the same machine. Therefore, pay a lot of attention if you want to use this feature for what it was not designed for, that is to control a remote RA1792 via the internet. Some other minor additions have been also made. In the internal file manager the commnds "Move to channel" and "Move to state" have been added. The Band Scan Window code has been ported from SkantiControl 0.99, but bear in mind that the author’s RA1792 does not have the TR command, so it was impossible to check the real behaviour of that code, which may not work at all.
In version 0.4 all TButtons have been replaced by TJButtons from the jujibo package by Julio Jiménez Borreguero. These are customizable buttons that can have more than one line of text, a user-selectable colour regardless of system and window manager used, themed or not, and the ability to resize the image, if any. So, if you want to recompile the sources, install first in Lazarus that library using the Online Package Manager available in Lazarus. These changes, while purely cosmetic, required an extensive overhaul of the source code of the program, so please report any wrong behaviour. The main window resize code has been also revised and now the program should behave correctly, resuming at start the size and the position with which it was closed. The internationalization of the program has also been made, using the Lazarus built-in i18n feature. Only the default macaronic english and italian languages are available so far.
The "REM" button starts program execution and connection with the RA1792. Before clicking on it, be sure to select in the "Options" menu the correct receiver address. Actual address is shown in brackets after the menu entry "Receiver address". The chosen configuration will be saved automatically. For serial ports other than the first two, or USB, select the "Custom" serial port option and write the name of the port. Please note that with the Prologix USB-to-GPIB interface the serial speed does not matter.
Don’t forget to set the same address on the receiver with the dip switches on the back. Check also that your user has serial port access privileges; under Linux usually it must be a member of the "dialout" group and the virtual serial port created by the Prologix interface is no exception.
When you start the program, the RX state (frequency, mode, filters, etc) will be read from RX itself. The state can also be saved to and restored from a file. Default file name is <frequency>-<mode>.dat, e.g. 10100.800-CW.dat.
Option "Enable S-meter" starts polling the received signal level (using the TR command) every 0.3s and display a bar-meter for the received signal strenght. During the command duration, other keys are disabled, so selecting this option slows down somewhat operations. Note that not all RA1792 have the TR command (e. g. mine, an old non-backlit version, has not).
Frequency can be changed by clicking on the RX display, with the mouse wheel, by writing the desired frequency in the spinedit at lower right of the main window or by turning the tuning "knob", moving the mouse on it. To enable tuning (indicator TUNE lit), press the "TUNE" button or click on the tuning knob. Clicking a second time disables tuning.
The tuning knob rate can be fixed (0.5, 1, 10 or 100 kHz per turn) or timed, as in the real receiver tuning knob: turning it slowly makes small frequency increments, downto 1 Hz, turning it faster makes bigger increments. Since it is difficult to maintain a well-defined tuning speed using the mouse, in the author’s opinion it is wise to use one of the fixed tuning rates, so the initial default is fixed at 1kHz per turn. Try and see yourself.
Left-clicking on a figure in the RX frequency display decrements that figure by one, right-clicking increments that figure by one. This only happens if the final frequency is in the range of the RX. Clicking on the decimal point the displayed frequency will be rewritten. Smallest increment/decrement available is 1 Hz.
If the mouse wheel is rotated with the pointer over one of the figures of the RX frequency, that figure is incremented or decremented. This now works also under Windows.
If the mouse wheel is rotated with the pointer over the frequency spinedit, the frequency is incremented/decremented by 1 Hz.
Last, if the mouse wheel is rotated with the pointer anywhere else, RX frequency is incremented or decremented by the tuning step in effect.
The channels stored or recalled with the STORE, CHAN and CHAN SCAN keys are local to the program, which tries to mimic the RX behaviour, but have nothing to do with the channels stored in the receiver, since no remote command is available to read or set these.
In the CHAN and STORE functions the channel number can be selected using the simulated tuning knob, as in the real receiver, but also by clicking with the left and right mouse buttons on the channel figures or by rotating the mouse wheel as above (increment/decrement that figure) or anywhere else (increment/decrement channel number by 1).
There are also some keyboard shortcuts:
+: Tune up by
the default tuning step in effect
-: Tune down by the default tuning step in effect
/: Change tune rate (cycles between 1, 10, 100 and 1000 Hz)
*: Set receive frequency
.: Enable/disable TUNE mode
0..9: same as corresponding key (number or function)
ENTER: same as ENTER button
allowing basic control of the receiver using only the numerical keypad.
These keyboard shortcuts are also accepted:
U: Set USB mode
L: Set LSB mode
C: Set CW mode
A: Set AM mode
F: Set FM mode
I: Set ISB mode (if ISB option fitted)
The above commands can be issued either upper or lower case. The frequency value for command * can be entered either with the keyboard or with the on-screen numeric keys.
The message display shows informations about the command being executed or status/info/error messages. Double-clicking on it clears display.
RX parameters (frequency, step, AGC, etc.) can be set also by selecting the desired value with the controls at the lower right of the main window.
The program tries to disable illegal keys for the actual state (e. g. pressing the "F" key, only the numeric keys are active and all other function keys are disabled. If this behaviour is not wanted, then check the "Option>Enable all controls" menu entry.
The message display shows informations about the command being executed or status/info/error messages. Double-clicking on it clears display.
RX parameters (frequency, step, AGC, etc.) can be set also by selecting the desired value with the controls at the lower right of the main window.
The program tries to disable illegal keys for the actual state, e. g. pressing the "F" key, only the numeric keys are active and all other function keys are disabled. If this behaviour is not wanted, then check the "Option>Enable all controls" menu entry.
All configuration files are kept under Linux in the .RA1792Control directory of your home directory, under Windows in the RA1792Control directory, which now can be put in any location and renamed as you like, as long as the executable file is contained in it and run from there. In case the program configuration has messed up, delete (or move) the "Config.dat" files and the program at next start will recreate it using the default configuration.
The channels stored with the STORE are kept in the RXChan.dat file.
The AUX configuration is kept in the file AUXconf.dat. To change it, set the wanted configuration (mode, bandwidth, AGC and BFO if applicable, the other parameters are meaningless) and use the "File -> Save state..." menu entry to save it with the name given above, possibly overwriting the existing file.
Files saved in the Channels subdirectory (using the "File>Save Channel" menu entry) will be read at program startup and shown in the Channels menu entry and can be recalled using only one mouse click. To allow to rename and delete the saved state files from within the program, a very minimal file manager is built in (menu entries "File>Manage states" and "File>Manage channels").
• Check the correctness of the state machine dealing with the memory channel functions against the RX behaviour. | |
• Check if the received signal level reading code works. My RA1792 does not have this command so I was unable to test it. | |
• Write a full-blown manual. |