Commit Graph

200 Commits

Author SHA1 Message Date
Bill Somerville
7c411d4700 Make about box licence link clickable and add GPLv3 official logo
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6787 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-21 12:50:05 +00:00
Steven Franke
0de0a5dbe8 Add extractmessage144.f90
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6779 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-16 23:19:56 +00:00
Steven Franke
0de6a3b23c Remove obsolete msk144 routines.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6773 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-12 15:56:41 +00:00
Steven Franke
792f032011 add detectmsk144
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6770 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-12 02:45:33 +00:00
Bill Somerville
553f426126 Build of wsjtx needs FFTW3 includes
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6756 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-10 16:01:07 +00:00
Steven Franke
8ae892fe7a Add msk144dt.f90 to CMakeLists.txt
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6744 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-09 02:08:14 +00:00
Joe Taylor
5a50178bd3 For now (and maybe longer?), install the LDPC code-definition files in the .../bin/data directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6739 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-07 14:54:53 +00:00
Steven Franke
1e764aad7d msk144 simulator is now called msk144sim.f90, command line msk144 decoder is msk144d.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6716 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-01 23:46:36 +00:00
Steven Franke
ce8ebd25a9 Fix CmakeLists.txt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6707 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-27 01:50:18 +00:00
Steven Franke
0274bf524b Added JTMSKsim to CMakeLists.txt to facilitate development efforts.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6706 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-27 00:59:00 +00:00
Bill Somerville
51eb600ddc Fix DLL imports in message_aggregator build
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6700 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-25 15:34:12 +00:00
Bill Somerville
01cbecb838 Export the correct compile definitions for the static wsjtx_udp library
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6697 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 16:05:13 +00:00
Bill Somerville
45c70f531a Discovering how exported library building works with CMake
Now exporting a shared and static version of the wsjtx_udp library.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6695 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 15:19:15 +00:00
Bill Somerville
f3d69dee20 Add .desktop file for message_aggregator
Fix upstream package dependencies for Debian package generation.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6693 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 11:52:14 +00:00
Bill Somerville
11430044e2 No need to export new wsjtx_udp library from build tree
If needed then requires a newer CMake minimum version.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6692 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 10:27:56 +00:00
Bill Somerville
ae3749bb46 Extend UDP status message - added Rx/Tx DF, call and grid information
Build now creates and installs a  UDP library that contains the server
side  of the  UDP messaging  facility.  This  library is  used by  the
udp_daemon and message_aggregator reference  examples. The new library
is  currently a  static archive  but  can also  be built  as a  shared
library.  The library  allows third  party Qt  applications to  easily
access UDP messages from WSJT-X.

Refactored  the  message_aggregator  reference example  to  split  out
classes into  separate translation  units. Added new  functionality to
exercise  the  new  UDP  status fields,  highlight  own  call,  CQ/QRZ
messages and decodes near Rx DF.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6691 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-24 10:08:35 +00:00
Joe Taylor
3a5df62772 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
23499e3818 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
Steven Franke
932964f4c0 Changes needed to build ldpc library and ldpcsim.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6639 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-24 01:19:40 +00:00
Bill Somerville
8198cfd969 Add multiple configurations navigation and management
Multiple configurations  are accessed and  maintained from a  new main
window menu bar  pop up menu "Configurations". The  prior settings are
the  "Default"  entry. New  configurations  may  be added  by  cloning
existing ones.  Maintenance  and navigation is via sub  menus for each
configuration.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-17 23:39:12 +00:00
Joe Taylor
2fd8f10727 Rename refspec() to refspectrum().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6601 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-08 15:55:28 +00:00
Joe Taylor
122b83e0c1 Working on implementing reference spectra.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6600 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-08 15:23:32 +00:00
Bill Somerville
4a73a69ca9 Allow split operating for "None" rig, use for testing only not for release
Setting  the  CMake  option WSJT_RIG_NONE_CAN_SPLIT=ON  will  buold  a
version taht allows split operating with  the dummy rig. This must not
be shipped since it will generate incorrect Tx tones.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6589 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:11:49 +00:00
Bill Somerville
db51f0e9a8 Adjust CMake Hamlib finder for latest version
Hamlib now used  libusb-1.0 and since that is available  on Windows we
can now build with it across platforms. This change allows for that if
the custom USB backends are configured in Hamlib.

As it looks  like Hamlib v3.1 will be suitable  for WSJT-X this change
also puts  in place what  is needed to  link to a  Hamlib SO/DLL/DYLIB
when required. This is switched on  by not defining the CMake variable
hamlib_STATIC. This could  be used on Windows and Mac  but Linux still
must have  Hamlib statically linked  due to repository  versions being
too old.

For  now  Hamlib  remains  statically linked  for  consistency  across
platforms.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6581 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:10:46 +00:00
Joe Taylor
42d2b72883 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
Steven Franke
9e867c3b48 Rename wsprd_exp.c to wsprd.c and eliminate wsprd_exp.c.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6572 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-03 19:09:07 +00:00
Bill Somerville
61eb897a89 Use CMake generator expressions to add OpenMP flags more accurately
The latest Clang shipped with Apple Xcode errors on unrecognized flags
that gcc/g++ accept. By using generator expressions the OpenMP flag
is now only applied to Fortran compiles when needed on Mac. Note that
this is necessary since the Apple Clang does not support OpenMP so we
have to hack the link to support OpenMP in jt9 by mixing gfortran OpenMP
object code with Clang/Clang++ object code.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6566 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-01 10:57:05 +00:00
Joe Taylor
0e216bce44 Go back to multiple calls to smo121, rather than smolorentz.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6541 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-19 12:41:53 +00:00
Joe Taylor
d101acf14a 1. Use Lorentzian profile for smoothing (but not yet for message averaging).
2. Add ability to set ndepth and do message averaging ti fer65.
3. Correct SNR values for measured Doppler width.
4. Comment out the "write(62..." diagnostics.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6537 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-18 20:17:17 +00:00
Joe Taylor
15ddaf9e8a Various changes to JT65 decoding, all potentially temporary.
1. Measure Doppler width by fitting a (modified) Lorentzian.
2. Don't call "slope" in sync65().
3. New definition of "sync1".
4. Get snr from sync1.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6536 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-17 18:52:06 +00:00
Joe Taylor
12d4f2146e 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
326fe4715d Progress toward integrating JTMSK short messages. Not finished, and won't work!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6417 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-21 20:03:53 +00:00
Joe Taylor
fd6b24d3d0 Add golay24_table.c to CMakeLists.txt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6415 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-21 18:09:23 +00:00
Bill Somerville
b24d7b1cf8 Fix some compiler warnings and error
Clang++ detected some warnings that g++ did not.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6409 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-20 20:32:30 +00:00
Joe Taylor
12da8a5650 Generate experimental shorthand messages in JTMSK mode. No decoder yet.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6400 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-15 20:45:37 +00:00
Bill Somerville
3b467a4943 Fix regression with UG location from r6341
Missing '/'  character on directory  URL. QUrl treats URLs  not ending
with  a  '/'  character  as  file  URLS  and  QUrl::resolved()  strips
filenames.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6393 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-13 14:45:40 +00:00
Bill Somerville
09cc68e5cd Better naming WavFile ->BWFFile
Broadcast  Wave  Format is  a  backwards  compatible superset  of  teh
Microsoft WAV file  format that has been implemented in  teh hope that
Windows File Explorer might show the WAV file metadta, as it turns out
that is not the case but as it's done anyway.

It appears to be  impossible to write a WAV file  such that MS Windows
File Explorer shows any metadata so  unless we adopt FLAC format audio
files we will have to show metadata with our own software :(

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6384 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-11 15:00:53 +00:00
Joe Taylor
3ff3524b7a Renamd exp_decode65.f90 to hint65.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6367 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-08 21:05:00 +00:00
Bill Somerville
188dad0293 User Guide localization
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6341 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 22:30:12 +00:00
Bill Somerville
523505cdb4 Class to read and write WAV format files
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6337 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 17:19:49 +00:00
Bill Somerville
19c9d1c193 Make WAV file reading correct so that optional chunks can be tolerated
The WAV file format allows for optional header content, allow for this
in preparation for adding some metadata to WSJT-X recorded WAV files.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6335 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 14:29:02 +00:00
Bill Somerville
5b43b691f3 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
d918b1ab59 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
Bill Somerville
95926577ae 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
0efe9231bb 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
Bill Somerville
722d4e6c4f 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
e4ad28fb92 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
ed7d628916 More PRNG rationalization
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6274 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 01:36:05 +00:00
Bill Somerville
9a8d9bd2fa Rationalize random number seeding in C and Fortran
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6272 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-14 19:40:44 +00:00
Bill Somerville
2595b9c723 Another attempt to get installed locations right
That is, right for all platforms with both local and package installs.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6248 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-08 20:39:50 +00:00