Commit Graph

235 Commits

Author SHA1 Message Date
Bill Somerville
33b1742568 Add QSO state machine state and tx audio offset to parameters passed to slow decoders
Required to pick best AP masks in FT8 decoder

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7958 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-26 21:19:21 +00:00
Steven Franke
dc5305573d Move '?' quality warning to message(22:22).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7945 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-25 19:06:05 +00:00
Steven Franke
d06912a075 More informative end-of-line annotation for AP decodes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7935 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-22 17:12:48 +00:00
Steven Franke
bbbcae9233 Add variables lapon and napwid to control ap decoding. Reconfigure the logic for AP decoding and ordered-statistics decoding.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7933 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-22 03:01:09 +00:00
Joe Taylor
73df0d00ef 1. Alt+F8 arms "Call 1st" as if a CQ had been sent.
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
   "data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7928 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-20 15:15:00 +00:00
Steven Franke
4594aaa589 Work on ap decoding. Diagnostic write enabled.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7925 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-18 01:12:11 +00:00
Joe Taylor
a8cba435d4 Code cleanup and test ofFT8 decodes with erasures. Do not use on the air.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7879 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-14 16:02:01 +00:00
Steven Franke
1c2695332a Send mycall,hiscall,hisgrid into the ft8 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7797 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-06 20:00:42 +00:00
Joe Taylor
ab3832fa82 In ft8_downsample, compute long FFT only when data have changed.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-03 19:52:36 +00:00
Bill Somerville
f73a35842a Reduce stack usage of F8 decoder modules
Reverted to default stack allocation for jt9.exe on Windows.

Tidied up FT8 decoder inteface  to remove arguments that will probably
never be used.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7768 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-01 18:46:14 +00:00
Joe Taylor
e20bd5eae1 Don't execute AutoSeq steps after sending a 73.
For FT8 mode:
  1. Open LU 13 in the proper way.
  2. Disable diagnostic LU 51.
  3. Add keyboard shortcuts CTRL+Plus, CTRL-Minus, to adjust audio Tx frequency
     in even 50 Hz steps.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7749 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-29 13:42:24 +00:00
Joe Taylor
80ad721524 Code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7742 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-27 20:50:17 +00:00
Joe Taylor
41336209c8 Rearrange some FT8 code for consistency with other modes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7741 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-27 19:44:12 +00:00
Joe Taylor
91fbeff072 Many GUI adjustments for FT8.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7736 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-26 15:24:56 +00:00
Joe Taylor
3ba80279ec Start a framework for FT8 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7727 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-17 15:55:30 +00:00
Joe Taylor
3c7e20b05b Better scheme for displaying QRA65 sync results.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7561 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-10 16:38:19 +00:00
Joe Taylor
f66d142963 Try up to three times to open 'decoded.txt".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7559 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-07 14:31:11 +00:00
Bill Somerville
cf97a23379 Temporarily disable the Tx/Rx transient suppressor introduced in r7424
This code was causing the JT9 decoder  to fail to decode, maybe due to
high  noise  levels  and  the resulting  discontinuity  introduced  by
zeroing out samples.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7555 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-27 02:22:54 +00:00
Joe Taylor
df35f519df 1. As a test, zap any data at start if id2() that appears to be a T/R transient.
2. Send emedelay (now 0 or 2.5) to QRA64 decoder.
3. Tweaks to sync64, making it better for QRA64A.
4. Mainwindow MessageBox if it attempts to open a file with wrong format.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-22 20:51:27 +00:00
Joe Taylor
ec7e099cf8 Further adjustments to sync64; extend QRA64 data length to 54 s; some code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7414 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-20 21:27:23 +00:00
Joe Taylor
82ecc6afcf Correct the sending of minsync to decoder. Fix statement ordering that affects timer calls.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7370 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-08 15:38:54 +00:00
Joe Taylor
f9a078dd8b Revert to displaying Nico's return code with QRA64 messages. Suppress a few false decodes that cannot be correct messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7342 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-28 15:11:00 +00:00
Joe Taylor
5da4ae6363 Set naptype properly; protect nap() index from out-of-range values.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7341 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-27 16:38:39 +00:00
Joe Taylor
4838d97370 New parameters for AP decoding in QRA64. Do not use this revision on the air!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7340 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-27 15:50:47 +00:00
Joe Taylor
869d62aae1 Change the indicator from 7 to 6: max number of AP bits is 68.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7337 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-23 12:40:48 +00:00
Joe Taylor
76e8f5ec85 In place of the qra64 return code as is, display a number that increases monotonically with the amount of a priori information used.
Here's the translation, as a lookup table.  The displayed number is the tens
digit of the number of a priori bits.

rc  APxx  displayed
-------------------
0     0      0
1    27      2
2    42      4
3    29      2
4    44      4
5    57      5
6    29      2
7    44      4
8    72      7
9    55      5
10   70      7
11   70      7



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7325 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-21 16:51:11 +00:00
Joe Taylor
72dfe01bf3 Working on QRA64 sync, snr estimates, etc., for QRA64 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7321 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-15 21:39:55 +00:00
Joe Taylor
a251c045e3 Rationalize several VHF-oriented features of the JT4 and JT64 decoders. More additions to the User Guide.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7227 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-24 20:48:24 +00:00
Joe Taylor
87d4f2fdbc Use bVHF rather than single_decode to control display of params at end of decode line.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-24 15:25:25 +00:00
Joe Taylor
f5737348fe Good decode implies sync OK. Also some code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6949 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-26 16:44:35 +00:00
Joe Taylor
77e295d36d Plot a red "sync" curve in QRA64 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6876 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-06 14:18:23 +00:00
Joe Taylor
63fa30b0b2 A few more renames, QRA65 --> QRA64.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6849 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-02 12:48:27 +00:00
Joe Taylor
bb1e8f6692 Minor tweaks to QRA sync handling.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6844 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-01 15:25:41 +00:00
Joe Taylor
e23017d9e3 Improving the QRA sync-detect algorithm.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6843 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-01 15:16:00 +00:00
Joe Taylor
0384d312a6 Temporary mode QRA02 is now basically functional (though buggy).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6833 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-30 20:38:36 +00:00
Joe Taylor
529ad6eec9 First functional decoder for QRA01.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6805 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-24 14:36:03 +00:00
Bill Somerville
5e7b750ac3 Initialize decode counts before decoding
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6750 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-09 23:39:19 +00:00
Joe Taylor
22340f66e4 Suppress some compiler warnings. (More to come...)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6748 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-09 19:39:48 +00:00
Joe Taylor
27fb2d8126 Minor cleanups and corrections to the JT4 and JT65 decoders when
using deep search and/or averaging.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6696 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 16:00:00 +00:00
Joe Taylor
4bcc4f35a1 Much improved detection of sync in JT4 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6686 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-19 19:19:47 +00:00
Joe Taylor
1531f3ad3b New format for end-of-line flags in JT4 and JT65; starting work on
establishing sync in JT4.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6685 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-19 16:13:51 +00:00
Joe Taylor
6bbfb0e1f1 Mark JT4 Fano decodes with 'f'.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6680 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-17 19:33:33 +00:00
Joe Taylor
f5cec462d4 Resolve more issues for display of JT4 decodes; improve JT4 sync at low spread.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6679 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-17 18:34:57 +00:00
Joe Taylor
f82ee7c4e3 Correct several VHF/UHF/Microwave items on Rex's list. Specifically:
1. Allow display of JT65 single-line decodes when there is also an
   average decode.
5. Do not call JT4 deep search if Fano decode has succeeded.
7. Fix occasional Fortran error seen with the "#" (nflip=-1) sync.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6678 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-17 17:19:27 +00:00
Bill Somerville
a45ea3cdff Adjust decodes displays and processing for extra csync indicator after mode
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6674 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-05 18:53:00 +00:00
Bill Somerville
8bced492e6 Remove premature inclusion of padding space character in JT9 decodes
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6672 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-05 01:32:38 +00:00
Bill Somerville
e59af9a781 Strip out callback arguments that are constant and known to the callback implememtation
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6671 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-05 01:32:30 +00:00
Joe Taylor
1af1a2d97e If not in single-decode mode, display only the first character of csync.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6669 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-05 00:00:54 +00:00
Joe Taylor
bff84e0e37 Use '$' to flag JT4 mode in the 2-character csync.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6668 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-04 18:59:18 +00:00
Joe Taylor
a402645e75 Remove unused code from sh65.f90. Make csync a 2-character flag.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6666 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-04 18:16:09 +00:00
Joe Taylor
8cef34fe11 Starting to implement decoding of JT65 shorthand messages. Needs testing!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6665 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-03 20:30:49 +00:00
Joe Taylor
4346f0ef97 Enable JT65 decodes with the 'OOO' sync pattern.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-03 16:10:22 +00:00
Joe Taylor
1a9c6b3b6f Correct a problem with flagging supposedly bad data when reference spectrum
is used.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6624 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-18 14:15:09 +00:00
Joe Taylor
c7dfc1ee00 1. Protect against wrong ID of f0 being fit by lorentzian(), when Ftol is large.
2. When switching to JT65 mode, go through JT9 first.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6621 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-14 13:22:05 +00:00
Bill Somerville
e565e1796a Clean up some compiler warnings
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6591 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 22:37:22 +00:00
Bill Somerville
53308a941b Make flag variables boolean types especially those passed between languages
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6585 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:11:19 +00:00
Joe Taylor
e212367221 First decodes of wide/slow JT9 submodes from within wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6577 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-05 14:17:34 +00:00
Joe Taylor
cb8eeba835 Add submode to argument list of JT9 subroutine decode().
Add test program fersum; several tweaks to fer65.
Code cleanup in lorentzian, and return chisqr in a(5).


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6567 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-01 17:57:08 +00:00
Joe Taylor
af0d04ef72 Minor tweaks to logic for displaying Avg and DS decodes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6552 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-23 15:08:00 +00:00
Joe Taylor
3e091fca99 Improved GUI control and display of averaged and hinted decodes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6548 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-22 14:12:59 +00:00
Joe Taylor
846ddf9039 1. Clean up GUI features releted to message averaging and deep search.
2. Make averaging and DS separately selecteble.
3. Clear nftt and avemsg on Clear Avg.
4. Allow fer65 to handle message averaging.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6543 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-21 16:03:11 +00:00
Joe Taylor
331402213a Several changes for single-decode behavior:
1. Use "f" to flag FT decodes, 'h' for hinted decodes.
2. Let "Experience-based" checkboxes activate hinted decoding.
3. Singls-sequence decodes go to left window, average decodes to right.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-20 19:32:08 +00:00
Joe Taylor
9f388b63dc Many changes in aid of decoding signals with significant Doppler spread
in submodes JT65B, C.  More changes still to come!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6535 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-17 13:28:57 +00:00
Joe Taylor
04e765c605 Replace all "common/test00?" with "use jt65_mod", etc.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6515 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-10 14:25:22 +00:00
Joe Taylor
1288e64137 Further progress on JT65 decoding with averaging and variable smoothing.
Please note: it's far from finished!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6513 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-09 21:01:28 +00:00
Joe Taylor
eb076718f2 First working code that uses wider detection bandwidths for submodes JT65B,C.
Still needs work!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6507 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-07 20:00:23 +00:00
Joe Taylor
1a0cbd4d9d Oops! Did not intend to commit decoder.f90 with diagnostic "write(79..." activated.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6339 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 18:41:41 +00:00
Joe Taylor
4aca6bb594 Clarify text for labels 'Auto-Tx-Enable Armed', etc.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6338 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 18:36:07 +00:00
Joe Taylor
c7e3fa09e3 Comment out the "write(79)..." lines.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6332 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-01 15:35:00 +00:00
Joe Taylor
fecffe8ed8 Force naggressive=0 when in JT9+JT65 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6331 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-01 15:33:48 +00:00
Joe Taylor
5bfa43f46f Merge improvements to the FT algorithm into Bill's new structure for
the Fortran routines.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6328 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-31 01:30:31 +00:00
Bill Somerville
0bc01a19b1 Fix JT4 averaging regression
Fell  into the  Fortran  trap for  C/C++  programmers, automatic  SAVE
attribute on default initialized variables.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6326 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-30 14:57:50 +00:00
Bill Somerville
d431e2cecd Restructuring in preparation for direct decoder invocation from wsjtx
Re-factor the JT4, JT65 and JT9 decoders as Fortran modules using type
bound  procedures, the  decoder types  implement a  callback procedure
such that he client of the decoder can interpret the decode results as
they need.

The JT4 decoder has a  second callback that delivers message averaging
status.  Also the  previously separate  source files  lib/jt4a.f90 and
lib/avg4.f90 have been merged  into lib/jt4_decode.f90 as private type
bound procedures of the new jt4_decoder type.

Re-factored the lib/decoder.f90 subroutine  to utilize the new decoder
types. Added local procedures to process decodes and averaging results
including the necessary OpenMP synchronization directives for parallel
JT9+JT65 decoding.

Added the  jt65_test module  which is  a basic  test harness  for JT65
decoding. Re-factored  the jt65 utility  to utilize the  new jt65_test
module.

Changed a  few integers  to logical variables  where their  meaning is
clearly binary.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6324 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-29 23:52:55 +00:00
Bill Somerville
f416a52def Make Fortran profiling timer function a callback with a default null implementation
Groundwork for calling the decoders directly from C/C++ threads.

To  access   the  timer   module  timer_module   must  now   be  used.
Instrumented code need  only use the module function  'timer' which is
now a  procedure pointer that  is guaranteed to be  associated (unless
null()  is assigned  to it,  which should  not be  done). The  default
behaviour of 'timer' is to do nothing.

If a  Fortran program  wishes to  profile code it  should now  use the
timer_impl module  which contains a default  timer implementation. The
main program should call 'init_timer([filename])' before using 'timer'
or     calling     routines     that     are     instrumented.      If
'init_timer([filename])'.  If it is called  then an optional file name
may  be  provided  with  'timer.out'  being used  as  a  default.  The
procedure 'fini_timer()' may be called to close the file.

The default  timer implementation is  thread safe if used  with OpenMP
multi-threaded code  so long as  the OpenMP  thread team is  given the
copyin(/timer_private/) attribute  for correct operation.   The common
block /timer_private/ should  be included for OpenMP  use by including
the file 'timer_common.inc'.

The module 'lib/timer_C_wrapper.f90' provides  a Fortran wrapper along
with 'init' and 'fini' subroutines  which allow a C/C++ application to
call timer instrumented  Fortran code and for it  to receive callbacks
of 'timer()' subroutine invocations.  No C/C++ timer implementation is
provided at this stage.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6320 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-27 15:40:57 +00:00
Bill Somerville
d5bc774641 Get rid of jt9com and npar common blocks
Also  use correct  C binding  and have  compilers determine  sizes and
offsets.

The wsjtx.exe program now owns the  decoder shared data that is shared
with symspec.  It is now in  struct dec_data, still a  global variable
for now but hopefully a MainWindow member variable soon.

The struct  dec_data (in both C/C++  and Fortran) has a  sub structure
with the decoder  parameters which enables copying  and manipulating a
lot cleaner.

New  of  changed types  of  shared  data  must  still be  modified  in
commons.h and a  new file lib/jt9com.f90, they must stay  in sync as a
pointer to the structure is passed between C and Fortran.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6290 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 20:29:55 +00:00
Joe Taylor
256feedd95 Correct the second calling sequence to jt65a().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6286 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 00:47:55 +00:00
Joe Taylor
9af174642b Send mycall, hiscall, hisgrid downstream to extract.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6283 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 19:31:12 +00:00
Joe Taylor
b87c77ddf1 Make erasure pattern exponents work, the intended way. :-)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6280 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 01:07:07 +00:00
Steven Franke
f281d082bf Make odd erasure pattern exponents work.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6279 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 00:49:47 +00:00
Joe Taylor
b557035d0c Send parameters for experience-based decoding to jt9[.exe].
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6181 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-25 20:09:57 +00:00
Bill Somerville
eb1004ec76 Remove more KVASD remnants
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6173 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-24 19:46:59 +00:00
Joe Taylor
4680817a93 Separate variables for the decoding parameters that had been packed into ndepth.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6170 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-24 15:05:45 +00:00
Steven Franke
c9ad0c3038 Add robust sync checkbox to Advanced setup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6151 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-22 15:27:14 +00:00
Bill Somerville
1a23757b26 Reintegrate merge from wsjtx_exp branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6122 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-18 01:28:12 +00:00
Bill Somerville
34f8924cfc Reintegrate the wsjtx_exp branch into the trunk
This  merge brings  the WSPR  feature development  into the  main line
ready for release in a future v1.6 release.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-05-27 13:08:28 +00:00
Bill Somerville
a51c5c4251 Reintegrate Joe's experimental VHF & up features
As at ^/branches/wsjtx_exp@5271



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5272 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-04-22 17:48:03 +00:00
Joe Taylor
2aa42f0414 Minor tweaks in JT9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4989 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-24 20:19:04 +00:00
Bill Somerville
f59dc6d089 Ensure prompt output of decoded messages
Outputo buffer flush commands have been added after each decoded message output
to ensure that other processes get timely updates of newly decoded messages.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4948 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-10 14:04:47 +00:00
Joe Taylor
3fdde76420 The "big FFTs" should be computed only once for each new set of Rx data.
This requires setting newdat=0 after the big FFT is computed.  In the OMP
code this must be done separately for each mode; so new variables newdat9 
and newdat65 have been defined.  Both are set to "newdat", the value
forwarded from the GUI, each time jt9[_omp][.exe] goes into action. 


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4946 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 15:07:31 +00:00
Bill Somerville
d1a1510fc8 Make output arguments of decoders shared between threads
This is only a temporary fix  becuase if both decoders were to produce
results  that need  accumulating  e.g. number  of  decodes, then  more
complex code to merge the results would be needed.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4940 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-06 16:34:26 +00:00
Bill Somerville
1271243952 Thread safe lib/timer.f90
Accounts for each traced call per thread and accumulates by rolling up
calls with an identical call chain before printing the statistics. The
print now accounts for function calls  in their call chain so the same
function will be reported more than  once if it is called in different
places.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4937 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-05 22:07:19 +00:00
Bill Somerville
36ad50735b Fix typo that disabled JT65 decoding in dual mode.
Disable timer.out generation in OpenMP builds as it is broken.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4931 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 16:33:45 +00:00
Bill Somerville
a7c4d1001f Adjust the jt9 decoder to do the right decodes in parallel
Also limit the required threads for parallel decoding to 2.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4930 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 15:34:46 +00:00
Bill Somerville
91b909b581 Thread safety enhancements to jt9
Serialize thread unsafe FFTW3 calls

Serialize FFTW3 plan initializations in four2a

Serialize decoder results output to file/console

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4928 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 01:41:26 +00:00
Bill Somerville
ffdeafe3bb Build an OpenMP version of jt9 where possible
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
2015-02-02 11:24:20 +00:00
Joe Taylor
3d112ab26c Change some calls to timer().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4921 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-01 20:11:10 +00:00
Joe Taylor
94472ac31c Many changes in program jt9[.exe] aimed at speeding up the decoders.
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
2015-02-01 16:23:36 +00:00
Bill Somerville
f37ed4cd78 Take advantage of the new KVASD v1.12
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
2014-12-03 00:06:54 +00:00
Joe Taylor
4fea8ebd0c Optimizations of JT9 and JT65 decoders; change clock in timer routine.
Both decoders now have slightly better performance and faster
execution.  The rare "duplicate decodes" in JT9 were eliminated.
On Windows, at least, calls to f90 routine system_clock() do not
provide correct wall time increments.  Changed to using secnds()
instead.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4571 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-30 19:29:16 +00:00
Joe Taylor
345d13ef54 Always allow JT65 decoding above the blue line, when in JT9+JT65 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4198 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-07-09 12:58:12 +00:00