Provided by: libhamlib-utils_4.5.5-4build1_amd64 bug

NAME

       hamlib-utilties - radio and rotator control utilities of Hamlib

DESCRIPTION

       Included  with  the Hamlib distribution are several utility programs.  Besides providing a
       way for developers to test new code and bug fixes, the programs  also  offer  a  reference
       implementation  for  interfacing  to  the  Hamlib library functions both through the C API
       (Application Programming Interface) and offering a network accessible API.

       This page summarizes the three test programs, ampctl(1) for testing amplifier  back  ends,
       rigctl(1) for testing radio back ends, and rotctl(1) for testing rotator back ends and the
       three network daemons, ampctld(1), rigctld(1), and rotcltd(1) for  amplifier,  radio,  and
       rotator  access  via  network  sockets.   Also included are three demonstration utilities,
       rigmem(1), rigsmtr(1), and rigswr(1) which provide functional examples of how  Hamlib  may
       be used to accomplish various tasks.

rigctl

       rigctl(1)  is  the  most frequently used Hamlib utility.  As the other ctl utilities share
       many of the same characteristics, much of the introductory information presented  in  this
       section is applicable to the other utility programs.

   Introduction to rigctl
       Most likely the first of the Hamlib utility programs that is used is rigctl(1).  rigctl is
       a character based interactive program and a command line program able to set  or  query  a
       radio's  value  with a single command.  rigctl is invoked from a shell command prompt with
       various options and additional commands.

       In its most simple use as a command line program, rigctl is used to set frequency and mode
       by typing commands after any rigctl options:

           rigctl F 14205000
           rigctl M USB 2400

       and then query those values:

           rigctl f
           rigctl m

       Entering  interactive mode is a simple matter of not placing any commands after any rigctl
       options:

           rigctl

       Entering interactive mode allows successive commands to be entered without exiting rigctl.
       Recent  additions  to  rigctl  allow command editing and history recall through use of the
       Readline ⟨https://tiswww.case.edu/php/chet/readline/rltop.html⟩ library.

       Interactive mode is indicated by the spartan prompt:

           Rig command:

       Commands are given at the prompt and follow the general rule that upper case letters set a
       value and lower case letters query a value:

           Rig command: M
           Mode: USB
           Passband: 2500

           Rig command: m
           Mode: USB
           Passband: 2500

           Rig command:

       An  additional  prompt is printed when more information is required by the command.  For M
       above, rigctl prompted for the Mode and Passband values.  For m above, rigctl returned the
       Mode  and  Passband  values without further prompts.  The command prompt is returned after
       each command invocation.

       The above examples invoked rigctl without specifying a radio model.   This  is  a  feature
       where  the Hamlib internal radio model 1 dummy is used.  The dummy radio provides a way to
       test Hamlib functions without the need for actual radio hardware.  However, to develop the
       Hamlib  backend  capability  for  a  given radio, having the actual radio connected to the
       computer is necessary for debugging.

       For example, to quickly set frequency on an Elecraft K3:

           rigctl -m 2029 -r /dev/rig F 3900000

       and to query the frequency and then mode:

           rigctl -m 2029 -r /dev/rig f
           3900000

           rigctl -m 2029 -r /dev/rig m
           LSB
           2000

              Note:  the  returned  values  do  not  have  the  prompt  strings  associated  with
              interactive mode as shown above.

       The -m option takes a numeric value that corresponds to a given radio back end model.  The
       -r option takes the path to the port device on POSIX and  the  device  name  on  Microsoft
       Windows.

              Note:  A  complete  list  of  supported  radio  models may be seen by use of the -l
              option:

           rigctl -l
            Rig #  Mfg              Model         Version    Status
                1  Hamlib           Dummy         0.5        Beta
                2  Hamlib           NET rigctl    0.3        Beta
             1001  Yaesu            FT-847        0.5        Beta
             1003  Yaesu            FT-1000D      0.0.6      Alpha
           .
           .
           .
            27002  Rohde&Schwarz    EB200         0.1        Untested
            28001  Philips/Simoco   PRM8060       0.1        Alpha
            29001  ADAT www.adat.ch ADT-200A      1.36       Beta

       The  list  is  long  so  use  Shift-PageUp/Shift-PageDown  on   Linux,   ScrollLock   then
       PageUp/PageDown  on  Free  BSD,  or  use the scrollbar to the virtual terminal window (cmd
       window on Microsoft Windows) or the output can be  piped  to  more(1)  or  less(1),  e.g.,
       “rigctl  -l  |  more” to scroll back up the list.  The list is sorted numerically by model
       number since Hamlib 1.2.15.1.  Model numbers of a manufacturer/protocol family are grouped
       together.

   rigctl reference
       The complete reference for rigctl can be found in the rigctl(1) manual page.

rotctl

       Identical  in  function  to  rigctl(1),  rotctl(1)  provides  a  means  for testing Hamlib
       functions useful for rotator control and QTH (Maidenhead gridsquare system, see Maidenhead
       Locator    System    ⟨https://en.wikipedia.org/wiki/Maidenhead_Locator_System⟩)    locator
       computations.  As rotators have a much narrower scope than radios, there are fewer command
       line options and commands for rotctl.

   Introduction to rotctl
       rotctl(1)  is a character based interactive program and a command line program able to set
       or query a rotator's value with a single command.  rotctl is invoked from a shell  command
       prompt with various options and additional commands.

       In  its  most simple use as a command line program, rotctl is used to set azimuth position
       and (optionally) elevation by typing commands after any rotctl options:

           rotctl P 145.0 23.0
           rotctl M 8 25

       and then query those values:

           rotctl p

       Entering interactive mode is a simple matter of not placing any commands after any  rotctl
       options:

           rotctl

       Entering interactive mode allows successive commands to be entered without exiting rotctl.
       Interactive mode allows for command editing and history recall  through  the  use  of  the
       Readline ⟨https://tiswww.case.edu/php/chet/readline/rltop.html⟩ library.

       Interactive mode is indicated by the spartan prompt:

           Rotator command:

       Commands are given at the prompt:

           Rotator command: M
           Direction: 16
           Speed: 60

           Rotator command: p
           Azimuth: 11.352000
           Elevation: 0.000000

           Rotator command: p
           Azimuth: 27.594000
           Elevation: 0.000000

           Rotator command:

       An  additional  prompt is printed when more information is required by the command.  For M
       above, rotctl prompted for the Direction and Speed values.  For p above,  rotctl  returned
       the  Azimuth and Elevation values without further prompts.  The command prompt is returned
       after each command invocation.

       The above examples invoked rotctl without specifying a rotator model.  This is  a  feature
       where  the  Hamlib  internal  rotator  model  1  dummy is used instead.  The dummy rotator
       provides a way to test Hamlib functions without the  need  for  actual  rotator  hardware.
       However,  to develop back end capability for a given rotator, having the actual controller
       connected to the computer is necessary for debugging.

       For example, to quickly set position for RotorEZ:

           rotctl -m 401 -r /dev/rotor P 100.0 0.0

       and to query the position:

           rotctl -m 401 -r /dev/rotor p
           100.000000
           0.000000

       The returned values do not have the prompt strings associated  with  interactive  mode  as
       shown above.

       The  -m  option  takes a numeric value that corresponds to a given rotator back end model.
       The -r option takes the path to the port device on POSIX or the device name  on  Microsoft
       Windows.

              Note:  A  complete  list  of  supported rotator models may be seen by use of the -l
              option:

           rotctl -l
            Rot #  Mfg              Model         Version    Status
                1  Hamlib           Dummy         0.5        Beta
                2  Hamlib           NET rotctl    0.3        Beta
              201  Hamlib           EasycommI     0.3        Beta
              202  Hamlib           EasycommII    0.3        Beta
           .
           .
           .
             1201  AMSAT            IF-100        0.1        Untested
             1301  LA7LKA           ts7400        0.1        Beta
             1401  Celestron        NexStar       0.1        Untested

       The  list  is  long  so  use  Shift-PageUp/Shift-PageDown  on   Linux,   ScrollLock   then
       PageUp/PageDown  on  Free  BSD,  or  use the scrollbar to the virtual terminal window (cmd
       window on Microsoft Windows) or the output can  be  piped  to  more(1)  or  less(1),  e.g.
       “rotctl  -l  |  more” to scroll back up the list.  The list is sorted numerically by model
       number since Hamlib 1.2.15.1.  Model numbers of a manufacturer/protocol family are grouped
       together.

   rotctl reference
       The complete reference for rotctl can be found in the rotctl(1) manual page.

ampctl

       The  ampctl(1)  utility  is a recent addition to the Hamlib utilities as a part of the 4.0
       development cycle.  It is intended to test the Hamlib implementation of amplifier  control
       and  is  similar  in  function  to  the utilities previously described.  See the ampctl(1)
       manual page for the complete reference.

rigctld

       The rigctld(1) program is a network server that accepts the familiar commands of rigctl(1)
       and  provides  the  response data over a TCP/IP network socket to an application.  In this
       manner an application can access a rigctld  instance  from  nearly  anywhere  (caveat,  no
       security  is  currently  provided  by  rigctld).   Applications  using rigctld do not link
       directly to Hamlib nor use its C API.

   Introduction to rigctld
       rigctld(1) communicates to a client through a  TCP  network  socket  using  text  commands
       shared  with  rigctl(1).  The protocol is simple; commands are sent to rigctld on one line
       and rigctld responds to get commands  with  the  requested  values,  one  per  line,  when
       successful,  otherwise,  it  responds  with  one line RPRT x, where x is a negative number
       indicating the Hamlib error code.  Commands that do not return  values  respond  with  the
       line  RPRT  x, where x is zero when successful, otherwise a negative number indicating the
       Hamlib error code.  Each line is terminated with a newline, \n, character.  This  protocol
       is primarily for use by the NET rigctl (radio model 2) backend.

       A  separate  Extended Response protocol extends the above behavior by echoing the received
       command string as a header, any returned values as a key:  value  pair,  and  the  RPRT  x
       string  as  the end of response marker which includes the Hamlib success or failure value.
       Consider using this protocol for clients that will interact with rigctld directly  through
       a TCP network socket.

       Multiple  radios  can  be  controlled  on  different  TCP ports by use of multiple rigctld
       processes each listening on a  unique  TCP  port.   It  is  hoped  that  rigctld  will  be
       especially  useful for client authors using languages such as Perl ⟨http://www.perl.org/⟩,
       Python   ⟨http://www.python.org/⟩,   PHP   ⟨http://php.net/⟩,    Ruby    ⟨http://www.ruby-
       lang.org/en/⟩, TCL ⟨http://www.tcl.tk/⟩, and others.

   rigctld reference
       The complete reference for rigctld can be found in the rigctld(1) manual page.

rotctld

       The rotctld(1) program is a network server that accepts the familiar commands of rotctl(1)
       and provides the response data over a TCP/IP network socket to an  application.   In  this
       manner  an  application  can  access  a  rotctld instance from nearly anywhere (caveat, no
       security is currently provided by  rotctld).   Applications  using  rotctld  do  not  link
       directly to Hamlib nor use its C API.

   Introduction to rotctld
       rotctld(1)  communicates  to  a  client  through  a TCP network socket using text commands
       shared with rotctl(1).  The protocol is simple, commands are sent to rotctld on  one  line
       and  rotctld  responds  to  get  commands  with  the  requested values, one per line, when
       successful, otherwise, it responds with one line RPRT x, where  x  is  a  negative  number
       indicating  the  Hamlib  error  code.  Commands that do not return values respond with the
       line RPRT x, where x is zero when successful, otherwise a negative number  indicating  the
       Hamlib  error  code.  Each line is terminated with a newline, \n character.  This protocol
       is primarily for use by the NET rotctl (rotator model 2) backend.

       A separate Extended Response protocol extends the above behavior by echoing  the  received
       command  string  as  a  header,  any  returned values as a key: value pair, and the RPRT x
       string as the end of response marker which includes the Hamlib success or  failure  value.
       Consider  using this protocol for clients that will interact with rotctld directly through
       a TCP network socket.

       Multiple rotators can be controlled on different TCP ports  by  use  of  multiple  rotctld
       processes  each  listening  on  a  unique  TCP  port.   It  is  hoped that rotctld will be
       especially useful for client authors using languages such as Perl  ⟨http://www.perl.org/⟩,
       Python    ⟨http://www.python.org/⟩,    PHP   ⟨http://php.net/⟩,   Ruby   ⟨http://www.ruby-
       lang.org/en/⟩, TCL ⟨http://www.tcl.tk/⟩, and others.

   rotctld reference
       The complete reference for rotctld can be found in the rotctld(1) manual page.

ampctl

       The ampctld(1) utility is a recent addition to the Hamlib utilities as a part of  the  4.0
       development  cycle.   It  provides  network socket access for the Hamlib implementation of
       amplifier control  and  is  similar  in  function  to  the  network  utilities  previously
       described.  See the ampctld(1) manual page for the complete reference.

rigmem

       rigmem may be used to backup and restore memory of radio transceivers and receivers.

   Introduction to rigmem
       Backup  and  restore  memory of radio transceivers and receivers.  rigmem accepts commands
       from the command line only.

   rigmem reference
       The complete reference for rigmem can be found in the rigmem(1) manual page.

rigsmtr

       rigsmtr uses Hamlib to control a radio to measure S-Meter value versus antenna azimuth.

   Introduction to rigsmtr
       rigsmtr rotates the antenna from minimum azimuth to maximum  azimuth.   Every  second,  or
       time_step  if  specified  in seconds, it retrieves the signal strength. Azimuth in degrees
       and the corresponding S-Meter level in dB relative to S9 are then printed on stdout.

       To work correctly, rigsmtr needs a radio that could measure S-Meter and a  Hamlib  backend
       that is able to retrieve it, connected to a Hamlib supported rotator.

   rigsmtr reference
       The complete reference for rigsmtr can be found in the rigsmtr(1) manual page.

rigswr

       rigswr may be used to measure VSWR vs frequency.

   Introduction to rigswr
       rigswr uses Hamlib to control a radio to measure VSWR (Voltage Standing Wave Ratio) over a
       frequency range.

       It scans frequencies from start_freq to stop_freq with an optional increment of  freq_step
       (default  step is 100 kHz).  All values must be entered as an integer in Hertz (cycles per
       second).

       Note: rigswr assumes that start_freq is less  than  or  equal  to  stop_freq.   If  it  is
       greater, rigswr will exit without doing anything.

       For  each  frequency,  rigswr 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 radio that can measure VSWR and a  Hamlib  backend  that
       supports reading VSWR from the radio.

   rigswr reference
       The complete reference for rigswr can be found in the rigswr(1) manual page.

COPYING

       This  file  is  part  of  Hamlib, a project to develop a library that simplifies radio and
       rotator control functions for developers  of  software  primarily  of  interest  to  radio
       amateurs and those interested in radio communications.

       Copyright © 2001-2020 Hamlib Group (various contributors)

       This is free software; see the file COPYING for copying conditions.  There is NO warranty;
       not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

       less(1), more(1), ampctl(1), ampctld(1),  rigctl(1),  rigctld(1),  rotctl(1),  rotctld(1),
       rigmem(1), rigsmtr(1), rigswr(1), hamlib(7), hamlib-primer(7)

COLOPHON

       Links  to  the  Hamlib Wiki, Git repository, release archives, and daily snapshot archives
       are available via hamlib.org ⟨http://www.hamlib.org⟩.