Commit Graph

169 Commits

Author SHA1 Message Date
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
Bill Somerville
b254cb1678 Fix a regression in the configured r/o data location
This change  will require the  following CMakeCache.txt entries  to be
deleted:

WSJTX_DATA_DESTINATION
WSJTX_DOC_DESTINATION

so that default values ca be substituted by CMake.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6244 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-08 00:22:48 +00:00
Joe Taylor
02891bd411 Morphing sfrsd toward ftrsd...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6241 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-07 13:44:00 +00:00
Bill Somerville
9a21e77159 Make install locations configuration variables
Locations  of various  components  to be  determined at  configuration
time.   This  allows   various   "Standard"  system   layouts  to   be
accomodated. For example on FreeBSD the manpages are usually installed
in the man directory i.e. /usr/local/man whereas the WSJT-X default is
to install them in share/man i.e. /usr/share/man. By setting the CMake
variable  WSJT_MANPAGE_DESTINATION to  either a  relative or  absolute
path the install location can be set:

  $ cmake -D WSJT_MANPAGE_DESTINATION=. ...

will install the manpages at ${CMAKE_INSTALL_PREFIX}/man

The new configuration variables are:

 WSJT_BIN_DESTINATION
 WSJT_LIB_DESTINATION
 WSJT_SHARE_DESTINATION
 WSJT_DOC_DESTINATION
 WSJT_DATA_DESTINATION
 WSJT_MANPAGE_DESTINATION
 WSJT_PLUGIN_DESTINATION
 WSJT_QT_CONF_DESTINATION

NB: changes to the above may break WSJT-X at present where the install
    locations of files used directly by WSJT-X are moved.

Warning: using absolute  paths for these variables  is not recommended
as files may be installed  in unexpected places, particularly when run
with  root  privileges.  All  relative   paths  with  be  relative  to
CMAKE_INSTALL_PREFIX.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6192 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-26 19:45:10 +00:00
Bill Somerville
19c43abd8f Correct build script typo
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6191 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-26 19:45:05 +00:00
Bill Somerville
011b0cfc85 Added jt65sim target to build - not installed nor packaged
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6180 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-25 19:36:32 +00:00
Joe Taylor
cd6cff0865 Implement (still in very basic form) experience-based decoding for JT65.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6174 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-24 19:49:04 +00:00
Joe Taylor
6fe67b1ddf Add facility to degrade S/N of data from .wav files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6165 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 18:05:36 +00:00
Joe Taylor
65013559ed Decode JT65 first at QSO frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6164 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 15:57:33 +00:00
Bill Somerville
2f69c82572 Revert "Correct architecture name for PPC packages"
This reverts commit r6157.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6159 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 11:42:52 +00:00
Bill Somerville
e4dfb18a4b Correct architecture name for PPC packages
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6157 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 00:27:52 +00:00
Bill Somerville
ad59678250 Add a simple UDP server reference console application
A small application demonstrating the usage of the MessageServer class
to implement a companion C++  application that utilizes the WSJT-X UDP
message protocol. It does not do anything useful but could be extended
to do many things.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6146 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-21 20:23:47 +00:00
Bill Somerville
667e2ff597 Squash some compiler warnings
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6145 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-21 20:23:39 +00:00
Bill Somerville
0b263a49c4 Banish KVASD
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6129 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-18 22:53:37 +00:00
Bill Somerville
97704efba8 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
4726892a8c Remove wsprsim and jt4sim from install & packaging
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6115 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-17 18:10:54 +00:00
Bill Somerville
b48581e40c Update copyright dates
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6087 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-13 13:23:30 +00:00
Bill Somerville
202bac6b9c Fix a Windows packaging issue
For some reason the inclusion  of referenced libraries was not finding
the right libraries when using CMake 3.3 and Qt 5.5. This was probably
a long standing defect that was benign until teh above versions.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5868 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-09-09 12:16:14 +00:00
Bill Somerville
4e7bd79cc0 Switch to version of GetPrerequisites.cmake submitted to CMake
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5743 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-31 11:14:31 +00:00
Bill Somerville
93804988ab Work around warning when using CLang++ with Qt5.5 headers
The latest Qt headers try and  disable a compiler warning that CLang++
doesn't support.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-29 10:28:48 +00:00
Bill Somerville
3e61859531 Temporary fix for dumpbin.exe issues with MinGW 4.9
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5729 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-28 18:12:55 +00:00
Bill Somerville
9a59da5559 Qt 5.5 uses a plug in audio back end on Windows
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5728 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-27 19:30:21 +00:00
Bill Somerville
46b2deb3c1 Ensure installer works on Mac case sensitive HFS file systems
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5720 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-25 23:03:01 +00:00
Bill Somerville
d7d8dd7e24 Handle includes on a per target basis
Bring wsprd and wsprsim in to line with general includes scheme.

Use   Qt5    exported   library    definitions   in    preference   to
qt5_use_modules() which is deprecated.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-02 17:14:05 +00:00
Bill Somerville
068ad9a519 Revert to default stack allocation for wsprd
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5658 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-01 20:05:42 +00:00
Bill Somerville
d28909e2bb Increase stack space for Windows wsprd
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5647 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-01 13:37:17 +00:00
Steven Franke
b77f61bdb9 Move wsprd_exp.c to wsprd.c, making two-pass decoding the default for wspr mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5644 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-30 22:03:07 +00:00
Bill Somerville
2515b2f38d Make the main window more portable and font change capable
The Rx meter  is now a better  Qt citizen and can be  resized. Added a
more obvious peak signal indicator. It  is now a custom widget derived
from QFrame and is now directly added via promotion in Designer.

Added a custom  widget to act as  a letter spin box, this  is used for
sub mode control.  Switched the frequency tolerance widget  to a combo
box with preset  values so that it is more  uniform across systems and
font sizes.

Added container widgets  for group control of various  UI widgets such
as  QSO controls,  DX call  controls and  WSPR controls.  Introduced a
stacked widget to allow the WSPR controls to be swapped in in place of
the "QSO" controls. The "QSO" controls  are are the Rx, Tx and related
controls along with  the main tab widget with the  message buttons and
fields. This means  that the WSPR version of the  main window (and EME
Echo mode) are now much cleaner.

Increased the  size of the  rig control  widget and styled  its colour
using a dynamic property so that it  can be defined in the Designer UI
definition. Reinstated it  as a push button to do  a rig control reset
and retry after an error.

Reset most UI widgets to default properties, particularly removing any
fixed sizes so that they can resize freely when fonts are changed. The
overall layout is now controlled almost exclusively by stretch factors
on some of the rows and columns of the various grid layout managers.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5630 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-25 22:41:13 +00:00
Steven Franke
3039c9d790 Added c functions necessary for packing/coding and demonstration/simulation program wsprsim.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5606 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-14 15:05:07 +00:00
Joe Taylor
be5eb31884 Basic functionality of Echo spectrum is in place.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5557 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-08 19:42:20 +00:00
Bill Somerville
4f9cfafec9 Ensure that generated include files are included from the build tree
If  an out  of source  build  is done  using  a source  tree that  has
previously been used  for an in source build then  we must ensure that
generated files in the source tree are not considered.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5550 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-07 10:34:10 +00:00
Bill Somerville
2cceab6106 Remove redundant Fortran function
lib/hopping.f90 has been superceded by  C/C++ code except for the call
to grayline() which is now called directly.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5545 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-06 13:05:04 +00:00