2007-10-15 00:52:59 +00:00
|
|
|
Hamlib - (C) Frank Singleton 2000 (vk3fcs@ix.netcom.com)
|
2011-01-13 12:08:12 +00:00
|
|
|
(C) Stephane Fillod 2000-2011
|
2022-11-10 14:03:43 +00:00
|
|
|
(C) The Hamlib Group 2000-2022
|
|
|
|
|
2010-01-28 22:44:56 +00:00
|
|
|
|
|
|
|
The purpose of this project is to provide stable, flexible, shared libraries
|
|
|
|
that enable quicker development of Amateur Radio Equipment Control
|
|
|
|
Applications.
|
2022-11-10 14:03:43 +00:00
|
|
|
The master repository is https://github.com/Hamlib/Hamlib
|
|
|
|
Daily snapshots are available at https://n0nb.users.sourceforge.net/
|
|
|
|
Development happens on the github master (often by
|
|
|
|
merging feature branches) and each release has a release branch.
|
2010-01-28 22:44:56 +00:00
|
|
|
|
|
|
|
Many Amateur Radio Transceivers come with serial interfaces that allows
|
|
|
|
software to control the radio. This project will endeavour to provide shared
|
2011-02-01 16:31:20 +00:00
|
|
|
libraries that greatly simplify the application programmer's interaction
|
|
|
|
with radio equipment and other controllable devices such as rotators,
|
|
|
|
switches, etc.
|
2010-01-28 22:44:56 +00:00
|
|
|
|
|
|
|
Supported Radios
|
|
|
|
----------------
|
|
|
|
|
|
|
|
The Hamlib Wiki page, Supported Radios, contains a snapshot of the supported
|
2011-06-13 03:33:28 +00:00
|
|
|
radios at the time of the last Hamlib release. Go to http://www.hamlib.org
|
2010-01-28 22:44:56 +00:00
|
|
|
to reach the Wiki.
|
|
|
|
|
|
|
|
Hamlib Design
|
|
|
|
-------------
|
2000-09-24 02:15:52 +00:00
|
|
|
|
2013-09-23 01:58:18 +00:00
|
|
|
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.
|
2010-01-28 22:44:56 +00:00
|
|
|
|
2013-09-23 01:58:18 +00:00
|
|
|
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.
|
2000-09-24 02:15:52 +00:00
|
|
|
|
|
|
|
Backend Examples are:
|
|
|
|
---------------------
|
2010-01-28 22:44:56 +00:00
|
|
|
|
2013-09-23 01:58:18 +00:00
|
|
|
1. yaesu will provide connectivity to Yaesu FT 747GX Transceiver, FT 847
|
|
|
|
"Earth Station", etc. via a standard API.
|
2000-07-18 20:55:08 +00:00
|
|
|
|
2013-09-23 01:58:18 +00:00
|
|
|
2. xxxx. will provide connectivity to the Wiz-bang moon-melter 101A (yikes..)
|
2000-07-18 20:55:08 +00:00
|
|
|
|
2010-01-28 22:44:56 +00:00
|
|
|
Hamlib will also enable developers to develop professional looking GUI's
|
|
|
|
towards a standard control library API, and they would not have to worry
|
2006-07-10 16:15:12 +00:00
|
|
|
about the underlying connection towards physical hardware.
|
2010-01-28 22:44:56 +00:00
|
|
|
|
|
|
|
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.
|
2000-07-18 20:55:08 +00:00
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
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
|
|
|
|
--------------------------
|
|
|
|
|
2020-05-20 22:08:21 +00:00
|
|
|
API documentation is at:
|
2011-06-13 03:33:28 +00:00
|
|
|
|
2020-05-20 22:08:21 +00:00
|
|
|
https://github.com/Hamlib/Hamlib/wiki/Documentation
|
2011-06-13 03:33:28 +00:00
|
|
|
|
|
|
|
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!).
|
|
|
|
|
|
|
|
|
2001-09-20 21:18:30 +00:00
|
|
|
Recompiling
|
|
|
|
-----------
|
|
|
|
|
2010-01-28 22:44:56 +00:00
|
|
|
Hamlib is entirely developed using GNU tools, under various Linux systems.
|
2011-06-13 03:33:28 +00:00
|
|
|
The library may be recompiled by the familiar "three step":
|
|
|
|
|
2022-10-21 13:19:46 +00:00
|
|
|
Note: if ./configure does not exist run ./bootstrap first
|
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
./configure
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
2021-07-15 04:13:17 +00:00
|
|
|
For debugging use this configure
|
|
|
|
./configure CFLAGS=-g -O0 -fPIC --no-create --no-recursio
|
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
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
|
2011-02-01 16:31:20 +00:00
|
|
|
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.
|
2010-01-28 22:44:56 +00:00
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
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.
|
2006-07-10 16:15:12 +00:00
|
|
|
|
2001-09-20 21:18:30 +00:00
|
|
|
Please report in case of problems at hamlib-developer@lists.sourceforge.net
|
2011-06-13 03:33:28 +00:00
|
|
|
Git email formatted patches or in unified diff format are welcome!
|
2001-09-20 21:18:30 +00:00
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
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:
|
2001-09-20 21:18:30 +00:00
|
|
|
|
2011-06-13 03:33:28 +00:00
|
|
|
<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:
|
|
|
|
|
2012-10-10 02:16:13 +00:00
|
|
|
Major.minor.incremental
|
2011-06-13 03:33:28 +00:00
|
|
|
|
|
|
|
Where
|
|
|
|
|
2021-08-17 20:08:17 +00:00
|
|
|
Major: Currently at 4, but can be advanced when changes to the API require
|
2012-10-10 02:16:13 +00:00
|
|
|
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
|
2021-08-17 20:08:17 +00:00
|
|
|
recompiling. It is our intention to maintain such ABI compatibility as long
|
2012-10-10 02:16:13 +00:00
|
|
|
as practical.
|
|
|
|
|
|
|
|
Minor: This number advances when either new backend(s) or new rig
|
2011-06-13 03:33:28 +00:00
|
|
|
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.
|
|
|
|
|
2012-10-10 02:16:13 +00:00
|
|
|
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
|
2011-06-13 03:33:28 +00:00
|
|
|
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.
|
2000-08-20 21:52:27 +00:00
|
|
|
|
|
|
|
|
2010-01-28 22:44:56 +00:00
|
|
|
Have Fun / Frank S / Stephane F / The Hamlib Group
|
2000-07-18 20:55:08 +00:00
|
|
|
|
2001-09-20 21:18:30 +00:00
|
|
|
73's de vk3fcs/km5ws / f8cfe
|
2000-10-07 20:52:22 +00:00
|
|
|
|