Wykres commitów

456 Commity (f0e17f7c8db7425331bb40568bf691ad93b018fc)

Autor SHA1 Wiadomość Data
Bill Somerville 143f305b49 Further clarification in the implementation of kenwood_transaction()
Buffer size is  now an input parameter only as  the return data length
is  implicit since  a null  terminated C  string is  returned.  Better
precondition checks are impelmented.
2015-02-16 12:46:35 +00:00
Stephane Fillod 80f921954b New IC-M700PRO backend
Backend for the ICOM IC-M700PRO marine transceiver.
2015-01-21 23:57:08 +01:00
Bill Somerville 36b8a972cf Error checks on simulated direct VFO addressing
Many APIs  emulate direct VFO  addressing by using  caps->set_vfo() or
caps->vfo_op(..., RIG_OP_TOGGLE)  to simulate  direct addressing  of a
non-current  VFO. The  mirrored function  call to  revert back  to the
original  current  VFO was  not  checking  for  errors.  This  is  not
unreasonable but it turns out that some rigs can arbitarily fail doing
VFO changes or swaps (e.g. Yaesu FT-450).

I have added checks to these calls but only fail with the error if the
API call being wrapped does not fail itself. This allows the mirroring
VFO  operation to  be  completed,  if possible,  even  if the  wrapped
function could not be completed,  hence as before, making every effort
not to change the rig state unnecessarily.
2014-12-11 17:14:58 +00:00
Bill Somerville 82b8649030 Revert read_string() to partial results are a success status
The read_string() function was changed to return a -RIG_ETIMEOUT error
when timing out after having read  some characters. This caused a back
end to fail because it was  using a read_string() with an invalid stop
character  and relying  on the  timed out  read_string() to  fetch the
data. This  patch reverts to  the prior  behavior of returning  a null
terminated buffer and  read bytes count if at least  one byte has been
read.
2014-12-10 01:25:33 +00:00
Bill Somerville 849f1e1bf8 Fix serial i/o on Windows.
Fix bytes read count accumulation in Windows serial I/O.

read_string  from  communications  port   doesn't  handle  timeout  on
anything but the first character read.

Honour VMIN tty parameter correctly.
2014-11-30 11:22:58 +00:00
Bill Somerville 4e2a6adf12 Move serial line control error checks to lower level routines
Moved in preference to introducing errno.h into rig.c.
2014-11-24 00:51:12 +00:00
Bill Somerville 0e0779877d Add more diagnostics and error checks to serial line control 2014-11-24 00:18:48 +00:00
Bill Somerville e1a0e9121c Always clear serial control lines when used for PTT
When a serial  control line (DTR or  RTS) is used for  PTT control the
rig_open()  function clears  the PTT  control line  after opening  the
port. This  is necessary on Linux  because opening the port  sets them
both as part  of the normal RS-232 protocol. The  lines were not being
cleared when the PTT port was the same port as the CAT control port.
2014-11-21 20:58:18 +00:00
Nate Bargmann 870da0a422 Merge branch 'serial-contro-line-error-fix'
of git://git.code.sf.net/u/bsomervi/hamlib
2014-10-18 07:37:20 -05:00
Bill Somerville cd44a8d926 Only check for serial control line conflicts if PTT shares CAT port 2014-10-14 12:51:23 +01:00
Nate Bargmann c38dfb97aa Quell compiler warning--missing parens
Got too quick on the trigger on the previous commit.  Added compiler
requested parentheses around AND test for previous commit.
2014-10-12 09:17:31 -05:00
Veijo Arponen 89ebe6bc84 Add support for DMK Engineering URI
I have a problem with the CM119A GPIO. The PTT line of the DMK
Engineering URI was not activated by the hamlib  when using fldigi or
rigctl.

I fiddled with the source code and managed to edit the code in cm108.c
to get the PTT-line activate on my URI-box.
A successful rigctl command is:

rigctl -p /dev/hidraw0 -C ptt_pathname=/dev/hidraw0,ptt_type=CM108,ptt_bitnum=2
Attached is the modified source code file and a patch in 'git diff'
format.

The version of origin is 1.2.15.3.

73 de Veijo OH3NFC

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2014-10-12 09:05:25 -05:00
Bill Somerville 19f131b1b8 Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
The Icom IC-7100 back end added this enum instead of using the extant
RIG_PTT_RIG enum.  Also the rig_get_ptt() implementation didn't handle
it and errored out.

Note: RIG_PTT_SERIAL_CAT was added in commit
e9ee671149  - N0NB
2014-10-09 10:25:38 -05:00
Nate Bargmann 0fa8a5656c Quell warning from MinGW on setting CM108 pttbitnum
MinGW was issuing the following warning:

  CC     rig.lo
rig.c: In function 'rig_init':
rig.c:330:36: warning: assignment makes integer from pointer without a cast [enabled by default]
  rs->rigport.parm.cm108.ptt_bitnum = DEFAULT_CM108_PTT_BITNUM;
                                    ^

The constant DEFAULT_CM108_PTT_BITNUM was being defined as a string on
non-linux platforms.  Now defined to an integer on these platforms.  The
actual value may need to be corrected at some point in the future when
CM108 support is completed for those platforms.
2014-02-16 07:33:42 -06:00
Nate Bargmann 6ea09a138a Clean up build system, fix test programs
Clean up various left over commented lines from dlopen to single
libhamlib transition.  Remove unneeded configure variables.

Correct minor inconsistencies in Makefile.am files.

Define a new variable, READLINE_LIBS, so that only programs that offer
Readline support are linked against it.

Fix various compilation warnings and errors in test files revealed with
'make check' on MinGW.

Define rig and rotor backends to (mostly) be built in alphabetical
order.
2013-12-10 20:14:22 -06:00
mvcstroomer e9ee671149 Add Icom IC-7100 support.
From Martin, CT1IQI:

"Several programs under Linux rely on Hamlib for control. I wanted to
try WSJT-X (digital modes like JT65) and found that my new IC-7100 was
not yet supported, also after having compiled the current git version of
Hamlib and having compiled WSJT-X against that.

So I added a IC-7100 by taking the ic-7200 and 7420 rig files as
example, be it without going (yet) through all of the very many commands
the ic-7100 supports.

This produced the situation where there was communication, e.g. setting
and reading frequencies, but the PTT control did not work.  I debugged
that to actually the lack of a PTT mode in Hamlib that uses serial and
CAT at the same time; currently PTT per 'serial' seems equivalent to
toggling certain RS232 pins but not to any serial command level. So I
added a RIG_PTT_SERIAL_CAT mode for PTT control. Now the wsjt-x program
works nicely with the ic-7100 and controls both frequency and PTT via
the single USB cable."

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-10-25 08:40:36 -05:00
Nate Bargmann 9cd11ebe27 Force libhamlib to be relinked when a backend is updated
Add the rig and rotor backends to the list of dependencies for
libhamlib.la so that updating a given backend will force libhamlib.la to
be relinked as well.  Thanks to Bill Sommerville, G4WJS, for reporting
this.

Removed obsolete references and variables related to LTDL.
2013-09-26 21:57:04 -05:00
Nate Bargmann 1f0590dfbe 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.
2013-09-22 20:45:49 -05:00
Bill Somerville efd1917e98 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>
2013-09-21 21:14:11 -05:00
Nate Bargmann 1bac099494 Remove remaining references to rpc
As rpc backends were removed some time ago, remove all remaining
documentation and other references to rpc.
2013-09-19 15:24:52 -05:00
Ladislav Vaiz f632695131 Android build updates for monolithic build
Android is now built as a static library.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-19 07:25:08 -05:00
Bill Somerville ef28e435d8 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>
2013-09-18 12:34:20 -05:00
Nate Bargmann 332a04b7cd 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.
2013-09-16 21:51:39 -05:00
Nate Bargmann 36f5f4cf6a 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.
2013-09-15 19:47:49 -05:00
Remi Chateauneu 60019c9444 Monolitic libraries. 2013-09-08 14:56:28 +01:00
Nate Bargmann b9ff04abf0 Fix W2k 'freeaddrinfo' error
Trying to run the pthread enabled binaries on W2k resulted in an error
dialog with the text, "The procedure entry point freeaddrinfo could not be
located in ws2_32.dll".  A Microsoft support page
(http://support.microsoft.com/kb/955045) hints that when 'ws2tcpip.h' is
included that 'wspiapi.h' should be included as well.  Since MinGw
includes both files, this patch corrects the runtime error on W2k
2013-05-18 07:31:40 -05:00
Nate Bargmann df64a49428 Specify libhamlib.la dependencies 2013-05-09 22:11:01 -05:00
Nate Bargmann 245ab86441 Quell compiler warnings on Cygwin
Quell mostly harmless warnings from the older GCC installed in Cygwin.
Produces a quiet compilation.
2013-05-09 22:06:39 -05:00
Stephane Fillod 212f2c97b2 serial: round up VTIME
Round up the VTIME setting in case the rig timeout is less than 100 ms,
which would make the termios timeout infinite.
2013-05-07 07:59:49 +02:00
Stephane Fillod 6c370dd36d serial: fix blocking call on ports, esp. on win32
Summary from Lada:

On Win7, good testing command is:
C:\hamlib> rigctl -vvvvv -m 214 -r COM1 -s 4800 -C data_bits=8 -C
stop_bits=2 -C serial_handshake=Hardware -C timeout=1000

Behavior of this command differs on COM port. On hardware ports
(onboard, PCI NetMos, all probably 16550-compatible) rigctl freeze in
data write. It is correct, no hardware handshake is estabilished. On
FT232 USB port initialization failed by timeout. I think it is not
correct but this is not subject of this e-mail.

Looked into hamlib source and found, that timeout argument is no
longer handled. SetCommTimeouts takes timeout from c_cc[VTIME] which
is not filled.

Signed-off-by: Ladislav Vaiz <spam@nagano.cz>
2013-05-06 23:47:56 +02:00
Ladislav Vaiz 6d4295af2c Add Android build support
Android makefile fragments are distributed as extra distribution files
by the GNU build system but are otherwise ignored.  The Android build
support is independent and does not rely on the GNU build system.

See android/README.android for more info.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-04-26 22:31:56 -05:00
Nate Bargmann 3f2bc78485 misc.c: Place RIG_FUNC_RIT in numeric order
Debugging made more sense with RIG_FUNC_RIT in numeric order in
func_str.func members.
2013-01-31 17:58:21 -06:00
Nate Bargmann f82184cbf5 Add RIT and XIT as rig_set/get_func() members
In response to a long standing request from Tor, N4OGW, and others, RIT
and XIT are added as members for the rig_set/get_func() members.
"RIT"/"XIT" have been added as tokens.  The dummy rig backend and
testrig.c have been updated for these new functions.

Applications should test a backend with the rig_has_set/get_func() and
test for RIG_FUNC_RIT or RIG_FUNC_XIT.  A non-zero result indicates
these functions are implemented by a given rig backend.  It will take
some time for all backends to migrate to this new implementation.  Once
implemented, RIT or XIT should be set to '0' to 'clear' the value
without deactivating the rig's RIT/XIT function.  The dummy/dummy.c file
can be used as a simple guide for backend authors implementing this
behavior.
2013-01-15 12:47:47 -06:00
Nate Bargmann 0232e30fc0 ABI backward compatibility enhancement
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.
2012-10-08 13:07:35 -05:00
Nate Bargmann 52be3c47b8 Provide libltdl in source tarballs
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/
2012-10-07 08:31:10 -05:00
Nate Bargmann 02ef0d7ce0 Merge branch 'master' of ssh://hamlib.git.sourceforge.net/gitroot/hamlib/hamlib
Conflicts:
	macros/ax_python_devel.m4

Kamal's update was corrected by a newer version of
macros/ax_python_devel.m4 I had applied earlier.
2012-10-05 12:38:02 -05:00
Nate Bargmann ea47d89f3f configure.ac: Quell autoconf obsolete warnings
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.
2012-09-25 22:29:30 -05:00
Kamal Mostafa 3466512dbd Fix spelling errors 2012-08-21 19:54:50 -07:00
Nate Bargmann a5f13e0056 Set AC_PREREQ to 2.67, enable Automake warnings
Deprecate the use of the INCLUDES variable in favor of the AM_CPPFLAGS
variable per Automake warnings and documentation.
2012-02-03 22:09:45 -06:00
Nate Bargmann 8c145cfc6b Merge branch 'API_3'
Conflicts:
	.gitignore
	Makefile.am
	NEWS
	c++/Makefile.am
	configure.ac
	hamlib.spec.in
	rpcrig/rpcrig.x
	rpcrig/rpcrig_backend.c
	rpcrig/rpcrig_backend.h
	rpcrig/rpcrig_proc.c
	rpcrig/rpcrigd.c
	rpcrot/rpcrot.x
	rpcrot/rpcrot_backend.c
	rpcrot/rpcrot_backend.h
	rpcrot/rpcrot_proc.c
	rpcrot/rpcrotd.c
	src/Makefile.am
	tests/rigctl.1
	tests/rotctl.1
2012-02-03 15:03:39 -06:00
Nate Bargmann 39fe57864f Quell variable set but not used warning. 2012-01-12 15:44:29 -06:00
Stephane Fillod 46033db165 CM108 GPIO PTT: do not break ABI
Move around the ptt_bitnum field in the union of hamlib_port_t.
Increase Hamlib frontend revision.
2012-01-11 23:28:01 +01:00
Andrew Errington 1a77ef9eb9 Initial support for CM108 GPIO contorl of PTT
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2012-01-11 06:16:51 -06:00
Nate Bargmann b31cc6ecd9 Assure NULL terminated strings in src files.
Various strncpy operations could result in a port pathname that is not a
NULL terminated string as the allowed string length is the same size as
the buffer per the strncpy manual page.  This is corrected by assuring
that the allowed length is FILPATHLEN - 1.
2012-01-07 20:50:34 -06:00
Stephane Fillod da80137819 Add support for RIG_PORT_UDP_NETWORK
Also some copyright year update,
and default serial device on MacOSX
2012-01-06 09:28:24 +01:00
Nate Bargmann 3dedd4404f Add elapsed time reporting to read_block()
Upon a read timeout, the elapsed time in seconds will be displayed in
the timeout error message.

Added function name to the beginning of all debug output messages.
2011-11-30 06:17:12 -06:00
Nate Bargmann a54ef9c157 Add elapsed time reporting to read_string()
Upon a read timeout, the elapsed time in seconds will be displayed in
the timeout error message.
2011-11-22 19:00:28 -06:00
Nate Bargmann f3fe7bffc8 Remove set but unused variable errors in src. 2011-08-25 10:42:00 -05:00
Nate Bargmann dad27d1f69 Update LGPL header in src source files.
TNX to Lucian Laga, YO6PLB, for the notification.
2011-08-22 21:38:37 -05:00
Stephane Fillod 32f135726b copyright date update
(cherry picked from commit 89888b3041)

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2011-07-21 04:23:30 -05:00