As AC_CHECK_HEADERS and AC_CHECK_FUNCS take multiple file names,
consolidate the multiple macro calls into a single call for each.
Remove the last obsolescent macro calls.
"I've re-written the hamlib backend to stream the audio, if and spectrum
pcm samples to simple file system objects.
If no path is given, streaming is not requested. If the path can't be
openned, no streaming is requested.
The file is openned non-blocking and overruns are just silently
discarded.
I've tested it using named fifos and if there is no active reader it
fails to open and if there is an active reader it streams fine.
Thats as simple as it can get.
In terms of the project files, I've put the wrg313api.c and wrg313api.h
files in the existing linradio subfolder of winradio.
The .h file is the g313 equivalent of the wrapi.h file already there.
The .c file actually just contains the dlopen and the assignments to the
function variables.
The actual API shared library is binary only (and 32-bit only), and not
included in my patch."
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
From the SourceForge tracker:
I am using version hamlib-1.2.15.2~rc3. Start rigctl and specify rig 2
(rigctld). The command "s" (get_split_vfo) will return two parameters,
the spilt state (0 or 1) and the TX VFO name. The command "S"
(set_split_vfo) will send one parameter, the TX VFO name, but will not
send the split state (0 or 1). This is incorrect. In the file
dummy/netrigctl.c change netrigctl_set_split_vfo() line 782:
len = sprintf(cmd, "S %s\n", rig_strvfo(tx_vfo));
to include the "split" paramater; perhaps:
len = sprintf(cmd, "S %d %s\n", split, rig_strvfo(tx_vfo));
Thanks to Jim, N2ADR for reporting this.
If libgd-dev is not installed, an Automake conditional will disable the
rigmatrix.html target in tests/Makefile. Optionally, this target may
also be disabled by use of the '--disable-html-matrix' option passed to
the configure script. By default the configure script will enable the
target if the libgd development files are found and disable it when they
are not.
Previously, invoking autogen.sh would create symbolic links to needed
Autotools files in the tree only when working from a Git checkout
(source distributions have the files included). Consideration of this
included the possibility of bugs if the Autotools packages were upgraded
on the developer's system that strange bugs could result. Copying the
files means the tree is self contained until the next time autoreconf or
autogen.sh is run.
The top level Makefile.am included the variable $(subdirs) in both
SUBDIRS and DIST_SUBDIRS assignments. While this variable may contain a
useful value, it is undocumented in the manuals. Relying on it may
result in some directory being ommitted or other changes in the future,
so removing it from the assignments.
Static libs are generally not wanted so disable their builds by default.
Remove references to '--disable-static' from documentation and example
scripts.
I found that building on Cygwin that when libxml2 is installed, MSYS
fails the compile as libxml2 is installed outside the MSYS idea of
'root'. As this feature depends on an external library, give user the
option of compiling with this support. Default is to not build rigmem
with XML support.
Use the libtool link mode argument '-version-info' to set the Hamlib 3
ABI to be compatible with Hamlib 1.2 ABI. As the current ABI has not
been changed or removed, we should be able to maintain backward
compatibility. The libtool docs state that so long as the ABI is only
added to, backward compatibility should be maintained.
My idea here is to be able to have presently compiled programs be able
to use binary libraries of Hamlib 3 without recompiling. So far I have
tested this locally on Linux and Windows. More testing is welcome.
Initializing libltdl is now done by the LTDL_INIT macro in configure.ac.
This now creates a libltdl directory in the tree (not tracked in Git)
when autoreconf is run. The downside is that this complicates the build
a little bit with the advantage that the build can now take place on a
system that does not have libltdl-dev installed as Hamlib will build on
such systems by passing the '--with-included-ltdl' flag to the configure
script. In particular, this simplifies the build on Linux for the mingw32
host by not having to run libtoolize manually and assures that libltdl
is built with the same build and host architectures as Hamlib.
Now check if '--with-included-ltdl' has been passed to configure and if
not, only then test for the presence of an installed ltdl.h.
Commented out AM_MAINTAINER_MODE macro. It is recommended by the
Automake manual that this macro and its configure options not be used as
the Autotools system is designed to regenerate its files. Let me know
if this is problem as it can be reversed easily enough. The autogen.sh
script no longer passes the '--enable-maintainer-mode' option to
configure when bootstrapping the build system from Git.
Minor edits in configure.ac to improve readability.
Updated build-win32 files in scripts/
Darrel, AK6I, has an IC-756 (non-Pro model) and reports several
functions are not supported and suggested they be modified.
(cherry picked from commit 11033470f0)
Cleaned up M4sh syntax for variable quoting, replaced shell 'if'
conditionals with M4sh AS_IF macro and shell 'case' with AS_CASE macro.
Properly quoted macro variables. Added comments to configure.ac
describing actions, commented out obsolete macros, commented obsolecent
macros, and added comments for major sections.
Corrected a Mingw linker error on the .EXE files adding
'--enable-auto-import' to their LD flags. Testing this commit on win32
shows that rigctld is now working properly. Will need to port this to
the Stable branch and test.
Replaced older local macros with newer replacements from GNU Autoconf
archive.
Using the -Wall switch to autoconf/autoreconf revealed a number of
obsolete macros. At the moment, offending macros have been commented
out using 'dnl'. They will be removed at some later date.
A macro here seems to expect ac_save_LIBS and ac_save_CPPFLAGS to
be set on entry (by configure?) but configure doesn't do any such
thing, so that would trash any pre-set CPPFLAGS and LIBS when it
runs (making ./configure CPPFLAGS=something fail to work).
Use the absolute value of any negative value that may be passed in via
the width parameter to set_mode.
If RIG_PASSBAND_NORMAL is passed in, call rig_passband_normal() to
determine the normal width for the mode before setting the bandwidth.
The width parameter is tested against wide and narrow filter values and
set to the returned values as upper and lower limits if width falls out
of those bounds.
(cherry picked from commit bb6c6493e1)
Use the absolute value of any negative value that may be passed in via
the width parameter to set_mode.
If RIG_PASSBAND_NORMAL is passed in, call rig_passband_normal() to
determine the normal width for the mode before selecting the correct
filter (needs testing).
(cherry picked from commit 94ea3ced4c)
SF Bug ID 3527331
Action: Using rigctl, request signal strength (STRENGTH) for
a low signal level (~ < -100 dBm)
Expected result: Read a signal level of -100 or less
Actual result: Impossibly large negative value is returned.
Error found in initialization of a variable. Some (useful)
instrumentation was also added to help with future debugging.
From Paul:
" ... I am using the Win32 hamlib program, rotctl.exe
version 1.2.15.1 with a Yaesu GS-232B antenna rotator controller interface
device. Rotctl.exe is not operating as expected however. It frequently
hangs on some of the commands. I have successfully commanded the
controller using a dumb terminal and I have watched the characters that are
sent with a scope. It appears that the hamlib rotctl.exe is sending
incorrect line termination characters when sending out commands. It should
send carriage return only ("\r") and not carriage return and line feed
("\r\n") as it is currently doing.
I have attached page 15 from the user manual for the Yaesu GS-232B
controller interface device (also found at
http://gatorradio.org/Manuals/Yaesu_GS-232B_Manual.pdf) which shows the
proper line terminators."
Signed-off-by: Paul Lafferty <plaff65@gmail.com>
Signed-off-by: Stephane Fillod <fillods@users.sf.net>
Like other Kenwood rigs of its vintage, the TS-950 series provides the
mode information in the IF command response. Filter bandwidth is
set/read using the FL command.
From Michal:
"I have been playing a lot recently with PSK modes using fldigi. I have
noticed that the yaesu ft-857 backend doesn't distinguish between upper
and lower sideband digital mode (menu item 38). This causes lot of
trouble on bands where USB is used (when QSY button is pressed in
fldigi, or when calculating the real QSO frequency).
With some use of undocumented CAT features and some research I have
put together small patch, that reads EEPROM data. When SW asks hamlib
what mode is being used, hamlib will also consider the
value from eeprom.
When changing the mode in the menu, new value will become available in
the EEPROM _after_ pressing the "FUNC" button.
Setting mode from SW is left untouched, as writing to EEPROM is
potentially dangerous (and I don't feel like destroying my rig, yet)"
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
The output from [rig|rot]ctl[d] using the -l|--list option is now sorted
by model number in ascending order. Document it.
(cherry picked from commit 45def7bbcf)