rigswr man page

rigswr — measure VSWR vs frequency using Hamlib.


rigswr [OPTION]... start_freq stop_freq [freq_step]


rigswr uses Hamlib to control a rig to measure VSWR vs frequency:
It scans frequencies from start_freq to stop_freq with a step of freq_step. For each frequency, it transmits at 25% of total POWER during 0.5 second in CW mode and reads VSWR.

Frequency and the corresponding VSWR are then printed on stdout.

To work correctly, rigswr needs a rig that can measure VSWR and a Hamlib backend that supports reading VSWR from the rig.

Keep in mind that Hamlib is BETA level software. While a lot of backend libraries lack complete rig support, the basic functions are usually well supported. The API may change without publicized notice, while an advancement of the minor version (e.g. 1.1.x to 1.2.x) indicates such a change.

Please report bugs and provide feedback at the e-mail address given in the Reporting Bugs section. Patches and code enhancements are also welcome.


This program follows the usual GNU command line syntax, with long options starting with two dashes (`-').

Here is a summary of the supported options:

-m, --model=id
Select radio model number. See model list (use 'rigctl -l').
-r, --rig-file=device
Use device as the file name of the port the radio is connected. Often a serial port, but could be a USB to serial adapter. Typically /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0, etc.
-s, --serial-speed=baud
Set serial speed to baud rate. Uses maximum serial speed from rig backend capabilities as the default.
-c, --civaddr=id
Use id as the CI-V address to communicate with the rig. Only useful for Icom rigs.
NB: the id is in decimal notation, unless prefixed by 0x, in which case it is hexadecimal.
-p, --ptt-file=device
Use device as the file name of the Push-To-Talk device using a device file as described above.
This is only needed if the radio doesn't have legacy PTT control.
-p, --ptt-type=type
Use type of Push-To-Talk device. Supported types are RIG, DTR, RTS, PARALLEL, NONE.
This is only needed if the radio doesn't have legacy PTT control.
-C, --set-conf=parm=val[,parm=val]*
Set config parameter. e.g. stop_bits=2
Use -L option of rigctl for a list.
-v, --verbose
Set verbose mode, cumulative (see Diagnostics below).
-h, --help
Show summary of these options and exit.
-V, --version
Show version of rigswr and exit.

NOTE! Some options may not be implemented by a given backend and will return an error. This is most likely to occur with the --set-conf option.


rigswr -m 209 -r /dev/ttyS1 14000000 14290000 50000 > cswr

Scans frequencies between 14.000 MHz and 14.200 MHz with 50 kHz step on a TS-850 and records VSWR measurements in file cswr.

After completion, cswr file contains the following lines:
14000000 1.50
14050000 1.31
14100000 1.22
14150000 1.07
14200000 1.07

Result could then be plotted with gnuplot:
set data style linespoints
set grid
plot "cswr"


The -v, --version option allows different levels of diagnostics to be output to stderr and correspond to -v for BUG, -vv for ERR, -vvv for WARN, -vvvv for VERBOSE, or -vvvvv for TRACE.

A given verbose level is useful for providing needed debugging information to the email address below. For example, TRACE output shows all of the values sent to and received from the radio which is very useful for radio backend library development and may be requested by the developers.

Exit Status

rigswr exits with:
0 if all operations completed normally;
1 if there was an invalid command line option or argument;
2 if an error was returned by Hamlib;
3 if the rig doesn't have the required capabilities.


Depending on keyer/QSK setup, transmissions in CW mode may not be modulated thus possibly giving a wrong result. Please report this situation if it happens.

Reporting Bugs

Report bugs to <hamlib-developer@lists.sourceforge.net>.
We are already aware of the bug in the previous section :-)


Written by Thierry Leconte, Stephane Fillod, and the Hamlib Group

See Also

rigctl(1), gnuplot(1), hamlib(3)


Explore man page connections for rigswr(1).