Commit Graph

2171 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
d6457af36e Rename some sources in prep for decode callback implementation
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6323 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-29 23:52:46 +00:00
Steven Franke
509cb9efd6 Add ftdata-100 and ftdata-10 and update fig_wer2 and associated text.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6322 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-28 21:20:10 +00:00
Steven Franke
fc06ec952f Edits to section 1 and corrections to n-k+1 stuff.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6321 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-28 03:02:05 +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
Steven Franke
29f309bbc0 some more progress.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6319 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-27 00:17:20 +00:00
Steven Franke
b04a73e157 Add discussion of sync losses.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6318 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 21:43:07 +00:00
Steven Franke
b12290871d More refinements to section 7 and figs.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6317 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 20:13:12 +00:00
Steven Franke
f838755ae6 Restructure ftrsd, update WER data, delete some old files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6316 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 15:47:49 +00:00
Bill Somerville
96a65b331d Elide duplicate UDP messages
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6315 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 21:37:16 +00:00
Bill Somerville
3c428b139a Fix dependency and sequencing issues of upload-samples target
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6314 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 20:46:26 +00:00
Steven Franke
e2dcc912a1 Fix misprints in equation 4 and 5
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6313 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 19:44:30 +00:00
Bill Somerville
459f74ac60 Do not disable Tx or "Enable Tx" when changing band in WSPR mode
The fixes a regression introduced in r6311

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6312 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 19:42:36 +00:00
Bill Somerville
3c869e4c53 Reset Tx watchdog when changing bands
Also disable "Enable Tx" when changing bands.

Thanks to Mike W9MDB for contributions to this patch.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6311 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 13:33:29 +00:00
Bill Somerville
b98b4ae299 Some helpful developer documentation
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6310 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 13:19:54 +00:00
Bill Somerville
8efde1b4ef Fix samples upload-samples target commands
Also added --progress switch to rsync command

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6309 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 11:54:51 +00:00
Bill Somerville
924e20efa8 Add a sample download dialog and upload sub-system
Samples are  downloaded from a  web server, currently the  SF download
server.   The samples  are  stored in  the  source controlled  samples
directory and the CMake script  there builds a suitable directory tree
for upload to the web  server under samples/web containing the samples
hierarchy and the  generated JSON contents database  file. The samples
CMake script also  defines an 'upload-samples' target  that uses rsync
to efficiently upload  the samples and the  accompanying contents JSON
database file.

Any directory structure under the samples directory may be created, to
add a new sample file simply add  the file to source control and amend
the list of sample files (SAMPLE_FILES) in samples/CMakeLists.txt.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6308 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 11:41:05 +00:00
Joe Taylor
0ab5a28067 Commit two .lab (gnuplot label) files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6307 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:40:00 +00:00
Joe Taylor
be5d42845c A few more editorial changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6306 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:38:12 +00:00
Steven Franke
f5e87d79c1 Merge in updates to simulation results, add gnuplot script for bodide fig.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6305 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:29:44 +00:00
Joe Taylor
15194c6857 Add (temporarily?) pdf's for two figures.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6304 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 20:27:24 +00:00
Joe Taylor
90a35b1dfd Another draft of the FTRSD paper.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6303 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 20:23:28 +00:00
Steven Franke
59806b11bd Computes theoretical probability of error for a bounded-distance decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6302 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-22 00:08:31 +00:00
Joe Taylor
ef49f6dbd6 New versions of two figures, and some text additions. (More to come!)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6301 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-21 19:48:08 +00:00
Joe Taylor
4f8d3dffc7 Tweak some details used for collecting decode statistics.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6300 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-21 14:48:51 +00:00
Joe Taylor
3ed60c89eb Reset watchdog counter if a Tx message button is clicked.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6299 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-19 01:37:53 +00:00
Joe Taylor
f421ca57b7 Use sync rather than nsync, for better resolution.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6298 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 21:36:49 +00:00
Joe Taylor
b6d9e5dda0 Add stats (convenience program for measuring decode statistics).
Minor tweaks to hinted-decode routine.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6297 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 20:00:59 +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
61395e9481 Fix the jt9 command line acceptance constraints
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6295 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 17:57:18 +00:00
Bill Somerville
93b2f4164a Improve the randomness of the srand seed generator
XOR:ing the time since epoch in seconds with the PID fails for processes
started every second since the PID and time increment in step regularly in
this scenario and therefore give identical seeds. Thanks to Steve K9AN for
spotting this subtle flaw.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6294 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 17:32:56 +00:00
Bill Somerville
906b2dba89 Fix reading from /dev/urandom for C library srand seed
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6293 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 15:14:38 +00:00
Bill Somerville
bc3e565ef5 Quote file name passed to wsprd
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6292 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 12:44:04 +00:00
Bill Somerville
ca5cfc1402 Fix defect in jt9 standalone mode causing randon file read
Made default values for decoding  parameters better in standalone jt65
tool.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6291 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 23:21:38 +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
bd38074f6b Reduce gain on 2d cumulative spectrum, to be more consistent with others.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6289 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 15:55:35 +00:00
Joe Taylor
a263657ba1 Include DT and fSpread on output to screen.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6288 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 15:35:39 +00:00
Bill Somerville
8668d37d9e Add new command line options to the standalone jt65 test program
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6287 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 10:43:07 +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
e8788ece2d Send the hinted-decode options into exp_decode65().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6285 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 21:16:23 +00:00
Bill Somerville
523ee92a70 Pwr control refinements
Set tune power with SHIFT + "Pwr"  slider. SHIFT + "Pwr" slider to top
cancels separate  power level  for tune.  Smarter  tool tip  for "Pwr"
slider.

Needs User Guide update if change is acceptable.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6284 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 20:55:19 +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
c0c7e5d563 Suppress false decodes seen with new JT65 decoder running in crowded HF band.
Note to testers: see lines 100-105 in jt65a.f90.  If you want to experiment
with some of these parameters, one way is to uncomment lines 148-151
and look at output in "fort.79" after a decoding run.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6282 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 17:53:19 +00:00
Bill Somerville
2aea76777a Remember power level setting used for tune
Patch provided by Mike W9MDB, thanks.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6281 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 15:32:11 +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
d7e7b43045 Many changes to the JT65 decode chain. This is development code! It
includes an initial implementation of the FTRSD decoder with a "qual"
parameter for evaluation of candidate codewords.  Also includes hinted
decoding.  Further testing is needed.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6278 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 21:24:22 +00:00
Bill Somerville
b66e0fc9b4 Clarify escaping of jt65sim arguments on *nix shells
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6277 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 15:56:37 +00:00
Bill Somerville
5f9ed5a5ac Tidy up command line processing in Fortran tools
Build script now  builds jt65. The tools jt65 and  jt65sim usilize the
options module for all comamnd line parsing.

The  tool  jt65sim  now  has  conventinal  command  line  options  and
switchs. Default values have been  added where appropriate and options
documentation  updated. An  option to  disable PRNG  seeding has  been
added.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6276 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 15:35:04 +00:00
Bill Somerville
eedb6d3458 Remove spurious argumenst that should never have been there
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6275 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 11:08:56 +00:00