This tries to account for function calls in different threads
separately by decorating the function name with the thread number it
is running in. This may not be the best strategy for performance
timing but it is the easiest way of making it thread safe that I can
see.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4924 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change introduces the program jt9_omp which is a testbed for a
multi-threaded version of the jt9 decoder program. The program jt9_omp
should be a directly substitutable for jt9 except that JT65 and JT9
decodes are computed in parallel.
Also enable the OpenMP directives in decoder.f90 - note this is not
yet a working multi-threaded decoder and the existing jt9 is still the
correct decoder to be used in WSJT-X.
Increased the available stack size for jt9_omp.exe as this is a hard
limit on Windows and the default is not big enough for the OpenMP
version of jt9.
Also Fortran array bounds checking is now disabled for Release
configuration builds so as to improve performance a little.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4922 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also note: something's wrong when trying to decode a file read
by the GUI from disk. Will fix it soon...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4920 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The long FFTs can now use the multi-threaded FFTW routines.
Subroutine decode9.f90 was renamed jt9fano.f90.
The JT9 decoder's top-level functions were removed from decoder.f90
and put into a separate subroutine decjt90.f90.
Subroutine decoder.f90 is now configured for possible use of OpenMP
SECTIONS, with the JT9 and JT65 decoders running concurrently on
a multi-core machine. Note, however, that this concurrent processing
is not yet fully implemented. Probably calls to timer need to be removed;
some variables used in calls to jt65a and decjt9 may need to be
declared PRIVATE in decoder; some sections probably need to be declared
CRITICAL; probably some SAVE statements in downstream routines have
made them not thread-safe; etc., etc.
I'm a neophyte at using OpenMP. Comments, suggestions, and/or tests by
others will be welcome!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4919 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
New command-line option for jt9: [-m nthreads]. Default is nthreads=1.
Also refactored a loop in filbig.f90 that was taking far too much
time.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4916 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These tools are no longer part of a standard OS X install and would need to be
installed via the Xcode commnd line tools. Instead the KVASD binary has been
preprocessed and the Mac KVASD installer simply injects the KVASD binary into
the target application bundle(s).
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4906 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Since the last monitored dial frequency is stored and restored from
the settings the +2kHz setting should only set the state of the check
box when initializing and not attempt to adjust the dial frequency.
Merged from the wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4903 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
DX Lab Suite Commander now returns "DIGU" and "DIGL" for AFSK modes
rather than RTTY & RTTY-R.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4895 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The PollingTransceiver class was not dealing with frequency change
commands correctly when the mode was not specified.
Improved some diagnostic messages.
Only leave transmit mode when PTT is seen to drop.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4886 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Thanks to Mike W9MDB for contributing this as a patch. Also added a
few more in elsewhere.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4883 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
We have to ensure that the band and mode along with the frequency of
both VFOs is set before attempting to enable split mode.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4879 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The kvasd binary need only be downloaded if the MD5 hash for it has
changed.
Also fixed a defect in the status check of the MD5 hash download.
Also switched to HTTP protocol as it is quick and gives clearer error
messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4830 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This code comes from a patch supplied by Dmitry Budanov (callsign??).
I have not tested it beyond seeing that it compiles properly. If
anyone has Xlog installed on a Linux machine, please test and let us
know if all is well.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4824 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also cleaned up duplicate trace output.
Using the DX Lab Suite Commander CAT interface with rigs like the
TS-2000 requires that split mode be set after changing the Tx
frequency. This is because setting teh Tx frequency disables split
mode.
With some Icom rigs the rig must be in split mode before setting the
Tx frequency otherwise the Tx frequency change will not be honoured.
To fix this the sequence set-split, set-tx-frequency, set-split must
always be used to change the Tx frequency.
Support for new DX Lab Suite Commander TCP/IP commands
Dave AA6YQ has added two new commands to the Commander server to allow
more reliable control.
Requires DX Lab Suite Commander 11.1.4 or later.
Ensure split Tx frequency agrees with UI before transmitting
Ensure split works on Yaesu via Hamlib without breaking others
Also improved class HamlibTransceiver debug trace messages.
Merged r4776-r4779 from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The rigctl program is not used directly by WSJT-X but it does contain
the same Hamlib code from the Hamlib v3 fork as WSJT-X and
rigctld-wsjtx. So it makes sense to distribute it as a testing tool or
for any user that needs it to converse with the rigctld-wsjtx server.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4775 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Disable drag and drop target selection in KVASD-installer
The Mac KVASD-installer running on OS X 10.7 crashes when trying
to process a target selected by drag and drop. Due to issues
debuging issues on 10.7 with Xcode 4, I have disabled the
feature since there is an alternative mechanisim available.
Merged r4754 & r4756 from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4757 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Pass the temporary directory to jt9 and use it to give the correct
paths to temporary files. Also jt9 passes the absolute path to
kvasd.dat in the temporary directory to kvasd.
Clear out all the annoying cruft that has accumulated due to having to
run with $CWD as the temporary directory.
Use QStandardPaths to find the writable data directory where needed
rather than passing it around between objects. This now works because
the $CWD hasn't been changed.
Do away with the CMake option WSJT_STANDARD_FILE_LOCATIONS as it is no
longer needed.
Fix astro status file azel.dat formatting.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
When tab 2 is current the action of F4 is to set the next message to
transmit the standard
Merged from branch wsjtx-1.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4693 ab8295b8-cf94-4d9e-aec4-7959e3be5d79