Ham radio control libraries
C C++ Groff M4 Pascal Perl Other
Latest commit e1afcbd Jul 16, 2016 @N0NB committed on GitHub Merge pull request #24 from mdblack98/master
Updated smeter calibration for ic7300
Failed to load latest commit information.
adat Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
alinco Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
amsat Android build updates for monolithic build Sep 19, 2013
android Check for libusb-1.0/libusb.h Feb 15, 2016
aor Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
ars Clean up build system, fix test programs Dec 11, 2013
bindings New IC-M710 and IC-M802 backends Jan 24, 2015
c++ Implement combined split VFO frequency and mode setting. Mar 23, 2016
celestron Android build updates for monolithic build Sep 19, 2013
cnctrk Make cnctrk visible to rotctl Aug 22, 2015
doc Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
drake Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
dummy Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
easycomm easycomm: implement get/set config, easycom include status and error … Apr 5, 2015
ether6 Android build updates for monolithic build Sep 19, 2013
flexradio Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
fodtrack Android build updates for monolithic build Sep 19, 2013
gnuradio Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
gs232a Android build updates for monolithic build Sep 19, 2013
heathkit Android build updates for monolithic build Sep 19, 2013
icmarine New IC-M710 and IC-M802 backends Jan 24, 2015
icom Updated smeter cal for ic7300 Jun 10, 2016
include Merge branch 'master' of http://video.vreeken.net/~pe1rxq/hamlib-code Jun 5, 2016
jrc Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
kachina Android build updates for monolithic build Sep 19, 2013
kenwood Some more Kenwood rigs with no AI query May 21, 2016
kit Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
kylix 20060718: Jul 18, 2006
lib Fixes to termios.c on W32 targets Feb 22, 2015
lowe Android build updates for monolithic build Sep 19, 2013
m2 Android build updates for monolithic build Sep 19, 2013
macros Clean up build system, fix test programs Dec 11, 2013
microtune Clean up backend Makefile.am files Sep 17, 2013
miniVNA Clean up backend Makefile.am files Sep 17, 2013
pcr Fix a regression introduced in 222ad74 Apr 20, 2016
perl deprecated, use swig bindings/ instead Nov 5, 2002
prm80 Android build updates for monolithic build Sep 19, 2013
prosistel Add elevation code to Prosistel backend Jan 5, 2016
racal Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
rft Android build updates for monolithic build Sep 19, 2013
rotorez Implement precision set_position for RT-21 Sep 15, 2014
rs Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
sartek Android build updates for monolithic build Sep 19, 2013
scripts Add preferred astylerc configuration Feb 14, 2016
skanti Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
spid Android build updates for monolithic build Sep 19, 2013
src Adjust rig_list_foreach to allow use for unregistering Jun 10, 2016
tapr Android build updates for monolithic build Sep 19, 2013
tentec Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
tests Add support for GPIO PTT. May 28, 2016
ts7400 Android build updates for monolithic build Sep 19, 2013
tuner Android build updates for monolithic build Sep 19, 2013
uniden Android build updates for monolithic build Sep 19, 2013
winradio Properly exclude non-Linux/MS Windows build of G313 Nov 20, 2014
wj Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode a… Apr 19, 2016
yaesu added get/set_conf for FT1200, FT2000, FT450, FT5000 and FT9000 Jun 10, 2016
.gitignore Add preferred astylerc configuration Feb 14, 2016
AUTHORS Updates for 1.2.15 cycle Feb 3, 2012
Android.mk Android build updates for monolithic build Sep 19, 2013
COPYING Updated GPL 2/LGPL 2.1 licenses Aug 23, 2011
COPYING.LIB Updated GPL 2/LGPL 2.1 licenses Aug 23, 2011
ChangeLog Update outdated URL in ChangeLog Nov 30, 2014
INSTALL Migrating from libusb-0.1 to libusb-1.0 Feb 14, 2016
LICENSE LICENSE: Add 2012, format for 80 columns Oct 5, 2012
Makefile.am New IC-M700PRO backend Jan 21, 2015
NEWS NEWS: TS-590s fix Sep 20, 2015
PLAN * cosmetic changes Nov 1, 2000
README Updates to README files for changed library structure Sep 23, 2013
README.betatester Migrating from libusb-0.1 to libusb-1.0 Feb 14, 2016
README.developer Update README.developer for libusb-1.0 Mar 23, 2016
README.osx added instructions how to compile on OSX May 9, 2016
README.release ABI backward compatibility enhancement Oct 8, 2012
README.win32 Disable static builds by default Oct 11, 2012
Segfault-award Congrats Charles Feb 21, 2011
THANKS minor changes Jul 14, 2008
TODO Updates for 1.2.15 cycle Feb 3, 2012
TODO.skeleton Initial revision Jul 18, 2000
autogen.sh added instructions how to compile on OSX May 9, 2016
configure.ac Bump ABI revision due to recent API additions Apr 2, 2016
hamlib.m4 added quoting for newer autoconf [supplied by Thomas Klausner] Sep 28, 2005
hamlib.pc.in Fix pkg-config generation. Apr 2, 2014

README

Hamlib - (C) Frank Singleton 2000 (vk3fcs@ix.netcom.com)
         (C) Stephane Fillod 2000-2011
         (C) The Hamlib Group 2000-2012

The purpose of this project is to provide stable, flexible, shared libraries
that enable quicker development of Amateur Radio Equipment Control
Applications.

Many Amateur Radio Transceivers come with serial interfaces that allows
software to control the radio. This project will endeavour to provide shared
libraries that greatly simplify the application programmer's interaction
with radio equipment and other controllable devices such as rotators,
switches, etc.

Supported Radios
----------------

The Hamlib Wiki page, Supported Radios, contains a snapshot of the supported
radios at the time of the last Hamlib release.  Go to http://www.hamlib.org
to reach the Wiki.

Hamlib Design
-------------

The library provides functions for both radio and rotator control,
and data retrieval from the radio or rotator.  A number of functions useful
for calculating distance and bearing and grid square conversion are included.

libhamlib.so -  library that provides generic API for all RIG types.
    This is what Application programmers will "see".  Will have different
    names on other platforms, e.g. libhamlib-2.dll on MS windows.  Also
    contains all radio and rotator "backends" (formerly in their own
    dlopen'ed libraries) provided by Hamlib.

Backend Examples are:
---------------------

1. yaesu will provide connectivity to Yaesu FT 747GX Transceiver, FT 847
   "Earth Station", etc. via a standard API.

2. xxxx. will provide connectivity to the Wiz-bang moon-melter 101A (yikes..)

Hamlib will also enable developers to develop professional looking GUI's
towards a standard control library API, and they would not have to worry
about the underlying connection towards physical hardware.

Initially serial (RS232) connectivity will be handled, but we expect that IP
(and other) connectivity will follow afterwards.  Connection via a USB port
is accomplished via the Linux kernel support.  USB to serial converters are
well supported.  Other such devices may be supported as long as they present
a serial (RS-232) interface to Hamlib.

Availability
------------

Most distributions have the latest Hamlib release in their testing or alpha
versions of their distribution.  Check your package manager for the Hamlib
version included in your distribution.

Developing with Hamlib API
--------------------------

C language API documentation is at:

        http://www.hamlib.org/index.php?title=Documentation

Take a look at tests/README for more info on simple programming examples and
test programs.

C++ programming is supported and language bindings are available for Perl,
Python, and TCL.  A network daemon utility is also available for any
programming language that supports network sockets (even netcat!).


Recompiling
-----------

Hamlib is entirely developed using GNU tools, under various Linux systems.
The library may be recompiled by the familiar "three step":

        ./configure
        make
        sudo make install

See the INSTALL file for more information.

Contributing
------------

Consult the README.betatester and README.developer files in this directory
if you feel like testing or helping with Hamlib development.

Contributions of rig specifications and protocol documentation are highly
encouraged.  Do keep in mind that in some cases the manufacturer may not
provide complete control information or it is only available under a
Non-Disclosure Agreement (NDA).  Any documentation *must* be publicly
available so we can legally write and distribute Free Software supporting a
given device.

The Hamlib team is very interested to hear from you, how Hamlib builds and
works on your system, especially on non-Linux system or non-PC systems. We
try to make Hamlib as portable as possible.

Please report in case of problems at hamlib-developer@lists.sourceforge.net
Git email formatted patches or in unified diff format are welcome!

Also, take a look at http://sourceforge.net/projects/hamlib/ Here you will
find a mail list, link to the Wiki, and the latest releases.  Feedback,
questions, etc. about Hamlib are very welcome at the mail list:

        <hamlib-developer@lists.sourceforge.net>

Hamlib Version Numbers
----------------------

Like other software projects, Hamlib uses a version numbering scheme to help
program authors and users understand which releases are compatible and which
are not.  Hamlib releases now follow the format of:

Major.minor.incremental

Where

Major:  Currently at 3, but can be advanced when changes to the API require
client programs to be rewritten to take advantage of new features of
Hamlib.  This number has advanced a couple of times throughout the life of
Hamlib.  Advancement of the major number is only for frontend API changes
that require modification of client source.  ABI compatibility is presently
maintained to prior releases so that a program linked to an earlier
1.2.Y.[Z] release will work with a later 3.Y[.Z] release without
recompiling.  Itis our intention to maintain such ABI compatibility as long
as practical.

Minor:  This number advances when either new backend(s) or new rig
model(s) to existing backend(s) are added.  Advancing this number informs
client program authors (and users of those programs) that new model/backend
support has been added.  Will also include bug fixes since the last
Incremental release.

Incremental:    May be undefined (e.g. Hamlib 3.0) and would advance to 1
(e.g. Hamlib 3.0.1) for any bug fixes or feature additions to existing
model(s) or backend(s), then to 2, etc.  New rig models or backends are not
included in Incremental.  When Release is advanced, Incremental will reset
to undefined and will not be included as part of the version number.

Release schedule
----------------

Hamlib has in the past maintained a "ready when it's ready" philosophy.
However, given that much of the Linux user base is now influenced by the
Ubuntu distribution and its timed six month release schedule, Hamlib
releases will be scheduled in advance of Ubuntu releases.  Planned release
dates for Hamlib are now 1 February and 1 August of each calendar year.
Between those dates various Incremental releases will occur as development
warrants.


Have Fun / Frank S / Stephane F / The Hamlib Group

  73's de vk3fcs/km5ws / f8cfe