Use the data-sections and function-sections gcc/g++ compiler options
to create sections for each function and data item then use
gc-sections in the link to discard all unreferenced sections.
This has most benefit if the hamlib library we statically link is also
compiled with data-sections and function-sections.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4351 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
WSJT-X was attempting to set the split Tx frequency when a dial change
from the rig is detected. Because of the way some rigs and rig servers
report the Tx frequency while the rig is in Tx mode this was causing
the rig to "walk" along the band. Setting of split Tx frequency has
been limited to WSJT-X initiated instances only.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4350 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Some rigs either do not honour some CAT commands while transmitting or
interpret them incorrectly. To deal with this a settings option to
allow TX frequency changes while transmitting has been added with a
default value of off.
Any UI actions that directly or indirectly change the TX frequency are
guarded according to this new option. As well as this band changes and
use of the +2kHz check box are disabled and guarded respectively in
transmit mode.
Mode changes via the menu are now disabled while transmitting.
When TX frequency changes are allowed; frequency changes are correctly
implemented while in tune mode.
Double clicking decodes while transmitting now correctly regenerate
and change the message sent on the fly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4349 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The frequency offset (transverter offset) was not being applied to the
setting of a split TX frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4348 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The TransceiverBase class attempts to turn off PTT on closedown, this
was causing an infinite loop if the close down was due to a CAT
communications error.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4347 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the WSJTX_RC variable in Versions.cmake to label and identify
program and packages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4338 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The define PROJECT_MANUAL is defined by the CMake build system, this
has been hard coded in the wsjtx.pro file to allow old style qmake
builds to continue working.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4332 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To aid rapid diagnosis of missing HRD support in WSJT-X for untested
rigs the HRD interface now writes a text file with the available HRD
facilities for the rig to the data directory. The intent is to have
users experiencing problems interfacing untested rigs to sub,it the
file to us (the developers) for analysis and updating the regexps in
teh HRD interface to support their rig in the next release.
The text file is called "HRD Interface Information.txt".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4330 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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