Linux and the Ten Tec Argonaut V HF Transceiver
Intro
This page provides a short description and a little background on
xtt516, an X11 client, and tt516, a Linux command-line control program,
for a great little QRP rig
given to me by the XYL for Xmas 2003: the Ten Tec
Argonaut V, model
516. The programs are written in C for the Linux operating system
and are licensed under the GNU GPL (see http://www.gnu.org
for more details about the licensing). Because of the GPL, the programs
are free and include
source code. tt516 is based on code originally for the Ten Tec RX320 by
A. Maitland Bottoms in November 2000. xtt516 is based on code
from Hector Peraza's rx320
X11 client, which uses the xclass
libraries.
The client ports easily to Linux or NetBSD.
Because xtt516 works with the X Window System, you can control your
Argonaut V using xtt516 by running the client on a PC directly attached
to the rig, from a workstation on your network, or via a wireless
connection using 802.11x. Here's a screenshot
of the xtt516 client from a Fedora Core 1 desktop. Here's a screenshot of the client running via a wireless
session under NetBSD on the IBM Z50 Workpad, a 131MHz MIPS CPU
notebook. I use NetBSD on
the IBM Z50 all the time.
I developed both programs on an IBM ThinkPad 390X running the Fedora
Core
1 distribution (available from http://fedora.redhat.com).
They are not perfect, nor complete, but they do support many of the
firmware commands
available in the transceiver.
Note that the Argonaut V firmware does not support volume, power, or
power out control (although power out may be queried) .
My Argonaut V has firmware 1.0.7. Your rig may have an older firmware
set, but you can upgrade your rig via http://www.rfsquared.com.
Documentation about the internal routines are in the Argonaut V
Programmer's Reference Guide, available at the site.
I welcome any additions, changes, or improvements. Keep in mind that
these clients were quick hacks I developed in order to test the rig's
computer
control capabilities. Most of the
documentation is in the source code, not the manual page.
The next two sections describe install and setup of the graphical
client and command-line program.
xtt516 Install and Setup
Make sure you have the xclass libs installed on your system. Download
the xclass tarball, decompress, the run the configure script in the
xclass directory:
$ ./configure
(NOTE: The current xclass release build will fail after running the
configure script. This is due to a few typos in the example-app source
file, menudef.h. Simply change every occurence of '{ NULL }, {' to
'NULL,
{' release in menudef.h, then run make again. There is a .diff
file for this fix on the SourceForge site, but a simple edit to
the source will do.)
Download
the xtt516 source tarball.
Next, decompress the software package:
$ tar xvzf
xtt516*gz
Change directory to the newly created directory:
$ cd xtt*
Execute the make command to build the software:
$ make
Attach your Ten Tec Argonaut V to your PC or notebook using a null
modem cable. Turn on the transceiver. Try the client:
$ ./xtt516
You may get an error dialog about the serial port (the default is
/dev/ttyS4). You'll need to right-click on a blank area of the client
window, click on Configure, then type in the desired serial port. Note
that you should have read and write permissions for the device. For
example (as root):
# chmod 666
/dev/ttyS0
If you are satisfied that all is working well, you can then install the
software and documentation (again, as root):
# make
install
tt516 Install and Setup
Important note: You'll need to specify
a serial port device on the command line, such as /dev/ttyS0 (which
equates to COM1, with ttyS1 = COM2, and so on). You can edit the source
to hardwire a specific port, then rebuild for
your platform if desired.
Download,
decompress,
and build the client:
$ tar xvzf
tt516*gz
$ cd tt*
$ make
Attach your Ten Tec Argonaut V to your PC or notebook using a null
modem cable (I used the cable included with my Ten Tec RX320, although
any null modem cable will work). The transceiver communicates at 1200
baud, 8-bit word length, no parity, one stop bit (12008N1). No software
or
hardware handshaking is supported by the transceiver. Note that no TTL
converter is required when using serial communications with the
Argonaut V!
Turn on the transceiver. The next step is to verify that your PC and
the transceiver can communicate. Use tt516's -d or --dev option to
specify a serial port, and the -w or --firmware option to
obtain the firmware version of your transceiver:
$ ./tt516 -d
/dev/ttyS0 -w
You can then attempt to perform a software reset using tt516's -r or
--reset
option:
$ ./tt516 -d
/dev/ttyS0 -r
Note that this option will NOT perform a 'hard' reset of your
transceiver, nor will it harm any memory channel settings! If you are
satisfied that all is working well, you can then install the software
and documentation:
$ make install
tt516 Commands
Here's a quick output list of tt516's commands (using the --help or -?
command-line options):
$ ./tt516 -?
tt516 0.1 -
Ten Tec Argonaut V (Model TT516) control program
This command
is used to control a high-frequency amateur radio transceiver.
Control is
via RS232 using 12008N1, no software or hardware handshaking.
Command-line
options are:
[--dev
port][-d n] - set serial port device
[--reset]
[-r] - reset radio
[--mode
m] [-m m] - change mode (A)M, (C)W, (F)M, (L)SB, (U)SB
[--filt
n] [-f n] - set bandwidth filter (1-36)
[--setfrq
n][-q n] - set frequency
[--split n]
[-p n] - set split mode (0-off, 1-on)
[--setVM
mm][-a mm] - set VFO (va, vb) or memory (m) mode
[--chan
n] [-c n] - recall memory channel (1-100)
[--recv]
[-e] - set receive mode
[--trans]
[-T] - set transmit mode
[--keyoff]
[-k] - turn internal keyer off
[--nb
n] [-b n] - set noise blanker level
(0-off, 1-9)
[--notrans]
[-n] - set no transmit mode
[--list]
[-l] - list filter settings
[--signal]
[-S] - display current signal level
[--help]
[-?] - display this message
[--version]
[-v] - display program version
[--firmware][-w]
- display TT516 firmware version
Some Command-line Examples
Here are a few notes on using tt516 at the command line. Note that
tt516 supports long and short commands, supported by the getopt_long()
function. Additional capabilities will be added to the software as I
have time (or if someone wishes to contribute ideas).
To set the frequency in VFO A to 18.157.5, you can use either of the
following commands:
$ tt516 -d
/dev/ttyS0 -q
a18157500
or
$ tt516
-d /dev/ttyS0 --setfrq a18157500
Note that using this command, which sets VFO A to 18.157.5 will not
change the transceiver to the specified VFO, but will set the VFO's
frequency (use a leading 'b' to set VFO B). To jump between VFOs use
the short or long set VFO command line, such as:
$ tt516 -d
/dev/ttyS0 -a va
which makes the specified VFO active (A in this example). You can also
combine these options in the correct order in order to jump directly to
different frequencies in different VFOs. For example:
$ tt516 --dev
/dev/ttyS0 -q b630000 -a vb
This sets VFO B to .630, then makes the VFO and frequency active.
You can instantly recall a previously set memory channel by using
either the long or short form of the memory recall command, such as:
$ tt516 -d
/dev/ttyS0 -c 1
which will recall, then make memory channel 1 (there are 100 in the
Argonaut V) active.
Note: memory channels retain frequency mode, bandwidth and other
settings, and thus, are quite convenient to use when jumping around the
bands on the 516!
Have fun and good luck! Hope to work you on HF!
72,
bill
Suggestions? Mail them to:
main(){int j=-1;char t[]="rfnqyt?%ggfqqEyz}3twl\n";
while(t[j]!='\n'){putchar(t[++j]-'\05');}return 0;}