Because WSJT-X currently uses Hamlib-3 (statically linked) it also
needs a version of rigctld with Hamlib-3 statically linked for any
user that wishes to use the "Hamlib NET rigctld" CAT interface to
remotly access a rig via IP using the Hamlib network control protocol.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4297 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Applied techniques learned from dealing with HRD quirks and TCP/IP
client issues on Windows to the DX Lab Suite Commander
interface. These changes should hopefully make both the HRD and DX Lab
Suite CAT interfacing more robust in the face of network and other
latency issues or server failures.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4296 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Assume the defect requiring occasional retries of
QTCPSocket::waitReadReady() is generic; the same retry mechanism as
used in the HRD interface has been impelemnted in the DX Lab Suite
Commander TCP/IP interface.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4295 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Monitor mode was not being enabled when clicking the "Tune" button
which could mean that neither split mode nor the correct TX frequency
were being set.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4270 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Split mode was not being enabled when enabling monitor mode for the
first time if the rig split VFO was already at the required frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4269 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Cleaned up and standardized many the diagnostic messages from the
Hamlib interface and added a few new ones for clarification.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4268 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The TCP/IP socket write handling in teh HRD inteface was naive and did
not handle incomplete writes t all. This change loops until all the
payload is written for each command sent.
Also error handling is improved so that a socket in an error state
cannot get used inadvertenly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4263 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Checks for existance of one button and one drop down were incorrect.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4257 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because of a possible Windows or Qt defect in TCP/IP received bytes
detection it seems necessary to retry QTCPSocket::waitReadReady()
blocking calls after a time out response as there may actually be data
waiting.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4256 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These programs are mentioned in the user guide so have been added to
the depolyable packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4254 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Since the manual URL is used in both the installer and the WSJT-X code
the definition of the URL (CMake variable PROJECT_MANUAL) is defined
in the CMakeList.txt file and propagated to the source via the
wsjtx_config.h header.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4252 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Enhanced the logic for saving and restoring to/from settings of the
shared configuration field for CAT serial port and CAT network port so
that old values are not discarded and new values are correctly
recovered on restart.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4245 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The CAT/network port name was being overwritten with the CAT port name
during startup so if the port was a network device it was not being
persistent across restarts.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4243 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
It appears that the HRD logbook interferes with the HRD IP server
causing it to fail to respond to pending commands. This enhancement
adds a number of retries to the send command to HRD operation.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4241 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Qt test mode that uses special paths for writeable files (via
QtStandardPaths) doesn't make a special temporary file path. This
change appends " - test_mode" to the WSJT-X unique temporary file path
so that an application run in test mode will not interact with another
running in normal mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4240 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
It appears that Hamlib uses two different return codes to indicate
missing functionality and doesn't use them consistently. The Hamlib
rig control code now checks for either code when testing for function
availability.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4239 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because some HRD rig interface implementations are lacking features we
need, instead of failing fatally when a needed feature is missing, we
now do not require the missing feature. This means that some rigs will
not work correctly, for example setting split, PTT or mode may not
work if no such feature is present in the HRD interface.
This came about due to the TenTec Omvi VII HRD interface having no
split, vfo selection or, PTT facilities. With this change at least
some basic functionallity is possible.
Not being able to set split is potentially dangerous since WSJT-X may
set tones assumeing a split TX frequency. Until the HRD CAT interface
has a mechanisim to signal the missing capability we will have to hope
that users realise the deficiency and don't attempt to enable split
working on such a setup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4235 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Hamlib backe end capabilities table is not reliable when the back
end is the Hamlib Net one. This is because that back end claims all
functions available but a call may fail on execution due to the actual
remote back end target not supporting it.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4234 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Hamlib knows for each rig back-end which type of PTT switching is
available, we don't need to set it as the default is always
correct. Setting it to "RIG" was disabling the ability to use the rear
audio input select version of CAT PTT on rigs that support it
e.g. Kenwood TS-590s.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4224 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The TXAudioSource was being saved as a boolean value instead of the
enumeration value. This caused the read back from settings logic to
fail silently.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4220 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
An old settings key was lurking in the Configuration code.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4218 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Sometimes parts of the application are not fully ready for release at
release time. This option allows such features to be enabled
conditionally at configure time.
The CMake option WSJT_ENABLE_EXPERIMENTAL_FEATURES is used to control
this ability. Normally you will not need to change it as it behaves
in a reasonable way. The option is ON in debug build configurations
and OFF in non-debug configuratiuons.
The option is made available in all source modules via the
WSJT_ENABLE_EXPERIMENTAL_FEATURES macro which is defined to 1 if the
option is ON and to 0 if it is OFF.
Since this default behavior is potentially dangerous because it can
mean that release builds contain different code from debug builds; the
option may be set to OFF in debug configurations in the normal way
(cmake-gui, edit CMakeCache.txt, etc.) to achieve a debug build
similar to a default release build.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4182 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Fake split mode attempts to take the rig out of split mode on
initialization and this caused an error when the rig doesn't support
split control via CAT. This specfic error is now ignored to allow fake
split mode to start cleanly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4174 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The validation processing of the free text line edit field was causing
the cursor position to be lost.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4148 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Some non-modal help windows were not being automatically closed on
application exit.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4143 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
It is now possible to override the default locations hard coded in
this file with local preferences.
The variables that can be overridden are HAMLIB_DIR and DESTDIR.
To override, add local variable assignments on the intial qmake
command line. E.g.:
qmake HAMLIB_DIR=c:\my\local\hamlib\installation DESTDIR=c:\my\local\install\destination
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4141 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
to minimum in several places so that window contents extend to the
edges and widgets are packed more tightly. Arguably this makes
better use of available screen space.
Comments will be appreciated! If people don't like these changes,
they can be reverted.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4138 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Frequency changes must be made while the rig is in RX mode otherwise
they can end up getting ignored on some rigs.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4137 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Some rigs like the FT-857(D) have multiple modes that only have one
representation in the Transceiver class, e.g. FM, FM(N) and WFM. The
HRDTransceiver class now allows multiple modes to be mapped to one
Transceiver::MODE, the last match in the HRD mode dropdown is used
when mapping a Tranceiver::MODE to a HRD mode setting which is
normally the most suitable mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4135 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
I had inadvertantly locked WSJT-X into Qt 5.2 or later by using this
class which only appeared in Qt 5.2. I have made the usage
conditional on Qt version so that builds still work with any Qt 5
version.
As a result builds against Qt version < 5.2 no longer support command
line arguments, so multi-instance support now requires Qt 5.2.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4063 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The new suspend/resume approach to the received audio stream causes a
reset to the input sample buffer on resume. This is desired behaviour
except when the stream in not actually suspended. The monitor function
was not checking this when resuming monitoring and this caused decodes
for a period to be abandonded simply by using the "Halt TX" button to
turn off automatic transmission mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4059 ab8295b8-cf94-4d9e-aec4-7959e3be5d79