Commit Graph

55 Commits

Author SHA1 Message Date
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
Joe Taylor 2072f6f7c6 Look for weaker Sync indications when naggressive > 0 and ntol < 1000.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6296 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 19:58:10 +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
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 a93e55fef0 Improved, simplified sort routine; faster and better "flatten"
procedure; better window functions for some FFTs, resulting in
better decoder performance; User-selectable colors for backgrounds
of decoded messages.  NB: more testing is desirable!



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4951 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-11 00:50:35 +00:00
Joe Taylor 86591544f0 Merge changes from branches/wsjtx_w back into branches/wsjtx.
Note to developers: Not sure about the makefiles...


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3835 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-03-05 18:20:40 +00:00
Joe Taylor 74f35bab0d Correct use of "gain" in symspec.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3643 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-17 14:56:11 +00:00
Joe Taylor 65cc741b31 IMplement new spectrum flattening.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3642 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-17 14:46:23 +00:00
Joe Taylor 052aedef20 More tweaks to the use of flat3.
Include updated makefiles.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3626 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-09 00:03:22 +00:00
Joe Taylor a6406ea58f Some adjustments to usage of flat3.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3625 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-08 20:55:11 +00:00
Joe Taylor 999b3aab28 Flatten waterfall, but not the avg spectrum.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3624 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-08 18:51:37 +00:00
Joe Taylor 2928042321 Testing a new spectrum-flattening procedure, flat3.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-01-08 18:38:15 +00:00
Joe Taylor 600c3e228c Apply sigital gain slider to spectra sent to waterfall.
Update the User's Guide.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3477 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-10 15:46:27 +00:00
Joe Taylor 3dc6abc0c1 Merging code for v1.1 back into the main wsjtx branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3462 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-07-08 13:17:22 +00:00
Joe Taylor f95ab994c0 Eliminate all compiler warnings from gfortran, in Ubuntu 12.04.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3301 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-23 13:33:29 +00:00
Joe Taylor 9890731f4f 1. De-activate submodes JT9-5, JT9-10, and JT9-30. (This makes the shared
memory region smaller by some 150 MB.)
2. Some code cleanup (removing unused lstrong, etc.)...


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3283 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-20 14:09:02 +00:00
Joe Taylor 2ccb9206b0 1. Remove the "color highlight left window" option.
2. Re-establish the pxdb measurement for Thermo.
3. Double-click on decoded line copies it to QSO window (unless it's 
   already there).


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3276 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-16 23:52:04 +00:00
Joe Taylor 057287fab1 Many changes to the procedures for selecting decodable candidate JT9 signals.
This code may be the new benchmark?


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3274 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-16 16:02:00 +00:00
Joe Taylor 1f82d75194 Change to symspec() was not a good idea.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3273 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-15 19:45:55 +00:00
Joe Taylor 9d30c88a6f Another try at optimizing choices for decoding. Not done yet!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3271 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-15 19:03:49 +00:00
Joe Taylor cba66a9242 Move Tune button to right of "Halt Tx".
Tweak decoding parameters in sync9.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3268 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-14 22:47:32 +00:00
Joe Taylor e881b10ce3 Another possible window function (presently commented out).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3264 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-08 19:08:05 +00:00
Joe Taylor a5695a142e Better window function (lower sidelobes) for displayed spectra.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3263 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-05-08 18:38:31 +00:00
Joe Taylor d092f7eae3 Further code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3199 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-22 15:43:02 +00:00
Joe Taylor e6adce61e2 Minor changes in scaling of spectra for waterfall.
Corrected typo in unix code.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3197 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2013-04-18 20:12:04 +00:00
Joe Taylor d25e129756 Now working with decoding done in a separate process, jt9.exe.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2756 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-21 17:42:53 +00:00
Joe Taylor 561acda6f7 Introduce nzhsym, the number of computed half-symbol spectra.
Correct the logic for computing lag range in sync9.f90.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2751 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-19 18:23:39 +00:00
Joe Taylor cb697c0ee0 Working on decoding issues...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2723 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-13 15:55:03 +00:00
Joe Taylor ee55b12e8f Remove unnecessary test on ja.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2721 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-12 21:09:32 +00:00
Joe Taylor 5ba4ce474f Believe I've fixed the "ihsym-3" bug. Needs thorough testing!!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2720 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-12 21:06:31 +00:00
Joe Taylor 5d030bd413 Much code cleanup: remove unised variables and code.
Include # channels in audio device offerings.
Start implementing "msgsent" correctly.  (Not finished!)
Include Date in UTC display.
Use the properly computer snrdb.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2718 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-12 16:33:45 +00:00
Joe Taylor c19460de27 Updates to Users Guide.
Double-click on waterfall sets Tol to a reduced (mode-dependent) value.
Tol is saved/restored on program restart.
Added digital gain slider for setting input level.
Garbage decode "15P6715P67WCV" is rejected.
Arrays ss and c0 are copied and saved when newdat=1.  Further processing is
done on the copies.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2712 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-11-01 19:54:40 +00:00
Joe Taylor c065fb2067 Fixed the "Eddie's ghost" problem.
Fixed the "long decode time" problem.
Leading blanks in Tx message are now ignored.
Decodes of callsign '000AAA ' are now suppressed.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2704 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-30 15:02:27 +00:00
Joe Taylor aadb7e4bbf Save and restore fQSO.
Decode mjultiple signals inside the "Tol" green bar, rather than just the
one producing highest value of sync.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2701 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-29 17:58:33 +00:00
Joe Taylor d31bacfab8 Many improvements to GUI. Fixed the "yellow waterfall" problem; fixed
generated names for *.wav files.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2694 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-26 16:01:57 +00:00
Joe Taylor 143afdc294 Several updates for suitable packaging.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2692 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-25 16:50:00 +00:00
Joe Taylor 5a74450d30 More tweaks of decoding process. Add TxFreq button.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2674 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-20 20:52:29 +00:00
Joe Taylor b10df1efdc Code cleanup. Implement use of fQSO, ntol, etc.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2671 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-19 19:26:07 +00:00
Joe Taylor 3c6766fc3d Decoded text now appears in main window. However, ... the next decode
request fails.  Then 3rd one is OK, 4th fails, etc., etc.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2669 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-16 23:32:15 +00:00
Joe Taylor 3ee18fe688 Working on JT9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2668 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-16 20:58:03 +00:00
Joe Taylor 74bc339708 Clean up compiler warnings, in Linux
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2667 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-16 19:44:41 +00:00
Joe Taylor 884631a559 Working toward implementing JT9 decoder in WSJT-X.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-15 17:43:49 +00:00
Joe Taylor 82b1f9ce15 Another try at getting the plot scaling correct. (May still have
some dependence on plot window's height?)


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2661 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-11 20:41:05 +00:00
Joe Taylor e6b515a9f1 Normalize the current and cumulative plots automatically.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2659 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-11 18:33:50 +00:00
Joe Taylor 6b800ad459 Reset k=0 if sub-mode changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2650 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-05 17:41:04 +00:00
Joe Taylor 86dcc48e0a Many changes. Waterfall plots now pretty much OK. (May want to limit
displayed range to 1000 Hz.)  Noise blanking may be working -- needs
tests.  Tx has been implemented.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2648 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-05 17:13:21 +00:00
Joe Taylor 13b0e6b610 More cleanup, and a few bugs fixed. There are many more!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2647 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-04 21:39:48 +00:00
Joe Taylor 68de5dd4bd Better symspec now.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2646 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2012-10-04 19:03:39 +00:00