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.
This issue came to light with the HDSDR program which has no ID
command response. For these awkward cases try an FA command to check
if the rig responds then use that same FA command for set command
verification. Otherwise use the ID command as before.
Kenwood, modern Yaesu rigs and many SDRs use an auto information
mechanism that broadcasts unsolicited rig state changes, Hamlib does
not support this and turns off the function. Because several passive
devices rely on this information to detect band changes for example
this change adds code to save the AI state on start up and restores it
on exit. These devices do no need the broadcasts since when an
application using Hamlib is running as necessary state polling by the
application provides continuous rig state updates.
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.
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.
As with Kenwood, the new style Yaesu rigs do not ACK set commands.
Rather than wait for an error, it is quicker to send a follow up
simple query (e.g. ID;) and read the reply, if it is a valid response
then the original set command worked; if it is a NACK response e.g. ?;
then the original command failed. Use this mechanism to initiate
retries of the original command.
Current code always tries to set data mode with 'DAx' command after
setting the mode. According to 'PC control command reference' manual
that results in error for the CW, FSK and AM mode.
The provided patch sends 'DAx' only if we have some of the other modes.
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.
A small patch. Allows the FT-991 to work with Fake Split in WSJT-X.
FT-991 Rig Split does not work due to audio routing (at least not with
the USB port).
The 991 needs a delay after transmit is turned off and 50ms works.
73
Mike W9MDB
Attached fixes some problems with the Yaesu FT-991 exposed by recent
WSJT-x releases.
Made Yaesu newcat_get_cmd globally available.
Fixes a small bug in a debug print for frequency.
Adds a couple of TRACE debugs.
FT-991 now does split mode.
Tested and working on WSJT-X r5675 JT65/JT9 and WSPR mode.
73
Mike W9MDB
Patch for TenTec Omni VII to allow rig control with latest version of
wsjt-x.
This has been broken for a while due to some change in wstj-x which
caused a new error to show up.
73
Mike W9MDB
Note that this patch does not enable builds with whitespace in $SRCDIR
or in `pwd` but it does at least get as far as running configure which
will fail with a meaningful warning about unsafe characters in the
offending paths.
Attached small patch allows Omni VII to set VFO_CURR correctly.
Sending this via gmail since my yahoo account doesn't get along with the
sourceforge lists.
73
Mike W9MDB
Because the dummy rig provides a get_ptt function it must look at the
hardware PTT if that is being used and or that state into its result.
This issimilar to a real rig that would be in tx because of the
control line.
The previous commit introduced a regression that masks any error
return from opening the serial port used for PTT when that port is
different from the CAT serial port.
Before this change only the line used for PTT was being lowered on
open. It is necessary for platforms other than Windows to avoid
issues with other uses of the line not used for PTT such as interfaces
that wire-or RTS and DTR together or use it for CW or FSK keying. This
is because platforms other than Windows raise both DTR and RTS on
serial port opening.
Also changed code that opens CAT port to lower RTS or DTR if it is
used for PTT. In this case there is no need to lower the other line of
DTR or RTS as there is already a config parameter to control it
(dtr_state or rts_state). This change is necessary to maintain current
functionality.
It is targetable for read so set as targetable and added extra code in
set funnction to toggle VFOs where necessary. This is better than
setting as not targetable since reads do not have to toffle VFOs.
The serial port line control functions take a boolean argument not a
ptt_t argument. Changed usage in rig_open() to use a explicit zero
instead of RIG_PTT_OFF value which only coincidentally happens to be
zero.
All,
attached is a git patch for adding the Yaesu FT-DX1200 radio to the yaesu
backend as model 134. I am humbly asking for this to be included in
hamlib.
I've tested this using a 1200 radio, using both rigctl and cqrlog. The
ft-dx1200 cat commands are a mix of ft-950 and ft-2000 radio commands, so
neither of those models will work correctly with the 1200. It was tested
and build against the master branch from github on 4/3/2015, on an Ubuntu
14.04 server.
Let me know if you have any questions.
thanks
Dave
kk6df at arrl.net
From cc0351fddc245b6223ae6c21dc6e29c5422fc822 Mon Sep 17 00:00:00 2001
From: David Fannin <dfannin@sushisoft.com>
Date: Sat, 4 Apr 2015 09:23:49 -0700
Subject: [PATCH 1/2] adding yaesu ft-dx1200 model to yaesu backend
Rather than use an oversize buffer and let the reads time out I have
set the expected length to what should come back. This means that
lengthy timeouts are not required every time a response is read.
Also added undocumented split set/get and PTT on/off.
On the FT450 one must select the target VFO using the VSn; command
before attempting to change the frequency. Ths change does that and
reverts the current VFO if necessary.