ether6:  New rotor backend from Jonny, DG9OAA

I have now written a new rotor control based on an Atmel ethernet board
and used with me. It works well so far.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Patch submission for IC-756

73
Bill.

>From 5209463ba169516543e2666b8b3a98b605c362e6 Mon Sep 17 00:00:00 2001
From: Bill Somerville <g4wjs@classdesign.com>
Date: Sat, 20 Jul 2013 01:45:01 +0100
Subject: [PATCH] All IC-756 varieties have MAIN/SUB VFOs rather than A/B VFOs

In the past IC-756ProIII capabiities have been updated to use MAIN/SUB VFO
commands but as far as I can tell from the user manuals for the IC-756,
IC-756Pro, IC-756Pro2 all varieties have the MAIN/SUB VFOs and need to use
the correct VFO access sub command.

I have an IC-756 and discovered this defect via WSJT-X which as of v1.1
requires split operation setup.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
elecraft.c: Quell compiler warning of buffer size

GCC 4.8.x revealed an error in the way the destination buffer size was
calculated for storing the K3 firmware revision.  Now, instead of
declaring the array in the kenwood_priv_data structure, it is declared
as static in elecraft.c and a pointer is now assigned in the
kenwood_priv_data structure.  This allows for proper calculation of the
array size for strncpy().
MinGW build: Fix sleep() substitution

MinGW does not natively support the POSIX sleep() function so we have
had an override that was a part of the GR_PWIN32 macro and included in
the generated config.h file.  When compiling for Windows on POSIX using
MinGW, Autotools will detect sleep() and set HAVE_SLEEP which prevented
the substitution from being included in the source.  Adding a test for
_WIN32 (set by MinGW's gcc) then caused a warning from src/network.c on
POSIX about winsock2.h needing to be included before windows.h.  As
config.h needed to be included first, the solution to break out the
substitution that includes windows.h into its own file.  This patch
provides that solution and allows the code to compile cleanly on POSIX,
using MinGW on both POSIX and Windows, and on Cygwin.
orion.h:  Quell compiler warning on MinGW

Quell the following error on MinGW:

  CC       orion.lo
In file included from ../../hamlib-3.0~git/tentec/orion.c:86:0:
../../hamlib-3.0~git/tentec/orion.h:34:0: warning: "TRUE" redefined [enabled by default]
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/windef.h:55:0: note: this is the location of the previous definition
../../hamlib-3.0~git/tentec/orion.h:35:0: warning: "FALSE" redefined [enabled by default]
c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/windef.h:52:0: note: this is the location of the previous definition

which seemed to be caused by the values to TRUE and FALSE being enclosed
in parentheses.
Monolitic libraries.
Revert INSTALL to prior Hamlib version
Revert to previous handling of getaddrinfo()

Use the system gettaddrinfo function when possible as before.  Tested on
GNU, Cygwin, MinGW on Linux, and MinGW on Windows.  Under MinGW the
replacement getaddrinfo is used.  Perhaps this is an area for
investigation to be certain MinGW really doesn't supply getaddrinfo.
This reverts some of the patches from Remi Chateauneu in commit
60019c9.  This fixes build issues encountered building the Windows
binary daily snapshots.

Enabled static library build by default at configure time.

Fixed pthread library linking for the ars backend on MinGW.
Clean up backend Makefile.am files

Moved all backend *.h files into the SOURCES primary as Automake
documentation states all source file types should be listed.  This
causes Automake to include *.h files in rebuild rules for the targets.

Removed the '-DIN_HAMLIB' assignment from the CFLAGS primary in each
backend and assigned it to AM_CPPFLAGS in configure.ac.  The effect is
the same and it simplifies the backend Makefile.am files.

Removed all commented lines.
easycomm patch from Steve Conklin, AI4QR

The attached patch restores what I think is the original easycomm
rotator interface functionality. It eliminates the conditional code
for USE_CUSTOM_CODE and USE_TEST_CODE.

Apparently for a very long time, the easycomm back end has been build
with USE_CUSTOM_CODE hardcoded in the source file. This generated code
that issued commands not even remotely similar to what's specified in
the easycommII protocol, which is documented in the easycomm directory
for hamlib.

It appears that at some point someone used the easycomm back end to
implement some custom tests for something, and it was committed and
has been carried this way ever since.

This restored what I think is proper functionality according to the
easycomm spec.

If you are a user of the easycomm back end, or you know of any
easycomm compatible rotor controllers that can be used for testing,
let me know and I can be more thorough about this.

Notes and disclaimers:

0. The original easycomm spec author seems to be unavailable.

1. I don't think that there was valid code to parse the position data
returned from the rotor controller. What was actually getting compiled
simply set some hard-coded values. I replaced it with what I think is
called for by the spec.

2. The easycomm spec is vague about what is supposed to be returned
for any command, so I may still not be parsing position information
correctly as it comes from other easycomm controllers.

3. I wrote my own rotator controller code based upon an interpretation
of the easycomm II spec. This back end for rotctl works with my
implementation. I don't have access to any other easycomm controllers
or even know whether any exist, so I am unable to test this against
any other implementation of easycomm.

4. Even when you select EASYCOMM II as the back end, it sends commands
which are only supposed to be valid for easycomm I according to the
spec (i.e. the position set command includes uplink and downlink
frequency and mode information fields). My rotor controller handles
these, so I didn't change the position set portion of the code.

I understand if there's concern for breaking rotator control for
existing users of the easycomm back end (if any actually exist). If
this patch is too risky, I'll either rewrite my controller to use
another protocol, or add another back end for my own newly invented
protocol "ai4qrcomm" (and document it better than easycomm).

Thanks,

Steve, AI4QR

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Patch to allow same serial port for PTT and CAT.

Hi,

patch attached to enable the above which was partially coded but not
quite working.

73
Bill
G4WJS.

>From 9dab3a250dfad7203772df91aadf79d38c108f04 Mon Sep 17 00:00:00 2001
From: Bill Somerville <bill@classdesign.com>
Date: Fri, 6 Sep 2013 01:13:34 +0100
Subject: [PATCH] Fix using same serail port for PTT and CAT

src/rig.c was coded to allow the same serial port for PTT and
CAT but them tried to open the port twice. I have added code
to share the file descriptor in this situation.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Remove dependency on libltdl

No longer depend on libltdl from the libtool package.  The
winradio/linradio/wg313api backend still depends on libdl, but since it
is only compiled on POSIX, it will use the POSIX supplied libdl.

Update documentation to remove references to libltdl.
Android build updates for monolithic build

Android is now built as a static library.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Remove remaining references to rpc

As rpc backends were removed some time ago, remove all remaining
documentation and other references to rpc.
Revise test for MinGW with sleep()

Revise the preprocessor conditional test for MinGW variables.  Tested on
all of my MinGW installations.  The prior test was broken by MinGW 3.0
on Debian Unstable.
Patch to fix broken Yaesu backend with FT-2000(D)

Hi All,

attached is a patch to correct the Yaesu backend to stop it sending the
SH1; command to teh FT-2000(D) radios where it is illegal.

73
Bill
G4WJS.

commit 8e60a966de140c14fe506f958de92a8e1b738d2c
Author: Bill Somerville <bill@classdesign.com>
Date:   Fri Sep 20 02:10:58 2013 +0100

    Fix Yaesu backend using illegal command on FT-2000

    The FT-2000 doesn't support the SH1; command used by
    the get_mode/set_mode function. This was causing a
    "Protocol error" return when trying to get/set the mode
    of VFO B.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Added Peaberry V1 and V2 models

On the Peaberry forum, we have a thread with some hamlib patches for the
Peaberry SDR (a softrock-like transceiver). Both version 1 and version 2
have been implemented and tested.

There are two patches: the first one, made by me (ON8VQ) adds support
for the two radio's, and the second one, made by R2AEE, fixes the tuning
(using PICUSB commands instead of AVRUSB).

The patches are available here:
http://ae9rb.com/forum/viewtopic.php?f=4&t=166

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Fix rig_open not failing when PTT/DCD port is unavailable.

rig_open was giving RIG_DEBUG_ERR messsages if PTT or DCD
port was unavailable but the function was not returning an
error status.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Update NEWS for Peaberry backend model
Fix conditional build of winradio backend

With the new registration code set the HAVE_WINRADIO preprocessor
conditional if the winradio backend is to be built and test this
conditional in src/register.c whether to build winradio support.