kopia lustrzana https://github.com/Hamlib/Hamlib
hamlib.texi: Chapter 1 draft
Complete draft of Chapter 1, including the Hamlib-design.png image from Martin, AA6E.Hamlib-3.0
rodzic
b223a624a4
commit
4a7e7ff103
Plik binarny nie jest wyświetlany.
Po Szerokość: | Wysokość: | Rozmiar: 8.6 KiB |
|
@ -1,6 +1,6 @@
|
||||||
EXTRA_DIST = hamlib.cfg index.doxygen hamlib.css footer.html
|
EXTRA_DIST = hamlib.cfg index.doxygen hamlib.css footer.html
|
||||||
|
|
||||||
dist_doc_DATA = hamlib.html hamlib.pdf
|
dist_doc_DATA = Hamlib_design.png hamlib.html hamlib.pdf
|
||||||
|
|
||||||
SRCDOCLST = ../src/rig.c ../src/rotator.c ../src/tones.c ../src/locator.c \
|
SRCDOCLST = ../src/rig.c ../src/rotator.c ../src/tones.c ../src/locator.c \
|
||||||
../src/event.c ../src/conf.c ../src/mem.c ../src/settings.c
|
../src/event.c ../src/conf.c ../src/mem.c ../src/settings.c
|
||||||
|
|
441
doc/hamlib.texi
441
doc/hamlib.texi
|
@ -2,6 +2,7 @@
|
||||||
@c %**start of header
|
@c %**start of header
|
||||||
@setfilename hamlib.info
|
@setfilename hamlib.info
|
||||||
@include version.texi
|
@include version.texi
|
||||||
|
@documentencoding UTF-8
|
||||||
@settitle Ham Radio Control Libraries @value{VERSION}
|
@settitle Ham Radio Control Libraries @value{VERSION}
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
|
@ -9,7 +10,7 @@
|
||||||
This manual is for the Ham Radio Control Libraries (version @value{VERSION}
|
This manual is for the Ham Radio Control Libraries (version @value{VERSION}
|
||||||
updated @value{UPDATED}), which is a development effort to provide a
|
updated @value{UPDATED}), which is a development effort to provide a
|
||||||
consistent programming interface for programmers wanting to incorporate
|
consistent programming interface for programmers wanting to incorporate
|
||||||
radio and rotator control into their programs.
|
radio and rotor control into their programs.
|
||||||
|
|
||||||
Copyright @copyright{} 2013 Nate Bargmann
|
Copyright @copyright{} 2013 Nate Bargmann
|
||||||
|
|
||||||
|
@ -42,79 +43,401 @@ License''.
|
||||||
|
|
||||||
@ifnottex
|
@ifnottex
|
||||||
@node Top
|
@node Top
|
||||||
@top Hamlib
|
@top Ham Radio Control Libraries
|
||||||
|
|
||||||
This manual is for Ham Radio Control Libraries (version @value{VERSION},
|
This manual is for Ham Radio Control Libraries (Hamlib) (version @value{VERSION},
|
||||||
@value{UPDATED}).
|
@value{UPDATED}).
|
||||||
@end ifnottex
|
@end ifnottex
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Copying and Redistribution::
|
* Copying and Redistribution::
|
||||||
* Hamlib in a Nutshell::
|
* Hamlib in a Nutshell::
|
||||||
|
* Getting started::
|
||||||
* GNU Free Documentation License::
|
* GNU Free Documentation License::
|
||||||
* Index::
|
* Working with Git::
|
||||||
|
* List of Figures::
|
||||||
|
* Concept Index::
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
|
||||||
@node Copying and Redistribution
|
@node Copying and Redistribution
|
||||||
@chapter Copying and Redistribution
|
@unnumbered Copying and Redistribution
|
||||||
|
@cindex Copying, redistribution
|
||||||
|
@cindex Redistribution, copying
|
||||||
|
@cindex Copyleft
|
||||||
|
|
||||||
This manual describes Hamlib, a programming library and various supplied
|
This manual documents Hamlib, a programming library and various supplied
|
||||||
programs, which is Free Software. Besides often being distributed at no
|
programs, which is
|
||||||
cost to you, Free in this context means that the copyright holders to
|
@url{http://en.wikipedia.org/wiki/Free_Software_Definition, Free
|
||||||
Hamlib have agreed to offer their collective work under terms that give you
|
Software, Free Software}. Besides often being distributed at no cost to
|
||||||
|
you, Free in this context means that the copyright holders to Hamlib
|
||||||
|
have agreed to offer their collective work under terms that give you
|
||||||
certain rights that allow you to modify and/or redistribute Hamlib under
|
certain rights that allow you to modify and/or redistribute Hamlib under
|
||||||
the same terms that you received it.
|
the same terms that you received it from them.
|
||||||
|
|
||||||
Such licensing is often termed ``copyleft'' as a play against the common
|
Such licensing is often termed
|
||||||
``all rights reserved'' terms of normal copyright. In general, copyleft
|
@url{http://en.wikipedia.org/wiki/Copyleft, copyleft, copyleft} as a
|
||||||
provides everyone with a license to modify and distribute the modified work
|
play against the common ``all rights reserved'' terms of normal
|
||||||
or to simply distribute a copyrighted work under certain terms. Hamlib
|
@url{http://en.wikipedia.org/wiki/Copyright, copyright, copyright}. In
|
||||||
source code is copyrighted by its authors and is licensed by them under two
|
general, copyleft provides everyone with a license to modify and
|
||||||
common licenses---the GNU Lesser General Public License (LGPL) for the
|
distribute the modified work or to simply distribute a copyrighted work
|
||||||
``front end'' and ``back end'' library source code files, and the GNU
|
under certain terms. Hamlib source code is copyrighted by its authors
|
||||||
General Public License (GPL) for the supplied programs source code files.
|
and is licensed by them under two common licenses---the
|
||||||
The full text of the LGPL and the GPL can be found in the files COPYING.LIB
|
@url{http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License, GNU
|
||||||
and COPYING in the root directory of the Hamlib source archive.
|
Lesser General Public License, GNU Lesser General Public License}
|
||||||
|
@acronym{LGPL} for the ``front end'' and ``back end'' library source
|
||||||
|
code files, and the
|
||||||
|
@url{http://en.wikipedia.org/wiki/GNU_General_Public_License, GNU
|
||||||
|
General Public License, GNU General Public License} @acronym{GPL} for
|
||||||
|
the supplied programs source code files. The full text of the LGPL and
|
||||||
|
the GPL can be found in the files COPYING.LIB and COPYING in the root
|
||||||
|
directory of the Hamlib source archive.
|
||||||
|
|
||||||
This manual is covered by the GNU Free Documentation License, with no
|
This manual is covered by the
|
||||||
invariant and no cover texts. Source code examples in this manual are
|
@url{http://en.wikipedia.org/wiki/GNU_Free_Documentation_License, GNU
|
||||||
parallel licensed under the GPL unless otherwise noted.
|
Free Documentation License, GNU Free Documentation License}
|
||||||
|
@acronym{GFDL} with no Invariant Sections, no Front-Cover Texts, and no
|
||||||
|
Back-Cover Texts. Source code examples in this manual are parallel
|
||||||
|
licensed under the GPL unless otherwise noted.
|
||||||
|
|
||||||
As part of the Copyleft nature of the licenses, the authors of Hamlib must
|
As part of the Copyleft nature of the licenses, the authors of Hamlib
|
||||||
forbid you from distributing Hamlib under terms that forbid others from
|
must forbid you from distributing Hamlib under terms that forbid others
|
||||||
exercising the same rights you received. You must give anyone you
|
from exercising the same rights you received. You must give anyone you
|
||||||
distribute Hamlib to the same rights to obtain, modify, and distribute the
|
distribute Hamlib to the same rights to obtain, modify, and distribute
|
||||||
Hamlib source code that you received nor may you license Hamlib under other
|
the Hamlib source code that you received nor may you license Hamlib
|
||||||
terms than those you received. Any recipients of Hamlib must be informed
|
under other terms than those you received. Any recipients of Hamlib
|
||||||
of the rights to the source code that they have received.
|
must be informed of the rights to the source code that they have
|
||||||
|
received.
|
||||||
|
|
||||||
Finally, the authors of Hamlib require that it be understood that no
|
@cindex NO WARRANTY
|
||||||
warranty of any kind is offered to anyone receiving the Hamlib source code
|
Finally, the authors of Hamlib require that it be understood that NO
|
||||||
distribution. Anyone distributing modified versions of Hamlib has the
|
WARRANTY of any kind is offered to anyone receiving the Hamlib source
|
||||||
responsibility to inform any recipients that what they have is not the
|
code distribution. Anyone distributing modified versions of Hamlib has
|
||||||
official release of Hamlib by its authors and should be prepared to support
|
the responsibility to inform any recipients that what they have is not
|
||||||
the modified version(s). This is to preserve the reputations of the Hamlib
|
the official release of Hamlib by its authors and should be prepared to
|
||||||
authors and the Hamlib Project. While it is not a requirement of the
|
support the modified version(s). This is to preserve the reputations of
|
||||||
licenses, it is courteous to offer modifications back to the Hamlib authors
|
the Hamlib authors and the Hamlib Project. While it is not a
|
||||||
for possible incorporation into their official release(s).
|
requirement of the licenses, it is courteous to offer modifications back
|
||||||
|
to the Hamlib authors for possible incorporation into their official
|
||||||
|
release(s).
|
||||||
|
|
||||||
|
|
||||||
|
@c ------------ Chapter ------------
|
||||||
@node Hamlib in a Nutshell
|
@node Hamlib in a Nutshell
|
||||||
@chapter Hamlib in a Nutshell
|
@chapter Hamlib in a Nutshell
|
||||||
|
@cindex Nutshell
|
||||||
|
|
||||||
Hamlib is a ``front end'' library providing a C language Application
|
The @dfn{Ham Radio Control Libraries}, @dfn{Hamlib} for short, is a
|
||||||
Programming Interface (API) that provides a ``virtual radio'' or ``virtual
|
development effort to provide a consistent interface for programmers
|
||||||
rotator'' to an application. The front end library uses a number of ``back
|
wanting to incorporate radio control in their programs.
|
||||||
end'' libraries to translate to individual radio models. Hamlib also
|
|
||||||
provides an interface library to several ``scripting'' languages such as
|
|
||||||
Perl, Python, and TCL (known as ``bindings''). A C++ language interface is
|
|
||||||
also provided.
|
|
||||||
|
|
||||||
Besides the C and supplemental APIs, Hamlib also provides a pair a network
|
Hamlib is not a complete user application, rather, it is a software
|
||||||
daemons that provide an API for controlling an attached radio or rotator
|
layer intended to make controlling various radios and other shack
|
||||||
through a network connection.
|
hardware much easier. Hamlib will allow authors of such software as
|
||||||
|
logging programs, digital communications programs, or those wanting to
|
||||||
|
develop the ultimate radio control software to concentrate on the user
|
||||||
|
interface and the basic function of the program rather than radio
|
||||||
|
control. Hamlib consists of several parts, the programming library,
|
||||||
|
utility programs, and library interfaces to other programming languages.
|
||||||
|
|
||||||
|
Most recent amateur radio transceivers allow external control of their
|
||||||
|
functions through a serial interface. Unfortunately, control commands
|
||||||
|
are not always consistent across a manufacturer's product line and each
|
||||||
|
manufacturer's product line differs greatly from its competitors.
|
||||||
|
|
||||||
|
Hamlib attempts to solve this problem by presenting a "virtual radio" to
|
||||||
|
the programmer by providing an interface to actions such as setting a
|
||||||
|
given VFO's frequency, setting the operating mode, querying the radio of
|
||||||
|
its current status and settings, and giving the application a list of a
|
||||||
|
given radio's capabilities. Unfortunately, what can be accomplished by
|
||||||
|
Hamlib is limited by the radios themselves and some offer very limited
|
||||||
|
capability.
|
||||||
|
|
||||||
|
Other devices, such as antenna rotors, can be placed into the Hamlib
|
||||||
|
control scheme. Other recent developments include network interface
|
||||||
|
servers and a USB interface capability. Language bindings are provided
|
||||||
|
for C, C++, Perl, Python, and TCL (more to come).
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Overview::
|
||||||
|
* The Hamlib project::
|
||||||
|
* Applications using Hamlib::
|
||||||
|
* Licensing implications::
|
||||||
|
* Radio cloning::
|
||||||
|
* Pronunciation::
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Overview
|
||||||
|
@section A view from the top of the tower
|
||||||
|
@cindex Overview
|
||||||
|
|
||||||
|
@cindex Front end library
|
||||||
|
@cindex Virtual radio
|
||||||
|
@cindex Virtual rotor
|
||||||
|
Hamlib is a @dfn{front end} library providing a @emph{C} language
|
||||||
|
Application Programming Interface @acronym{API} to programmers wishing
|
||||||
|
to integrate radio or rotor control in their applications. Hamlib
|
||||||
|
presents a @dfn{virtual radio} or @dfn{virtual rotor} that is a
|
||||||
|
consistent interface to an application despite wide differences in radio
|
||||||
|
and rotor interfaces and capabilities.
|
||||||
|
|
||||||
|
@cindex Back end library
|
||||||
|
The front end library uses a number of @dfn{back end} libraries to
|
||||||
|
translate from the front end to the various individual radio and
|
||||||
|
rotor models. A back end library handles conversion of the
|
||||||
|
front end variables to the format needed by the radio or rotor
|
||||||
|
device it controls. The back end libraries are generally grouped by
|
||||||
|
manufacturer and in some cases by a common control protocol.
|
||||||
|
|
||||||
|
@quotation
|
||||||
|
Since a picture is worth quite a few words, here is a visual representation
|
||||||
|
of Hamlib's design.
|
||||||
|
@ifhtml
|
||||||
|
@*@*
|
||||||
|
@end ifhtml
|
||||||
|
@float Figure, fig:img1
|
||||||
|
@image{Hamlib_design,,,Hamlib Design}
|
||||||
|
@caption{Hamlib design---@i{courtesy of Martin Ewing, AA6E}.}
|
||||||
|
@shortcaption{Hamlib design}
|
||||||
|
@end float
|
||||||
|
@*
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
@cindex Scripting languages
|
||||||
|
@cindex Languages, scripting
|
||||||
|
@cindex Interface, languages
|
||||||
|
Hamlib also provides an interface library for each of several common
|
||||||
|
@dfn{scripting} languages such as @url{http://www.perl.org, Perl, Perl},
|
||||||
|
@url{http://www.python.org, Python, Python}, and @url{http://www.tcl.tk,
|
||||||
|
TCL, TCL}. These language @dfn{bindings} are generated through the use
|
||||||
|
of @url{http://www.swig.org, SWIG, SWIG} a parser/generator for multiple
|
||||||
|
language interfaces to a C library. A native generated @emph{C++}
|
||||||
|
language interface is also provided.
|
||||||
|
|
||||||
|
@cindex Daemon, network
|
||||||
|
@cindex Network, daemon
|
||||||
|
Besides the C and supplemental APIs, Hamlib also provides a pair of
|
||||||
|
network daemons that provide a text command based API for controlling
|
||||||
|
an attached radio or rotor through a @emph{TCP/IP} network connection.
|
||||||
|
The daemons then handle the interface to the Hamlib C API.
|
||||||
|
|
||||||
|
More than one type of device, radio or rotor, may be controlled at a
|
||||||
|
time, however, there is generally a limit of one device per serial port
|
||||||
|
or other port.
|
||||||
|
|
||||||
|
@node The Hamlib project
|
||||||
|
@section Hamlib project information
|
||||||
|
@cindex Hamlib project
|
||||||
|
@cindex Project, Hamlib
|
||||||
|
|
||||||
|
The Hamlib Project was founded by Frank Singleton,VK3FCS/KM5WS in July
|
||||||
|
2000. Shortly after Stephane Fillod, F8CFE, joined Frank on the Hamlib
|
||||||
|
project and the API and implementation development led to a reasonable
|
||||||
|
level of maturity in a few years. A major milestone was reached when
|
||||||
|
Hamlib 1.2.0 was released in March 2004. The API and Application
|
||||||
|
Binary Interface (@acronym{ABI}) interfaces have remained stable since
|
||||||
|
that time up to the latest release of 1.2.15.3 in late 2012.
|
||||||
|
|
||||||
|
Development continues with a bump of the public version number to 3.0
|
||||||
|
(essentially simply dropping the ``1.'' of previous releases). While some
|
||||||
|
API tweaks are planned, ABI compatibility with the prior 1.2.@i{x}
|
||||||
|
releases remains a priority. Other goals include streamlining the
|
||||||
|
build system (done), improving the SWIG generated language bindings
|
||||||
|
(in progress), improving the overall documentation (this manual, in
|
||||||
|
progress), and other updates as warranted.
|
||||||
|
|
||||||
|
The Project is hosted by @url{https://sourceforge.net/,
|
||||||
|
SourceForge.net} at the @url{https://sourceforge.net/projects/hamlib/,
|
||||||
|
Hamlib project page} and the
|
||||||
|
@url{http://sourceforge.net/apps/mediawiki/hamlib/index.php, Hamlib
|
||||||
|
Wiki}.
|
||||||
|
|
||||||
|
Development discussion and most user support take place on the
|
||||||
|
@url{https://sourceforge.net/p/hamlib/mailman/, hamlib-developer mailing
|
||||||
|
list}. While there are
|
||||||
|
@url{https://sourceforge.net/p/hamlib/discussion/, SourceForge.net
|
||||||
|
discussion forums}, they are rarely used and not as closely read by the
|
||||||
|
developers as the mailing list.
|
||||||
|
|
||||||
|
For @dfn{source code management}, the project uses
|
||||||
|
@url{http://git-scm.com/, Git}, a fast, distributed content tracker.
|
||||||
|
Among its features is that every developer has the complete Hamlib
|
||||||
|
development history available locally. While a canonical Git
|
||||||
|
repository is hosted as SourceForge, its availability is not essential to
|
||||||
|
continued development, although development work flows would change
|
||||||
|
temporarily. For more information on using Git, @pxref{Working with
|
||||||
|
Git}.
|
||||||
|
|
||||||
|
@quotation Note
|
||||||
|
The SourceForge.net Web interface to the Hamlib Git repository is
|
||||||
|
currently broken (a ticket is pending) as of late February, 2013. A
|
||||||
|
mirror exists at @url{https://github.com/N0NB/hamlib, GitHub} which
|
||||||
|
supports browsing via the Web and other Git commands. Access of the
|
||||||
|
SF.net repository by other means (SSH or Git protocols) is unaffected
|
||||||
|
by this issue.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
@node Applications using Hamlib
|
||||||
|
@section Applications using Hamlib
|
||||||
|
@cindex Hamlib applications
|
||||||
|
@cindex Applications, using Hamlib
|
||||||
|
|
||||||
|
A number of application developers have taken advantage of Hamlib's
|
||||||
|
capabilities to implement radio and/or rotor control. While not
|
||||||
|
exhaustive, a list is maintained at the Hamlib Wiki,
|
||||||
|
@url{https://sourceforge.net/apps/mediawiki/hamlib/,
|
||||||
|
Applications/Screenshots}. Developers are encouraged to request their
|
||||||
|
applications be added to the gallery by way of the hamlib-developer
|
||||||
|
mailing list.
|
||||||
|
|
||||||
|
@node Licensing implications
|
||||||
|
@section Using Hamlib with your program
|
||||||
|
@cindex Hamlib licensing
|
||||||
|
@cindex Licensing, Hamlib
|
||||||
|
|
||||||
|
As with other Free Software projects, Hamlib relies heavily on copyleft
|
||||||
|
licensing to encourage development contributions and provide an open
|
||||||
|
atmosphere for development. Hamlib's source code is released under two
|
||||||
|
licenses, the @acronym{LGPL} for the library portion, and the
|
||||||
|
@acronym{GPL} for the utility programs.
|
||||||
|
|
||||||
|
The LGPL allows the library to be used (linked) by programs regardless
|
||||||
|
of their individual license. However, any contributions to the library
|
||||||
|
source remain under copyleft which means that the library source code
|
||||||
|
may not be used in violation of the terms of the LGPL.
|
||||||
|
|
||||||
|
The utility program source files are released under the GPL. Any direct
|
||||||
|
use of these sources must be in a form that complies with the terms of
|
||||||
|
the GPL. Concepts learned by studying these sources for the purpose of
|
||||||
|
understanding the Hamlib API is not covered nor prohibited by the GPL,
|
||||||
|
however, directly copying GPL sources into any work that is incompatible
|
||||||
|
with the terms of the GPL is prohibited.
|
||||||
|
|
||||||
|
@xref{Copying and Redistribution}.
|
||||||
|
|
||||||
|
@node Radio cloning
|
||||||
|
@section Radios with a clone capability
|
||||||
|
@cindex Radio cloning
|
||||||
|
@cindex Cloning, radio
|
||||||
|
|
||||||
|
Hamlib's focus is on controlling rigs that employ a port and command
|
||||||
|
protocol for setting frequency, mode, VFO, PTT, etc. Most VHF/UHF
|
||||||
|
transceivers do not employ such control capability but do provide for
|
||||||
|
cloning the memory contents from radio to another of the same model. A
|
||||||
|
related project, @url{http://chirp.danplanet.com/, CHIRP}, aims to
|
||||||
|
support rigs with such a clone capability. Please contact the CHIRP
|
||||||
|
project for support of such rigs.
|
||||||
|
|
||||||
|
@node Pronunciation
|
||||||
|
@section Pronouncing Hamlib
|
||||||
|
@cindex Pronouncing Hamlib
|
||||||
|
@cindex Hamlib, pronouncing
|
||||||
|
|
||||||
|
English speakers seem to have two alternate pronunciations for our
|
||||||
|
project:
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item Hamlib (Ham - lib, long "i", as in library.) IPA style: /'ham læb/
|
||||||
|
@item Hamlib (Ham - lib, short "i", as in liberty.) IPA style: /'ham lɪb/
|
||||||
|
@end itemize
|
||||||
|
|
||||||
|
Then again, we have people who say Linux "L-eye-nux" and those who say
|
||||||
|
"L-in-nux"...
|
||||||
|
|
||||||
|
If you're French, the above does not apply! :-)
|
||||||
|
|
||||||
|
|
||||||
|
@c ------------ Chapter ------------
|
||||||
|
@node Getting started
|
||||||
|
@chapter Getting started
|
||||||
|
|
||||||
|
There are several ways to obtain a working installation of Hamlib. In
|
||||||
|
the following sections discuss installing from a package manager,
|
||||||
|
building from source, and installing Hamlib project supplied binaries on
|
||||||
|
Microsoft Windows@registeredsymbol{}.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Unix binary packages::
|
||||||
|
* Source options::
|
||||||
|
* Building from source::
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Unix binary packages
|
||||||
|
@section Installing binary packages on Linux and BSD
|
||||||
|
@cindex Binary packages, Linux, BSD
|
||||||
|
@cindex Linux binary packages
|
||||||
|
@cindex BSD binary packages
|
||||||
|
|
||||||
|
The easiest way to install a released version of Hamlib on a Linux based
|
||||||
|
distribution or a BSD variant is through the provided @dfn{package
|
||||||
|
manager}. While package managers vary according to the distribution
|
||||||
|
(it's easy to lump BSD variants in this group too) their end goal is to
|
||||||
|
provide ready to use packages. Since such a wide variety of package
|
||||||
|
managers exist, it is best to recommend that the documentation for your
|
||||||
|
chosen distribution be your guide.
|
||||||
|
|
||||||
|
|
||||||
|
@node Source options
|
||||||
|
@section A variety of Hamlib sources
|
||||||
|
|
||||||
|
Distribution packages are most often official Hamlib releases and in
|
||||||
|
some cases could be quite old and lacking support for newer radios or
|
||||||
|
rotors. In some cases support is improved in existing radio or
|
||||||
|
rotor back ends and bugs are fixed. Often times to get improved
|
||||||
|
support building from source will be required. Relax, it's not hard.
|
||||||
|
:-)
|
||||||
|
|
||||||
|
Source code is available as official releases, testing snapshots, and
|
||||||
|
the bleeding edge of development. As a rule, even the bleeding edge
|
||||||
|
tarballs should configure and compile without error even though certain
|
||||||
|
implementation work may be in progress and be incomplete or have errors.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* Source releases::
|
||||||
|
* Source snapshots::
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node Source releases
|
||||||
|
@subsection Getting released source
|
||||||
|
@cindex Getting released source
|
||||||
|
@cindex Source, getting released
|
||||||
|
@cindex Source, obtaining releases
|
||||||
|
|
||||||
|
Official Hamlib source releases, commonly called @dfn{tarballs} can be
|
||||||
|
found on the @url{http://sourceforge.net/projects/hamlib/files/hamlib/,
|
||||||
|
SourceForge.net Hamlib files} Web page. The most recent release is
|
||||||
|
listed first.
|
||||||
|
|
||||||
|
@node Source snapshots
|
||||||
|
@subsection Getting source snapshots
|
||||||
|
@cindex Getting source snapshots
|
||||||
|
@cindex Source, getting snapshots
|
||||||
|
@cindex Source, obtaining snapshots
|
||||||
|
@cindex Source, daily snapshots
|
||||||
|
|
||||||
|
Testing release candidates and daily snapshots of the development
|
||||||
|
repository are available via the World Wide Web from
|
||||||
|
@url{http://n0nb.users.sourceforge.net/, Hamlib Git daily snapshots}.
|
||||||
|
These are not official releases but are provided for testing new
|
||||||
|
features and bug fixes.
|
||||||
|
|
||||||
|
|
||||||
|
@node Building from source
|
||||||
|
@section Building from source
|
||||||
|
@cindex Building from source
|
||||||
|
@cindex Source, building from
|
||||||
|
|
||||||
|
Building from source will be required for various reasons including an
|
||||||
|
older version provided by your distribution, you'd like to test recent
|
||||||
|
changes to Hamlib---either a specific back end or API changes---and offer
|
||||||
|
a report to the developers, or you'd like to take part in development
|
||||||
|
and offer your contribution to the project, of you'd just like to learn
|
||||||
|
how to build a relatively comprehensive package from source. Let's get
|
||||||
|
started.
|
||||||
|
|
||||||
|
|
||||||
|
@c ----------------- Appendixes start here ------------------
|
||||||
|
|
||||||
More than one device may be controlled at a time, however, there is
|
|
||||||
generally a limit of one device per serial port, etc.
|
|
||||||
|
|
||||||
@node GNU Free Documentation License
|
@node GNU Free Documentation License
|
||||||
@appendix GNU Free Documentation License
|
@appendix GNU Free Documentation License
|
||||||
|
@ -122,8 +445,20 @@ generally a limit of one device per serial port, etc.
|
||||||
@include fdl.texi
|
@include fdl.texi
|
||||||
|
|
||||||
|
|
||||||
@node Index
|
@node Working with Git
|
||||||
@unnumbered Index
|
@appendix Working with Git
|
||||||
|
|
||||||
|
Git offers a myriad of commands and options. Fortunately, only a few
|
||||||
|
are needed for Hamlib development.
|
||||||
|
|
||||||
|
|
||||||
|
@node List of Figures
|
||||||
|
@unnumbered List of Figures
|
||||||
|
@listoffloats Figure
|
||||||
|
|
||||||
|
|
||||||
|
@node Concept Index
|
||||||
|
@unnumbered Concept Index
|
||||||
|
|
||||||
@printindex cp
|
@printindex cp
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue