grig - graphical user interface for the Ham Radio Control Libraries
Grig is a simple Ham Radio control (CAT) program based on the Ham Radio
Control Libraries. It is intended to be highly generic presenting the
user to the same graphical user interface regardless of which radio is
Grig does not store any radio configuration, instead it takes a number
of command line options.
select radio model number; see --list
set device of the radio, eg. /dev/ttyS0
set transfer rate (serial port only)
set CI-V address (decimal, ICOM only)
set additiional configuration parameters
set hamlib debug level (0..5)
set delay between commands in msec (see below)
use timeout calls instead of thread (see below)
list supported radios and exit
enable ptt control
enable power status control
show a brief help message and exit
show version information and exit
Example: Start grig using YAESU FT-990 connected to the first serial
port, using 4800 baud and debug level set to warning:
grig -m 116 -r /dev/ttyS0 -s 4800 -d 3
or if you prefer the long options:
grig --model=116 --rig-file=/dev/ttyS0 --speed=4800 --debug=3
It is usually enough to specify the model ID and the DEVICE.
If you start grig without any options it will use the Dummy backend and
set the debug level to 0 (RIG_DEBUG_NONE). If you do not specify the
transfer rate for the serial port, the default serial speed will be
used by the backend and even if you specify a value, it can be
overridden by the backend. If you omit the radio device (port) grig
will use /dev/ttyS0 or localhost if the selected radio is RPC-rig.
0 No debug, keep quiet.
1 Serious bug.
2 Error case (e.g. protocol, memory allocation).
4 Verbose information.
Grig has its own debug message handler, which will manage messages from
hamlib too. The messages are printed to STDERR by default but they can
be redirected to a file. In bash shell you would write something like:
grig [options] 2> grig.log
You can then use the Message Window in the View menu to view these
messages. The debug messages printed by grig a formatted in a
structured way with each line containing both time, source and level of
the message. Each field is separated with ;; so you can also import the
log file into a spread sheet for further analysis.
Grig 0.7.2 supports the most commonly used CAT command implemented by
hamlib. These include frequency, mode, filter and various level
settings. Please note that not all features have been thoroughly tested
since I don't have access to any modern high-end radios. Therefore,
comments regarding success or failure in using grig will be highly
KNOWN BUGS AND LIMITATIONS
Buffer Overflow in Radio
By default, grig tries to execute rig commands as fast as
possible in order to achieve an almost real-time remote control
experience. This strategy has turned out to cause problems with
some radios, probably because these radios acknowledge the
reception of a command before executing them, whereby the next
command will be sent before the previous one has terminated. To
avoid any possible buffer overflow in these situations, one can
try to experiment with the -D or --delay command line argument,
which will put the specified delay in between each executed
command. The default value is 10 milliseconds and the smallest
possible value is 1 millisecond (if one specifies 0 millisecond
on the command line, the default value will be
used). If you find a value which is better for your radio than
the default value, please let us know about it.
Daemon Never Starts on FreeBSD
There have been reports on that the new, thread-based daemon
process is never started on FreeBSD, while the old, timeout-
based daemon worked fine. It is therefore possible to choose the
two ways to run the daemon process. The default is the new
thread based daemon, but if you use FreeBSD and nothing seems to
work after start-up you can select the timout-based daemon with
the -n or --nothread command line option.
Once you have started grig you can not change the radio settings
(model, device, speed). You will have to restart the program if
you want to change any of these settings.
Grig can control only one radio at the time. There are, however,
no problems in starting several instances of grig as long as
they do not try to control the same radio. An exception to this
is the RPC-rig backend in which case the rpc rig daemon will act
as a server while grig or any other hamlib frontends will act as
Power OFF State
On some radios, grig does not cope very well with the power off
state. It is yet not known whether this is a bug in the hamlib
backend or in grig and we will definitely appreciate your input.
The situation gets even more complicated due to the fact that
different radios behave in a different ways when they are
powered OFF; some of them will continue to respond to remote
commands, while others will not. Even the same radio, like the
FT-817, can behave differently depending on whether it is
powered from internal batteries or external power supply. Grig
tries to handle this mess by suspending all rig commands while
in power OFF state. Only the power ON command will be sent to
the rig. By default, the power status control is disabled and
must explicitly be enabled using the -P or --enable-pwr command
Similar to the power state, the PTT has caused strange behaviour
on some radios. Consequently, it has been disabled by default
but can be enabled using the -p or --enable-ptt command line
Written by Alexandru Csete, OZ9AEC.
Report bugs to <email@example.com>.
Bugs related to hamlib should be reported directly to the hamlib
developers at <firstname.lastname@example.org>.
Copyright (C) 2001-2006 Alexandru Csete.
This is free software; see the source for copying conditions. There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR