Commit Graph

573 Commits

Author SHA1 Message Date
Michael Black W9MDB
9ba1f1a972 Fix compile warning on strings in tests 2018-04-22 18:38:16 -05:00
Michael Black W9MDB
6c369109e6 Add debug time stamps via -Z and --debug-time-stamps 2018-04-15 15:06:52 -05:00
Jeroen Vreeken
bfa948ebc5 Add GPIO and GPION options for DCD.
Also bump abi version since the config params struct needed resizing.
2018-03-29 23:55:25 +02:00
Michael Black W9MDB
ca85f4740c Allow rigctld to reopen after error 2018-03-27 16:13:37 -05:00
Nate Bargmann
b0485aa475 Merge branch 'lazy-rigctld' of git://git.code.sf.net/u/bsomervi/hamlib into g4wjs-lazy-rigctld 2018-03-16 13:58:46 -05:00
Michael Black W9MDB
c1c5639c00 Fix morse send of a single space 2018-03-13 09:05:03 -04:00
Bill Somerville
489564a1af Make rig_open() call in rigctld lazy and add graceful termination
Because some  rigs lock their  front panel when  opened for CAT  it is
helpful  to   call  rig_close()  in   rigctld  when  no   clients  are
connected. This change does that.

A  CTRL+C handler  is also  added to  allow rig_close()  to be  called
during exit.
2018-03-12 19:47:45 +00:00
Nate Bargmann
b692fb22ef Formatted tests/ to final coding guidelines 2017-10-06 18:58:42 -05:00
c vw
d008ca6e5d Microham support. Use "uh-rig" for rig_pathname to talk to the
microHam device for CAT. If you want hardware PTT via the microham
device, use DTR method and ptt_pathname "uh-ptt".
2017-09-10 19:56:59 -05:00
Nate Bargmann
d489b8bcb5 Apply formatting to 'tests/' directory
Format per style guide.
2017-08-10 05:46:12 -05:00
c vw
4838a349a6 This enables netrigctld to trigger two different CAT commands (Mic or DATA)
on the real rig. In rigctl_parse.c, we make sure that invalid attempts to
so so are mapped on a safe variant.

Second change to netrigctl: drain the input line before sending a new
command, to reach sync again after a timeout.
2017-07-07 11:52:35 +02:00
Michael Black W9MDB
cab7eb1647 Fix FT-891/991 behavior with WSJT-X
Separate FT-891 features
Fix rigctl and rigctld to not abort on function not available
Change Yaesu detection of FA length to automatic method instead of rig specific
2017-06-27 16:48:44 +01:00
Bill Somerville
2828422e92 Stop rigctld and rotctld crashing when service threads cannot write to clients
Although there is  no reasonable recovery from SIGPIPE we  do not want
to terminate the server process,  just the client servicing thread. We
do this by setting the disposition for SIGPIPE to ignored, this causes
an EPIPE to be returned from blocked write() and send() calls that end
up trying to send to a broken pipe/socket.
2017-05-22 21:56:41 -05:00
Michael Black
35fda10dfd Fixed buffer overflow in rigctl_parse and rotctl_parse 2016-11-01 16:02:15 -05:00
Jeroen Vreeken
1bf736d650 Add support for GPIO PTT. 2016-05-28 16:00:03 +02:00
Bill Somerville
fcb93b98fa Switch to POSIXLY_CORRECT mode for getopt_long()
This  makes the  first non-option  argument end  getopt_long() parsing
stop rather  than shuffling non-option  arguments to the end.  This is
necessary  so that  rig/rotator command  language arguments  can start
with a  '-' character and  also it enables  the '-' pseudo  command to
switch to reading commands from stdin work correctly.

The change  also make checking for  the '-', switch to  stdin, command
stricter in that it must be where a command is expected and it must be
a word containing exactly a single '-' character.

Overall this allows the following styles of use:

$ rigctl R -

$ rigctl - <<EOF
>R -
>EOF

R -

$ echo "R -" | rigctl -

R -
$ rigctl -m 1 M CW -1

$ rigctl F 434000000 - <<EOF
>M FM 15000
>f m
>EOF

M FM 15000
f 145000000

m FM
15000

$

as well  as the command  line interpreter operation where  no commands
nor '-' are provided:

$ rigctl

Rig command: R -

Rig command: r
Rptr Shift: -

Rig command: f
Frequency: 145000000

Rig command: m
Mode: FM
Passband: 15000

Rig command: F 434000000

Rig command: f
Frequency: 434000000

Rig command: q

$
2016-04-19 21:52:02 -05:00
Bill Somerville
21c346453a Implement combined split VFO frequency and mode setting.
CAT protocols that don't allow  direct addressing of VFOs require that
the  "other" VFO  be queried  or set  via a  select then  get/set then
select back  to original or  swap then  get/set then swap  again. When
both frequncy and  mode need to be set the  sequences can be optimized
if a single funciton is avaiable.

This enhancement adds those single functions rig_set_split_freq_mode()
and  rig_get_split_freq_mode()  with  a default  impelementation  that
calls the individual rig_{get,set}_split_{freq,mode}() functions. Back
ends  can choose  to  implement  an optimized  version  which is  used
instead of the default if present.

Using these  functions when  an optimized implementation  is available
allows the TX VFO's frequency and mode to be set in a single operation
with  only  one   VFO  exchange  or  selection  either   side  of  the
operation.  Many CAT  protocols  are very  efficient  when getting  or
setting both  frequency and mode  and some even  combine the two  in a
single command.

The letters 'K' and 'k' are used for the rigctl short command name for
these functions.
2016-03-23 17:09:26 +00:00
Nate Bargmann
4595f77f99 Touch up rigctld.c and rotctld.c with astyle
Prior reformat had only been a reindent with Emacs.  Now use astyle.
2016-02-14 18:05:55 -06:00
Nate Bargmann
9b45fce776 Reformat rigctld.c and rotctld.c
Several lines in each file benefitted from formatting so just reformat
the entire files into Linux C Style.
2016-02-12 20:46:38 -06:00
Bill Somerville
e4e17ce862 Improve IPv6 portability and consistency
After  discussions with  Greg  N1DAM  I have  changed  the dual  stack
support to  explicitly allow IPv4  connections mapped to IPv6  for any
AF_INET6 address  since BSD  as well as  Windows defaults  this socket
option to on (disallowed).

IPv4 mapped to IPv6 makes sense  for Hamlib servers since starting two
servers  one  for each  protocol  family  (the  other option)  is  not
possible  since there  is only  a single  rig/rotator which  cannot be
shared between two servers.
2016-02-12 20:20:25 -06:00
Bill Somerville
04c545b9b9 Only use IPv6 features on Windows versions that support it (>=XP) 2016-02-12 15:30:41 +00:00
Nate Bargmann
cc21c64662 Advise on use of int64_t cast
Advise on testing with clang compiler and using int64_t cast with PRIll
macro.

Fix GCC warning when 'make distcheck' is run.
2016-02-09 11:26:23 -06:00
Michael Black
95a99fa37d Quell clang warnings in tests directory
Remove unnecessary parentheses in memcsv.c.

Fix cfp->u.c.combostr as old check was always true since it's statically
allocated.

RRR
Mike W9MDB
2016-02-09 11:12:28 -06:00
Nate Bargmann
efb7860e4d Install daemon man files to man1
As the rigctld and rotctld programs are actually user programs and
installed in ${prefix}/bin, it was erroneous to install the associated
manual pages into the man8 directory.  Correct this error going forward
and install them into man1 with the other manual pages.
2016-01-12 15:53:53 -06:00
Bill Somerville
aebe52a45e Add a new command line option '--no-restore-ai' ('-n') to rigctl
As Hamlib now restores the rig auto information state (AI) on exit
there is now a need to disable that functionality so that rigctl can
be used to set/reset AI mode on the rig explicitly.

A new  public API  function 'rig_no_restore_ai()'  is also  added that
allows any  client to  disable this auto  AI restore  functionality if
required. Most  clients should do nothing  as restoring AI state  is a
good thing.
2015-12-04 00:22:01 +00:00
Bill Somerville
6061cae8df Proper IPv6 and dual stack networking for rotator net daemon
This means that rigctl & rigctld  now work with default arguments on a
modern Windows  machine with dual  stack and localhost being  [::1] as
the first interface returned by getaddrinfo().

Try all the interfaces return by DNS lookups to establish a connection
or listening  port. Handle  Windows network  errors correctly  so that
meaningful messages are printed.

The rigctl program now accepts  IPv6 numeric addresses in the portname
field like [<addr>}:<port> for example  the IPv6 loopback on port 4531
would be [::1]:4531.
2015-11-27 19:41:04 +00:00
Bill Somerville
ca7cbd89f4 Fix compiler warnings 2015-11-27 19:17:47 +00:00
Bill Somerville
181a3e9697 Proper IPv6 and dual stack networking
This means that rigctl & rigctld  now work with default arguments on a
modern Windows  machine with dual  stack and localhost being  [::1] as
the first interface returned by getaddrinfo().

Try all the interfaces return by DNS lookups to establish a connection
or listening  port. Handle  Windows network  errors correctly  so that
meaningful messages are printed.

The rigctl program now accepts  IPv6 numeric addresses in the portname
field like [<addr>}:<port> for example  the IPv6 loopback on port 4531
would be [::1]:4531.
2015-11-27 13:47:48 +00:00
Nate Bargmann
81775bc03d Add library paths for tests.
Richard Sahw, KF5OIM, reported a failure in the C++ test when attempting
to build an RPM package in a clean environment.  This patch amends the
LD_LIBRARY_PATH in the generated shell scripts in the c++ and tests
directories.
2015-09-03 12:03:53 -05:00
Stephane Fillod
5b5386c711 rigctl: help "?" at set_vfo/set_split_vfo prompt 2015-02-19 23:52:13 +01:00
Bill Somerville
182a014597 Fix manpage errors. 2014-05-02 20:06:35 +01:00
Bill Somerville
e939279c4c Add read commands from stdin and pause command features to rotctl.
The capability to read commands from  standard input and the new pause
command allow regression tests to be written for rotctl as well as for
rigctl.
2014-05-02 19:44:29 +01:00
Bill Somerville
68ec5b272f Corrected typos in rigctl.1 manpage. 2014-05-02 19:43:35 +01:00
Bill Somerville
6e17923dd4 Prefix action function names so as not to clash with system names.
The prefix rigctl_ is added to all parser action routine names so that
they do not clash with system names.
2014-05-02 19:16:28 +01:00
Bill Somerville
2fe2587ee5 Add a pause command to the rigctl command set.
This allows repeatable regression testing where a command has a finite
"settling" time.  This will  probably be  of most  use in  the related
rotctl command set.
2014-05-02 18:41:50 +01:00
Bill Somerville
f9ad2c21d9 Facility for rigctl to read commands from standard input.
In order to write regression tests before making disruptive changes to
back ends I have added a new command to the rigctl parser which is '-'
that causes it  to read commands from stdin until  they are exhausted.
The commands  must be white  space separated and can  include comments
from a '#' character until the end of the current line.
2014-04-30 03:05:34 +01:00
Nate Bargmann
fafbb772c5 rigctl.c/rotctl.c: fix closing brace placement
A closing brace was improperly placed before a pair of CPP #endif
directives rather than between them.  Caught by a cppcheck audit.
2014-03-07 05:55:54 -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
Nate Bargmann
f66da71719 Honor LIBUSB_LIBS when set by user
LIBUSB_LIBS was not passed to the LDADD variable for the Hamlib test
utilities.  This fix permits the user invoking 'configure' to specify a
static libusb to include the libusb symbols in libhamlib:

	./configure LIBUSB_LIBS="/usr/lib/i386-linux-gnu/libusb.a"

Note that the actual path will vary from system to system.
2013-09-23 14:27:31 -05:00
Nate Bargmann
c39b51327b 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.
2013-09-19 21:59:42 -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
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
1fd85febee 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.
2013-07-29 12:38:22 -05:00
Nate Bargmann
ea97c7c3e9 Preserve CFLAGS & CXXFLAGS for the configure user
The Automake manual makes it clear that certain user variables such as
CC, CFLAGS, CXXFLAGS, CPPFLAGS, and so on are to be preserved for the
user running configure.  This patch cleans up such assignments and
assures that PTHREAD_CFLAGS and so forth are applied to those targets
that require it.
2013-05-25 06:00:36 -05: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
2d6361397b Link to Pthread-win32 library in MinGW
The AX_PTHREAD macro sets the PTHREAD_LIBS variable, however we were not
providing this variable to the needed *_LDFLAGS variable.  With the
addition of PTHREAD_LIBS, rigctld and rotctld are now multi-threaded on
MS Windows.  Tested on Windows 2000, Windows XP, and Windows 7.
2013-05-17 21:34:24 -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
Nate Bargmann
69c2ceb957 Set LD_LIBRARY_PATH for test programs
Setting LD_LIBRARY_PATH for testcpp and testrig in the generated test
shell scripts corrects a long-standing bug that broke 'make check'.

Add Hamlib_design.eps to allow 'make dvi' to succeed when running
'make distcheck'.
2013-05-07 22:22:07 -05:00
Nate Bargmann
2f8b6c8d51 Quell compiler warnings in test programs 2013-05-07 21:35:06 -05:00
Nate Bargmann
911497ba85 man page corrections 2013-03-13 15:02:43 -05:00
Nate Bargmann
7ebe65fee8 rotctl.1: Document Readline and history additions
Document Readline and history additions to rotctl along with new
-i/--read-history and -I/--save-history options.

Document use of ROTCTL_HIST_DIR environment variable to set an alternate
path for the .rotctl_history file.

Other minor edits.
2013-02-22 21:35:54 -06:00
Nate Bargmann
275acd2a60 rotctl.c: Add options to save/read command history
As commands from a previous session may not be desired, make reading the
history file at rotctl start and writing to it at rotctl close optional
by use of the -i/--read_history or -I/--save-history options.
Compilation is conditional on having Readline and Readline History
support detected at build system configuration time.

History is stored in '$HOME/.rotctl_history' by default.  An alternate
path may be specified by setting the ROTCTL_HIST_DIR environment
variable:

$ ROTCTL_HIST_DIR=~/.rotctl rotctl -iI

will temporarily set the history directory to /home/USER/.rotctl and
create .rotctl_history if it does not exist.  If the file cannot be read
or written a warning message will be given on stderr.
2013-02-22 21:06:30 -06:00
Nate Bargmann
e34a94ad66 rotctl_parse.c: Implement history recall
Implement first cut at storing and recalling history.  At this point
history is retained for the current session only.

History is stored as complete command lines even if values are entered
at separate prompts.  Readline allows editing and even deleting recalled
history lines.
2013-02-22 21:06:30 -06:00
Nate Bargmann
e549fee11a rotctl_parse.c: Implement readline interactive mode
Initial implementation of Readline input handling.  Only if 'configure'
finds Readline will it be enabled and when enabled it will only be used
by rotctl in interactive mode.  Passing rotator commands from the rotctl
command line and rotctld use the original input handling which has not
been modified.
2013-02-22 21:06:30 -06:00
Nate Bargmann
991d1ea24c rigctl.1: Document Readline and history additions
Document Readline and history additions to rigctl along with new
-i/--read-history and -I/--save-history options.

Document use of RIGCTL_HIST_DIR environment variable to set an alternate
path for the .rigctl_history file.

Other minor edits.
2013-02-22 21:06:30 -06:00
Nate Bargmann
9f342cfd23 rigctl.c: Add options to save/read command history
As commands from a previous session may not be desired, make reading the
history file at rigctl start and writing to it at rigctl close optional
by use of the -i/--read_history or -I/--save-history options.
Compilation is conditional on having Readline and Readline History
support detected at build system configuration time.

History is stored in '$HOME/.rigctl_history' by default.  An alternate
path may be specified by setting the RIGCTL_HIST_DIR environment
variable:

$ RIGCTL_HIST_DIR=~/.rigctl rigctl -iI

will temporarily set the history directory to /home/USER/.rigctl and
create .rigctl_history if it does not exist.  If the file cannot be read
or written a warning message will be given on stderr.
2013-02-22 21:06:30 -06:00
Nate Bargmann
978a269689 rigctl_parse.c: Implement history recall
Implement first cut at storing and recalling history.  At this point
history is retained for the current session only.

History is stored as complete command lines even if values are entered
at separate prompts.  Readline allows editing and even deleting recalled
history lines.
2013-02-22 17:26:32 -06:00
Nate Bargmann
d54d737ba5 rigctl_parse.c: Implement readline interactive mode
Initial implementation of Readline input handling.  Only if 'configure'
finds Readline will it be enabled and when enabled it will only be used
by rigctl in interactive mode.  Passing rig commands from the rigctl
command line and rigctld use the original input handling which has not
been modified.
2013-02-22 17:26:32 -06:00
Nate Bargmann
7e9f628648 rigctld/rotctld: Remove -e|--end-marker option
Remove support for deprecated "End Marker" protocol in rigctld and
rotctld.
2013-02-05 14:40:41 -06:00
Nate Bargmann
477c9c7b28 Update rigctl/d man pages for querying certain parameters
The rigctl and rigctld programs support a so far undocumented feature of
being able to query supported modes in set_mode and set_split_mode,
Funcs in set_func and get_func, Levels in set_level and get_level, Parms
in set_parm and get_parm, as well as the vfo_op, scan, ans set_trn
functions.  The query may be used to get a list of supported tokens for
a given function by a rig backend.
2013-01-23 18:42:10 -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
e2bb0106a2 rigctl.1, rotctl.1: Document Q and q commands
Document expected behavior when the Q or q command is given.

Thanks to Jim, N2ADR, for the report.
2012-10-27 22:30:05 -05:00
Nate Bargmann
3bb0556f9f rigmatrix.html target is conditional in tests/Makefile
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.
2012-10-17 21:06:03 -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
55d034c834 Build system: Syntax and formatting cleanup
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.
2012-09-27 14:22:07 -05:00
Kamal Mostafa
3466512dbd Fix spelling errors 2012-08-21 19:54:50 -07:00
Nate Bargmann
e8d429fc45 Minor edits to clarify shell commands. 2012-05-12 21:11:52 -05:00
Nate Bargmann
47ec7efdb3 Update man pages for sorted -l output
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)
2012-03-01 21:22:49 -06:00
Nate Bargmann
417cb98d2e Tidy up rigctl --list output
Implemented hash table to temporarily store and sort the rig models by ID
to print the --list by model numbers.  Hash is implemented using
uthash.h, see http://uthash.sourceforge.net/

Suppressed rig backend register output by setting rig_debug_level to 0
for list output.

Removed riglist definition of RPC backend.
2012-02-13 15:28:42 -06:00
Nate Bargmann
c3bc66eafc Tidy up rotctl --list output
Implemented hash table to temporarily store and sort the rot models by ID
to print the --list by model numbers.  Hash is implemented using
uthash.h, see http://uthash.sourceforge.net/

Suppressed rot backend register output by setting rig_debug_level to 0
for list output.

Removed rotlist definition of RPC backend.
2012-02-13 15:28:03 -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
Stephane Fillod
8b26904aa5 Quell cppcheck warnings 2012-01-29 23:37:59 +01:00
Nate Bargmann
5f3226c2aa Remove ASCII degree symbol
If a degree symbol is needed in the text output, UTF-8 will need to be
used.
2012-01-12 15:40:48 -06:00
Nate Bargmann
cb1732fc2a Fix error for 'make check'
Implement several simple shell scripts to exercise various aspects of
Hamlib.  The previous implementation relied on the installation of
DejaGNU and the tests/config and tests/*.test directories were not
distributed.  Also, later Autotools documenation seems to suggest that
DejaGNU is to be replaced by Autotest.  The generation and use of simple
scripts was chosen to provide a usable check target until Autotest can
be supported.
2012-01-12 15:34:38 -06: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
1229a0a42a Assure NULL terminated strings in tests programs.
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:36:50 -06:00
Nate Bargmann
59516cbb26 Man page edits. 2012-01-07 20:36:18 -06:00
Nate Bargmann
f409370200 Update rigctl/rigctld man pages.
Document maximum pathname length for -r, -p, and -d options.
Note that -r and -m options are not optional.
Bump copyright date to 2012.
2012-01-06 23:21:31 -06:00
Nate Bargmann
b54932ec96 Assure NULL terminated strings in rigctl/rigctld
The -r, -p , and -d options 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-06 23:11:35 -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
Dariusz Bismor, SQ9KEJ
90f44c2b73 rigmem: implement CSV file loading
Patch SF#3406922 from Dariusz, SQ9KEJ, allowing for loading csv
(comma-separated values) files with rigmem.

Signed-off-by: Stephane Fillod <fillods@users.sf.net>
2011-09-11 15:25:36 +02:00
Nate Bargmann
96b1460e24 Remove set but unused variable errors in tests. 2011-08-26 15:07:40 -05:00
Nate Bargmann
0882cd696d Update GPL/LGPL header in tests source files.
TNX to Lucian Laga, YO6PLB, for the notification.
2011-08-22 21:38:37 -05:00
Stephane Fillod
23c28e84e8 Kill RPC backends and rpc.rigd/rpc.rotd 2011-08-21 13:23:01 +02:00
Stephane Fillod
421909bad2 Let set_ptt() select source, either TX mic or TX data 2011-07-20 00:09:50 +02:00
Nate Bargmann
9ebd14decd Fix man page typos
Somehow RPTR snuck in where RPRT should be.  Oops!
2011-07-08 22:55:54 -05:00
Nate Bargmann
dfc6db399b Add Win32 port usage to man pages. 2011-06-21 13:42:43 -05:00
Stephane Fillod
4e24dd6eee set_level/get_level: Improved help "?" to show already supported ext_levels
Author: Nirgal Vourgère <contact_hamlib@nirgal.com>
2011-06-14 23:18:27 +02:00
Stephane Fillod
0bfec55f10 set_trn/get_trn: more helpful/coherent args
* set_trn: Added help "?"
* get_trn: Returns OFF/RIG/POLL rather than 0/1/2, so that it matches

Author: Nirgal Vourgère <contact_hamlib@nirgal.com>
2011-06-14 23:10:47 +02:00
Stephane Fillod
bf1b3b982d add a command to halt rigctld 2011-06-14 23:09:33 +02:00
Stephane Fillod
cd5950c2ac Emulate get/set channel through vfo_op (FROM/TO_VFO) 2011-06-01 09:19:55 +02:00
Stephane Fillod
07bc66e7ab Port rigctld/rotctld to Mingw32
Sockets under Windows require specific startup and cleanup calls.
Besides, the standard fdopen() does no work on socket descriptors,
and has to be worked around thanks to _open_osfhandle().
2011-03-27 19:13:22 +02:00
Kamal Mostafa, KA6MAL
cf276991f2 Fix segfault on improper -C syntax
Avoid null pointer segfault when -C param is specified with no '=' e.g.
"rigctl -C foo".

Thanks to Charles Suprin <hamaa1vs@gmail.com> for the report.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3058 7ae35d74-ebe9-4afe-98af-79ac388436b8
2011-02-21 19:32:00 +00:00
Nate Bargmann, N0NB
ab6ef4c4fb Improve description of -t command option and w command and provided
command line invocation example.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3014 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-12-09 01:27:50 +00:00
Stéphane Fillod, F8CFE
6897781c5f fix previous commit, which was preventing the parsing of ext_levels/ext_parms
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3011 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-12-02 22:23:57 +00:00
Stéphane Fillod, F8CFE
8690fb0594 Implement exit status according to manual page:
1 if there was an invalid command line option or argument;
  2 if an error was returned by Hamlib.


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3009 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-12-01 21:41:55 +00:00
Stéphane Fillod, F8CFE
9de8e3f1d2 Add Mark/Space serial parity
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2996 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-10-26 19:31:09 +00:00
Stéphane Fillod, F8CFE
34862ff7cd fix in the example, thanks to Pino ZP4KFX
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2946 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-06-29 20:59:05 +00:00
Stéphane Fillod, F8CFE
a702f4a8ae - Tx VFO arg checking in set_split_vfo()
- get/set channel improvements (stdout flushing, ext_levels, ..)


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2928 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-05-28 19:47:35 +00:00
Stéphane Fillod, F8CFE
a7c37f8a69 necessary stdout flushing in interactive mode with prompt, under win/wine
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2909 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-05-05 20:11:55 +00:00
Stéphane Fillod, F8CFE
c3bb49d5c5 Only dump serial specs for serial type rigs
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2896 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-25 17:30:52 +00:00
Stéphane Fillod, F8CFE
ecda326342 - allow litteral command for \move
- added dump-caps option to rotctl


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2895 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-25 17:29:53 +00:00
Stéphane Fillod, F8CFE
6ee58f0bff get ready for IPv6
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2883 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-16 20:50:14 +00:00
Stéphane Fillod, F8CFE
1404b754fe portability of long long
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2880 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-16 19:04:00 +00:00
Stéphane Fillod, F8CFE
2a15ba8d4b details for AGC level
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2879 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-14 20:08:22 +00:00
Stéphane Fillod, F8CFE
a4ceac893e mode listing
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2871 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-13 18:36:29 +00:00
Stéphane Fillod, F8CFE
d8d60cd2e7 error checking when parsing
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2867 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-05 10:15:36 +00:00
Stéphane Fillod, F8CFE
453995e7c0 fix segfault and allow mode listing in rigctl
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2865 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-04-05 10:01:09 +00:00
Stéphane Fillod, F8CFE
462ebd1df4 Copyright date update
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2851 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-03-07 14:00:34 +00:00
Stéphane Fillod, F8CFE
5be226561b fix mixup
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2844 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-03-03 08:34:00 +00:00
Stéphane Fillod, F8CFE
12609c8f97 fix warning
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2843 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-03-03 08:33:27 +00:00
Nate Bargmann, N0NB
b261cea22e Reserve '#' for comments in Extended Response Protocol
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2842 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-03-01 22:37:06 +00:00
Nate Bargmann, N0NB
1f6604b188 Complete addition of Extended Response Protocol to rigctld
Update and synchronize rig and rot ctl(d) man pages
Update testctld.pl for ERp.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2837 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-18 00:18:54 +00:00
Nate Bargmann, N0NB
61b0062547 Correct command section for rotctld in POD
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2836 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-15 01:37:39 +00:00
Nate Bargmann, N0NB
e6f311cdd0 Really set rotctl/rotctld to follow debug level set on command line.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2835 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 23:58:54 +00:00
Nate Bargmann, N0NB
cba52fadf5 Remove default verbose setting of 2, call it when needed.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2834 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 23:41:19 +00:00
Nate Bargmann, N0NB
162c7533b2 New file for rotctl/rotctld dump_caps support.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2833 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 23:20:07 +00:00
Nate Bargmann, N0NB
f6abb91e0f Synchronize rotctl and rotctld man pages.
Give "NET rotctl" example in roctl man page.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2832 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 23:01:53 +00:00
Nate Bargmann, N0NB
121f4a996b Implement and document Extended Response Protocol for rotctld
New test program, testrotctld.pl for rotctld
Implemented locator.c functions in rotctl and rotctld



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2831 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-14 22:18:00 +00:00
Nate Bargmann, N0NB
67c2ecfefb Rewritten to support Extended Response protocol
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2828 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-08 23:38:08 +00:00
Nate Bargmann, N0NB
14841cf118 Removed -b|--block option in favor of using '+' prepended to a command
from the client to request Extended Response protocol.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2827 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-08 23:37:07 +00:00
Nate Bargmann, N0NB
7adf24115f Added support for set/get _split_vfo, _split_freq, and _split_mode,
power2mW and mW2power and tested with rigctld.

Refactored regexps for user entry tests.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2825 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-06 15:07:28 +00:00
Nate Bargmann, N0NB
fb4f7258bc Rewrote power2mW to work with modern rigctl and rigctld.
Added mW2power for conversion the other way from power2mW.

Text label edits to dumpcaps



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2824 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-06 15:05:17 +00:00
Nate Bargmann, N0NB
bc35b7df95 Added \dump_caps as tested
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2822 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-04 01:00:22 +00:00
Nate Bargmann, N0NB
bfba07889b Now tests for state of "block" and "vfo" in rigctld and acts accordingly.
More rewrites to consolidate separate set_ and get_ functions into rig_cmd
Added support for handling \dump_caps in a limited fashion



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2821 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-04 00:58:44 +00:00
Nate Bargmann, N0NB
5e47dcf8d3 Added two new commands to rigctl_parse.c, \chk_blk and \chk_vfo to allow
clients to query the state of the -b|--block or -o|--vfo options from rigctld

Cleaned up strings in dumpcaps.c to remove duplicates to facilite
their use as key:value pairs

Updated rigctld man page for new commands



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2820 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-02-04 00:53:56 +00:00
Nate Bargmann, N0NB
f698692e83 First cut as rewrite to make testctld.pl interactice ala rigctl.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2816 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-01-28 12:26:45 +00:00
Nate Bargmann, N0NB
ef4fea6522 Add info about 'rigctld', 'rotctld', and 'testctld.pl
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2815 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-01-25 12:20:35 +00:00
Nate Bargmann, N0NB
af20dcae80 Upload correct version this time...
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2814 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-01-25 03:44:25 +00:00
Nate Bargmann, N0NB
52a87d096c Added initial support for Block protocol in rigctld and documented same.
Rewrote testctld.pl for new block protocol and included it with 
source distribution.



git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2813 7ae35d74-ebe9-4afe-98af-79ac388436b8
2010-01-24 23:24:20 +00:00
Terry Embry, KJ4EED
bad429c950 Eliminated "warning: ignoring return value of scanf"
for functions set_channel() and power2mW()

 line, and those below, will be ignored--

M    rigctl_parse.c


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2780 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-12-06 21:07:23 +00:00
Stéphane Fillod, F8CFE
45e49fc24c missing R&S backend
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2763 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-11-03 21:04:36 +00:00
Stéphane Fillod, F8CFE
5f4a438b62 fix syntax, thanks to debian qa for noticing
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2762 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-11-03 20:47:15 +00:00
Stéphane Fillod, F8CFE
eaf810ea3a check for memory support
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2724 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-09-14 07:27:58 +00:00
Stéphane Fillod, F8CFE
3f7d602f56 copyright clarification
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2709 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-06-23 20:30:22 +00:00
Stéphane Fillod, F8CFE
c14de60c41 Use pkg-config check for libxml2 instead of ancient m4 macro, patch by Priit Laes
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2677 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-03-21 11:19:02 +00:00
Stéphane Fillod, F8CFE
3aeba72501 copyright year
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2647 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-02-20 12:26:13 +00:00
Stéphane Fillod, F8CFE
17a23e0f55 typo
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2638 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-02-17 08:03:52 +00:00
Stéphane Fillod, F8CFE
bef812b7e4 report hamlib version upon startup
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2637 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-02-17 08:03:22 +00:00
Stéphane Fillod, F8CFE
303b617827 added RIG_CONF_BUTTON
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2623 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-02-06 17:28:38 +00:00
Stéphane Fillod, F8CFE
17c07cc3af fix segfault with extra levels
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2598 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-28 22:49:58 +00:00
Nate Bargmann, N0NB
081831054f Minor documentation updates.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2586 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-15 03:45:08 +00:00
Terry Embry, KJ4EED
bdd0bf3e25 memset channel_t chan in get_channel
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2560 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-05 02:20:59 +00:00
Stéphane Fillod, F8CFE
025c1f4dd1 flexible command termination for send_cmd
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2557 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-04 14:49:17 +00:00
Terry Embry, KJ4EED
a18e75470f Partially implemented set_channel
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2556 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-04 14:23:43 +00:00
Martin Ewing, AA6E
0cc33fb486 Example updates
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2553 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-04 01:27:43 +00:00
Terry Embry, KJ4EED
dec970e047 Adjusted Bandwidths: to see NFM, NAM modes
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2549 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-03 14:16:49 +00:00
Martin Ewing, AA6E
5af5c82996 use rawstrength.i which matters in PPC compile
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2545 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-02 03:51:40 +00:00
Stéphane Fillod, F8CFE
be4c171328 fix send_cmd bug, patch by Rob Frohne, KL7NA
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2544 7ae35d74-ebe9-4afe-98af-79ac388436b8
2009-01-01 18:19:26 +00:00