Linux and the Ten-Tec RX-320 PC-Radio
The RX-320 is a DSP-enabled HF, computer-controlled radio from Ten-Tec,
Inc. The really good thing about this radio besides its great peformance is
that Ten-Tec has released specs for the RS-232 protocol used to control the
radio. This means that you don't have to rely on proprietary, commercial,
platform-specific, and binary only software to use the radio. Releasing the
specs shows that Ten-Tec is an enlightened manufacturer, and one of a new
breed of companies supporting Open Source.
You must use a computer to control the radio, although once set to a station,
the radio may be used for listening without being attached to a computer
(the RX-320 does not have any memory, so it must be initialized before each
use).
Ten-Tec supplies a basic application on a floppy, but it is for legacy
operating systems from the software monopoly. Since I don't use software
from Satan, Ten-Tec's decision to open the specs on the radio means that
it gets me as a customer, because Linux readily supports the RX-320! There
are several packages available, including a command-line based program from
the Debian project. There is also the Hamlib project, and a GNOME client
named grig, but I did not have success building or installing the software
(yet!).
This page will document my efforts when using the RX-320. In fact, less
than five days after acquiring the radio, I've developed a patch to one of
the better open-source RX-320 GUI clients, Hector Peraza's rx320, which is
based on the xclass libs. Here's a screenshot showing the client running
via Wifi on an IBM Z50 Workpad (a 131MHz MIPS laptop) using NetBSD:
Hector did a great job with rx320, and his source is readily available
via Sourceforge via the xclass project. However, the code is in C++, which
presents a bit of challenge for me (I'm a writer, not a programmer). But
due to his coding style, I was able to quickly implement scanning, a new
hotkey ('q' to quit), and make some changes to the program's internal behavior
(such as rollover on the low- and high-end of the frequencies supported by
the radio).
Here is what my version of rx320 looks like:
As you can see, I created two new buttons used to scan up or down, and
a new slider control to set the 'sensitivity' to the scan. The scanning
basically works like this:
- scan to a new frequency in the specified direction, according to the
currently selected step (1Hz - 10kHz)
- acquire five signal strength readings from the RX-320
- take a average of those readings (which will be in the range of 0-10000,
with 0 = no signal and 10000 = strong local)
- compare the average to the Sens slider's selected sensitivity, which
can be anywhere from 1000 to 9000
- if the average is greater than the selected sensitivity, stop scanning,
else increase the frequency and try again
Links
Here is
the diff output against version 0.4.2 of the rx320 client.
You can find Hector's rx320 here.
You can find T. Maitland's Debian, command-line based rx320 program here.
You can find Hamlib here.
I hope this helps other Linux RX-320 users! I hope to enjoy using this radio
for a long time - thanks to Ten-Tec and other Linux programmers!
Suggestions? Mail them to:
main(){int j=-1;char t[]="rfnqyt?%ggfqqEyz}3twl\n";
while(t[j]!='\n'){putchar(t[++j]-'\05');}return 0;}