Commit Graph

483 Commits

Author SHA1 Message Date
Bill Somerville
45b12e6028
Preparation for UI i18n
Re-enabling the WSJT-X i18n  facilities. This allows translation files
to  be created  for languages  that are  automatically used  to lookup
translatable strings. To enable a  new language the language name must
be added to the CMakeLists.txt LANGUAGES list variable in BCP47 format
(i.e. en_US,  en_GB, pt_PT, ...). Do  one build with the  CMake option
UPDATE_TRANSLATIONS enabled  (do not  leave it enabled  as there  is a
danger of loosing existing translated texts), that will create a fresh
translations/wsjtx_<lang>.ts file which  should be immediately checked
in with the  CMakeLists.txt change. The .ts should then  be updated by
the translator using  the Qt Linguist tool to  add translations. Check
in the  updated .ts file  to complete the initial  translation process
for that language.

To  aid translators  their WIP  .ts file  may be  tested by  releasing
(using the  lrelease tool or  from the Linguist  menu) a .qm  file and
placing  that  .qm  file  in the  current  directory  before  starting
WSJT-X. The translations will be used if the system locale matches the
file name.   If the system  locale does not  match the file  name; the
language may be  overridden by setting the  LANG environment variable.
For  example if  a wsjtx_pt_PT.qm  file  is in  the current  directory
WSJT-X will use it for  translation lookups, regardless of the current
system locale setting, if the LANG variable is set to pt_PT or pt-PT.

On MS Windows from a command prompt:

 set LANG=pt_PT
 C:\WSJT\wsjtx\bin\wsjtx

elsewhere:

 LANG=pt_PT wsjtx
2019-06-06 12:56:25 +01:00
Steve Franke
1758e7266b Remove deleted files from CMakeLists.txt 2019-06-05 10:19:40 -05:00
Bill Somerville
19c46774b4
Moving toward multiplier and dupe detection for contest modes
There's not  much to show  for this so far  but some of  the necessary
infrastructure is in place.
2019-05-30 22:20:09 +01:00
Bill Somerville
8035880c45
CMake updates to remove warnings when using recent CMake versions 2019-05-28 19:00:13 +01:00
Steve Franke
a56960a19b Remove syncft4.f90 from CMakeLists.txt. 2019-05-26 10:06:59 -05:00
Steve Franke
3bc5e538d2 FT4: Implement polynomial baseline fit. 2019-05-25 10:58:04 -05:00
Steve Franke
80307b64ad Add a temporary research tool. 2019-05-22 17:01:06 -05:00
Bill Somerville
3a3af42cc6 Tool to exercise QAudioInput
The tool record_time_signal is designed  to measure the performance of
QAudioInput. The  intended use  is to  record a  short period  of live
audio from  an on-air time  signal of  known good quaility,  the basic
required parameters  are an  audio input device,  an output  file name
(.WAV), a start second in a minute,  and a duration in seconds. So for
example to record  the time signal ticks  and fast data at  the top of
the minute:

    $ record_time_signal -o wwv.wav -s 55 -d 15

will record  15s of  audio at  48000Hz sample  rate, stereo,  from the
default audio  input device, starting  at second  55. This will  use a
separate timer  to stop  the recording  which is  likely to  leave the
output file a little short due  to buffer latency. The buffer size can
be adjusted using the '-b <buffered-frames>' option.

The tool  also supoorts  a different mechanism  to time  the recording
which uses the audio progress via  a notify signal. This should ensure
at least  the requested  duration is recorded  The shorter  the notify
interval  the  closer teh  final  size  shoould  be to  the  requested
duration.  Use the  '-d  <interval-ms>' option  to  adjust the  notify
interval.

    $ record_time_signal -o wwv.wav -s 55 -d 15 -n 100

Non-default audio devices can be selected, use the '-I' option to list
the available input  devices with an index number that  can be used to
select the device using the 'R <device-number>' option.

Other options are available, use '-h' for details.
2019-05-10 17:27:52 +01:00
Steve Franke
be72461142 FT4: Some groundwork for subtraction. 2019-04-18 14:15:24 -05:00
Joe Taylor
e0d4c94cc1 Some very basic functionality for time-synchronized FT4. 2019-04-01 14:23:10 -04:00
Bill Somerville
303ff7da5f Improved CMake script for 64-bit builds on MS Windows 2019-03-25 18:02:50 +00:00
Bill Somerville
0d42ad5b3e Revert RC number and fix CMake build script 2019-03-23 01:21:42 +00:00
Steve Franke
4769bf45d2 Make FT4 AP decoding work in RTTY RU and Field Day activities.
Move Nuttal window to standalone subroutine nuttal_window.f90 and
use Nuttal window in ft4/getcandidates4.f90.
2019-03-03 13:02:22 -06:00
Bill Somerville
278c544a6a Merge branch 'develop' into feat-ft2 2019-02-26 11:52:14 +00:00
Bill Somerville
c60fbc11b6 Fix samples CMake script and update NEWS and copyright dates
Preparation for v2.0.1 GA release.
2019-02-25 03:07:51 +00:00
Steve Franke
1acb5d5d99 Add routines needed to test FT8 with GFSK pulses. 2019-02-21 15:48:02 -06:00
Joe Taylor
073a22125a Minor cleanup: debugging a problem with FT4 decoding. 2019-02-14 14:09:22 -05:00
Bill Somerville
7ec99d2a75 Update CMakeLists.txt to reflect the oldest supported macOS version (10.10) 2019-02-10 22:08:04 +00:00
Steve Franke
cbfcb76193 AP decoding basically works. Make data_dir setting work on the Mac. 2019-02-07 18:48:38 -06:00
Joe Taylor
98d665c678 Add subroutine clockit() and use it for profiling ft4_decode(). 2019-02-01 10:47:47 -05:00
Joe Taylor
9c2700128c Generation of FT4 Tx waveform from itone() moved to a separate subroutine. 2019-01-31 16:07:07 -05:00
Joe Taylor
189f538dc0 Add ft4sim_mult, which is basically functional. 2019-01-30 15:33:47 -05:00
Joe Taylor
6e4f0f32ee Remove FT2; implement basic functionality in FT4. 2019-01-28 10:19:46 -05:00
Steve Franke
d9f4a27a3e Create ft4_decode.f90. Change stand-alone decoder ft4d.f90 to use ft4_decode.f90. 2019-01-26 11:42:07 -06:00
Steve Franke
66e3f11fba Add ft4 files in lib/ft4. 2019-01-25 16:01:34 -06:00
Bill Somerville
6ac24e75cb Add the new rigctlcom utility to the installer as rigctlcom-wsjtx
Thanks to Mike, W9MDB, for this contribution.
2019-01-22 20:23:17 +00:00
Steve Franke
b4639b77d0 Fix CMakeLists.txt so that ft2_decode still builds. Fix a bug in ft4d - sync now seems to work. 2019-01-21 19:52:13 -06:00
Steve Franke
7b7857cd77 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-21 19:33:51 -06:00
Steve Franke
f2dc394c84 Add ft4 files; ft4sim works, ft4d is work in progress. 2019-01-21 19:31:54 -06:00
Joe Taylor
486440beb4 Merge branch 'feat-ft2' of bitbucket.org:k1jt/wsjtx into feat-ft2 2019-01-18 16:23:19 -05:00
Joe Taylor
5f03d97a9e Implement basic Rx capability for FT2 in WSJT-X. 2019-01-18 11:51:15 -05:00
Steve Franke
f447fe49e1 Fix some indexing problems. Create subroutine ft2_gfsk_iwave.f90 for use with ft2.exe. Needs testing. 2019-01-17 15:25:06 -06:00
Bill Somerville
aee9c09851 Merge branch 'develop' into feat-ft2 2019-01-16 20:44:44 +00:00
Steve Franke
cf1fe6c3d6 More work on FT2. New frame format is 16sync + 128codeword. Data chunk is assumed to be 2.5s long. A rudimentary sync routine is implemented which finds the single strongest signal. 2019-01-12 13:28:10 -06:00
Steve Franke
e0658f183f Add simulator (ft2sim.f90) and decoder (ft2d.f90) for experimental medium-fast mode. 2019-01-10 10:20:31 -06:00
Joe Taylor
95599a7153 Add a standalone FT8 decoder, for testing. 2019-01-09 12:45:20 -05:00
Bill Somerville
6e949fa64d Debug trace facility for UDP message protocol
Build with the CMake configuration  WSJT_TRACE_UDP set to ON to enable
UDP message tracing to the debug log.
2019-01-01 23:38:14 +00:00
Steve Franke
7a40bf2e4b Use separate hash tables for 10, 12, and 22 bit hashes. Make unpacking i3=4 messages depend on whether unpack is being done on a received message, or a to-be-transmitted message. Give mycall13 priority over hash table entries in certain contexts. 2018-12-20 15:08:29 -06:00
Bill Somerville
d241217737 Add QDarkStyleSheet to Message Aggregator reference application 2018-12-17 01:48:45 +00:00
Steve Franke
337bae6d0d Housekeeping. Remove unused code and unused variables. Silence some compiler warnings. 2018-12-05 16:06:33 -06:00
Steve Franke
a5e82ac94c Delete an unused routine. Fix a typo in a comment. 2018-12-04 20:01:55 -06:00
Bill Somerville
cf6311e007 Scan ADIF log asynchronously and new settings button to rescan ADIF log 2018-11-30 16:26:46 +00:00
Bill Somerville
155a56364a Merge branch 'hotfix-2.0.0-rc5' of bitbucket.org:k1jt/wsjtx into hotfix-2.0.0-rc5 2018-11-23 23:37:56 +00:00
Steve Franke
e434bc5b55 Remove obsolete routines related to msk144. 2018-11-23 15:10:44 -06:00
Bill Somerville
c81b3c8e65 Validate contest QSO details before allowing logging
Basic  validation, must  have  non-empty exchange  sent and  received.
Abstracted log view window widget  behaviour into a base class. Turned
on  auto  resize  to  row  height in  log  view  windows  and  enabled
alternating colours. Convert  empty fields to NULL  when inserting new
log table  rows to signify missing  data. Trap insert row  errors when
adding  to contest  log table  so  that logging  can be  held back  if
constraints are not met. Re-factored  log QSO processing to try insert
row into log table  first and pop up a message  box if constraints are
not met, this pops  up the Log QSO window in case  it was initiated by
an auto log event.
2018-11-23 01:18:39 +00:00
Joe Taylor
43a5d7b519 Starting branch hotfix-2.0.0-rc5. 2018-11-14 10:44:36 -05:00
Bill Somerville
df4dbd546b Add new CabrilloLogWindow widget to display/edit running contest log 2018-11-12 04:13:23 +00:00
Bill Somerville
31b6120e60 Add a Cabrillo contest log model 2018-11-12 02:11:58 +00:00
Bill Somerville
97431d8154 Add some item delagate classes useful for database fields 2018-11-12 02:00:35 +00:00
Bill Somerville
947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00
Joe Taylor
0235cf69ff Remove all vestiges of old (isync=1) FT8 mode. Many changes here! 2018-11-05 11:59:48 -05:00
Bill Somerville
75186dfeff Refactor ARRL contest exchange validators to use regexps and the existing Configuration validate method 2018-10-31 22:42:26 +00:00
Bill Somerville
1ff4d53f05 Take advantage of the rest of the AD1C cty.dat info for highlighting
Highlighting for new continent, CQ  zone, and ITU zone added. Includes
a new class to manage the AD1C cty.dat database in memory.
2018-10-26 03:24:36 +01:00
Bill Somerville
8215f3412b Priorities for decoded message highlighting and new worked before internal database
Settings option to highlight not worked before entities/grids/calls by
mode. Fix issues with highlighting  decodes and generally refactor the
internal  workings  of  ADIF  and  QSO  recording  for  worked  before
detection.
2018-10-25 00:00:19 +01:00
Joe Taylor
68d3cab1d7 Don't need parse77() any more, so remove it. 2018-10-21 16:04:57 -04:00
Steve Franke
6483e80c35 Make msk144code work. Rename msk144d2 to msk144d and make it work too. 2018-10-19 19:42:31 -05:00
Steve Franke
d0f0d420a9 Convert ft8sim.f90 to use 77bit messages. Remove ft8sim2.f90. 2018-10-19 16:52:00 -05:00
Bill Somerville
873b1d1c43 Updated decode highlighting and LotW user's data file management
Includes a new settings facility  with the highlighting being contrled
by a new model class and a  modified QListView to display the data for
editing. Edits  include enable and  disable check boxes,  a contextual
pop-up menu to adjust backkground and foreground colours.

Still   to   be   implemented    are   priorities   for   highlighting
categories. This  will be adjustable  by drag  and drop in  the Colors
settings panel, it is already implemented by the priority order has no
effect on highlighting of decodes yet.

The LotW  users data file fetch  and time since user's  last upload is
now controled from the settings dialog.

This change also drops support for Qt versions before 5.5 so that many
workarounds for earlier versions can be removed.

Debug trace is slightly modified to make better use of the Qt built in
facilities to format and synchronize cross thread messaging.
2018-10-17 00:26:04 +01:00
Joe Taylor
b72e8bd846 Implementing ExportCabrillo. Some work still to do.
(cherry picked from commit 1e5c416cc3)
2018-10-03 16:31:17 -04:00
Joe Taylor
6d096db6d5 Implement a validator for FD and RTTY exchange entries. 2018-10-03 19:32:05 +01:00
Joe Taylor
107a5c5a7e Add exch_valid.f90, a Fortran validator for FD and RU exchanges. 2018-10-03 19:30:39 +01:00
Bill Somerville
0032a00ffe Automatic download of ARRL LotW users file at startup if needed 2018-10-01 21:19:21 +01:00
Bill Somerville
62a4569a4c Class abstracting LotW user lookups which includes asynchronous data loading 2018-10-01 12:42:31 +01:00
Steve Franke
b868cee59f Tweak CMakeLists.txt. 2018-09-13 15:40:52 -05:00
Steve Franke
9657617cdc Merge branch 'integrate-77bit' into develop 2018-09-13 15:24:33 -05:00
Steve Franke
5469adb241 Another tweak to CMakeLists.txt. 2018-09-12 16:57:39 -05:00
Steve Franke
9caaab6042 Modify CMakeLists.txt so that we only build what is needed for the release, more or less. 2018-09-12 16:22:01 -05:00
Steve Franke
629d061e30 Move a couple of simulation files to fsk4hf, which will eventually be excluded from releases. 2018-09-12 13:46:40 -05:00
Steve Franke
087ed57459 Merge branch 'wsprosd' into develop 2018-09-11 16:51:07 -05:00
Steve Franke
af7feaf65a No need to examine every entry in the hash table. Just calculate the hash of OSD-produced callsigns and see if they are in the table. Add OSD decoding to the deep setting for wspr decoding. 2018-09-10 17:01:50 -05:00
Bill Somerville
4f4a2ce44c Add exclusions file that controls published sources
Add lines  to the sources.exclude  file to select paths  and wildcards
that   will  be   excluded   from  source   tarballs.   See  the   tar
--exclude-from=FILE option for syntax.

If a source  directory that is used to build  targets is included then
those targets should  be defined in a CMakeLists.txt file  in the same
directory  and the  following  syntax  should be  used  in the  parent
CMakeLists.txt script to ensue  the parent CMakeLists.txt file remains
valid when the excluded directory is not present:

if (EXITS ${CMAKE_SOURCE_DIR}/optional-source-dir AND IS_DIRECTORY ${CMAKE_SOURCE_DIR}/optional-source-dir)
   add_subdirectory (optional-source-dir)
endif ()
2018-09-10 21:56:51 +01:00
Joe Taylor
4b77045b2b Make the building and installation of utility programs optional. 2018-09-10 16:44:06 -04:00
Joe Taylor
a8d708af67 Preparing for v2.0-rc1 candidate release.
- Add file  contrib/lotw-user-activity.csv, install in data_dir().
 - Add suggested frequencies on 20 and 40m for testing FT8 v2.0 messages.
 - Add a timeout date (Nov 1 2018) beyond which -rc1 will not run.
 - Change Versions.cmake to indicate v2.0.0-rc1.
2018-09-10 13:07:30 -04:00
Steve Franke
0c60db50d3 Experimental -o option for wsprd uses ordered-statistics decoder. Decodes are accepted only if the callsign exists in the hashtable. 2018-09-09 20:30:23 -05:00
Steve Franke
fa1822bb4a Trying to re-implement osd for wspr. 2018-09-08 16:50:15 -05:00
Joe Taylor
f1261076be Starting to implement a color-highlighting reminder window. 2018-08-25 11:19:43 -04:00
Joe Taylor
3af293f297 Use module variables rather than common/hashcom/; working on transparent handling of goofy calls. 2018-07-30 15:46:25 -04:00
Joe Taylor
d95d2df5b6 Old-style "NA VHF Contest" mode removed from all Fortran routines. 2018-07-10 15:09:42 -04:00
Steve Franke
fd0ad33028 MSK144: Wholesale changeover to (128,90) code with 77-bit messages. Compiles and doesn't crash, but communication between two instances has not been tested. 2018-07-07 10:35:59 -05:00
Joe Taylor
c5d61f4cf4 Now able to generate 72-bit or 77-bit messages. 2018-07-06 12:52:39 -04:00
Steve Franke
91388f8ba2 Create a separate simulation program, ft8sim2, for New Style 77 bit messages. Hashes are not handled yet. Needs more testing. 2018-07-04 09:52:39 -05:00
Steve Franke
bb12c7424d Module packjt77.f90 includes the 77bit utility programs called by pak77 and unpack77. Modify genft8_174_91.f90 to generate type 2 messages. 2018-07-03 15:08:38 -05:00
Steve Franke
2cdb164446 Move CRC13 creation into encode128_90.f90 and CRC checking into bpdecode128_90.f90. 2018-06-16 16:42:02 -05:00
Steve Franke
e16e78790a Create chkcrc13a.f90. Should chkcrc12a, chkcrc13a, and chkcrc14a be combined into one routine? 2018-06-16 09:04:51 -05:00
Steve Franke
3ac119fb99 Progress toward a working ldpc128_90 simulator. Compiles, but does not yet work. 2018-06-13 11:34:00 -05:00
Steve Franke
a5837bd5c7 AP decoding now works for type 2 frames. Also cleaned up and simplified AP implementation in ft8b_2. 2018-06-11 15:10:44 -05:00
Steve Franke
48b60eab71 Make two sync passes, one for each sync array. Label candidates with their type and decode accordingly. 2018-06-05 16:44:52 -05:00
Steve Franke
772b1bd5fa ft8sim can now generate old (174,87) or new (174,91) frames. Frame type is selected using the itype command line parameter. 2018-06-05 08:40:00 -05:00
Steve Franke
358081f280 Changes necessary to build ldpcsim174_91.f90. 2018-06-04 08:04:22 -05:00
Steve Franke
7a228d8f7d Starting to implement a (174,91) code. 2018-06-04 08:04:22 -05:00
Steve Franke
aeee9b62bb Hack CMakeLists.txt so that repo will build.
Modify CMakeLists.txt so that wspr5sim, wspr5d build.
2018-06-04 08:04:22 -05:00
Bill Somerville
9c42a42219 Bump development version
Also first stage of allowing for builds from a git repository.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/wsjtx/trunk@8732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-05-27 11:40:12 +00:00
Joe Taylor
be8c837d85 New simulator jt49sim, replaces both jt4sim and jt9sim. Fix the S/N estimates made for slow/wide JT9 submodes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8639 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-04-25 17:24:58 +00:00
Bill Somerville
45c9412996 Fix macOS plist file generation to enable high DPI display support
This change enables support for Retina type displays on macOS.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8595 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-04-01 18:49:06 +00:00
Bill Somerville
dfe037423f New incoming UDP message to allow external applications to highlight decoded callsigns
UDP  servers can  request that  WSJT-X clients  highlight a  specified
callsign  in  the  Band  Activity  decodes  window.  Either  the  last
occurrence of the  callsign may be highlighted or all  past and future
occurrences can be  highlighted. The latter case  WSJT-X will remember
the  callsign  and  requested  highlighting  options  so  that  future
occurrences can be correctly highlighted.

Either or  both of the text  background color and the  text foreground
color may  be specified. A further  UDP message may be  sent to change
the  persistent color  highlighting  for a  given callsign,  including
reseting persistent highlighting by passing an invalid color value.

Thanks to Alex, VE3NEA, for this contribution.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8589 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-03-28 22:25:46 +00:00
Steven Franke
0a21abd6bc Move wsprd_exp.c into wsprd.c. Change CMakeLists.txt so that it builds wsprd.c.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8497 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-11 21:36:52 +00:00
Bill Somerville
f693ad4287 Add temporary workaround for gfortran v7.3 bug
Compiler  ICE on  64-bit Fedora  27 fixed  either by  not using  array
bounds checking or by limiting optimization to level 2.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8495 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-11 19:42:55 +00:00
Joe Taylor
64c0b304f1 Possible warning message for users of -devel and -rc? revisions.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8476 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-07 20:53:11 +00:00
Bill Somerville
3c384f7cbb Add UDP message to set temporary Maidenhead locator
When "Auto  Grid" is  checked in  "Settings->General" UDP  messages of
type "Location" will update a temporary  DE grid square. The intent is
to  allow  an external  application  joining  the WSJT-X  UDP  message
protocol to dynamically update the DE grid during mobile operation.

This change also tidies up  some outstanding issues around logging the
operator call.

This change  adds a new UDP  message "Logged ADIF" that  is emitted in
parallel with  "QSO Logged"  messages. The new  message is  valid ADIF
file format  and contains the  logged QSO  fields. The intent  is that
basic  UDP server  applications  might already  have  ADIF log  record
capture capabilities and could use  this message to feed existing ADIF
parsing routines to log QSOs. All that should be needed is to identify
this message type and the single field is ADIF compatible ASCII.

Thanks  to  Brian,   N9ADG,  for  the  patches  that   lead  to  these
enhancements.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8454 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-04 22:42:35 +00:00
Joe Taylor
c1bd6060dd New utility program ft8code. Remove unused references to recent_calls() in FT8 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8440 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-01-30 15:25:10 +00:00