Commit Graph

143 Commits

Author SHA1 Message Date
Joe Taylor
b6f990fac2 Allow FTol values down to 1 Hz; let maximum FTol values for FST4 depend on TRperiod. 2020-09-10 13:33:33 -04:00
Bill Somerville
db6a432a33
Ensure band/frequency combo box edit styling tracks current frequency 2020-09-08 15:24:55 +01:00
Joe Taylor
72cffc9da4 Make the FST4/FST4W Quick-Start Guide available from the Help menu. 2020-09-06 13:31:19 -04:00
Joe Taylor
4ab8780dd8 Code cleanyup associated with removing Tab 2. 2020-09-05 15:22:18 -04:00
Joe Taylor
7aeb9d5e2e Remove the "Tab 2" option for generating Tx messages. 2020-09-05 15:11:32 -04:00
Joe Taylor
c1025b7c4c Allow user to set center frequency and FTol in FST4W mode. Needs more testing! 2020-09-05 10:34:55 -04:00
Bill Somerville
4a2a181528
Merge branch 'develop' into feat-fst280 2020-08-17 18:33:00 +01:00
Bill Somerville
e17ad223ae
Tx Next button enables automatic Tx
Also a  number of WSPR/FST4W  code clean-ups including getting  the Tx
Next button to function as intended.
2020-08-15 02:57:23 +01:00
Bill Somerville
02e19b687f
Status message to report approximate # of dropped Rx audio frames
This is  a first cut  at this to  evaluate buffer size  adjustments on
supported platforms. A final version might limit status bar reports to
>1000 dropped frames or similar.
2020-08-08 17:12:48 +01:00
Bill Somerville
a0ceace5b4
User configurable audio device buffer sizes
Adjusting these may help with  audio drop-outs, particularly on slower
CPU systems or heavily loaded systems. Smaller buffer sizes leave less
margin for  process interruptions,  larger sizes waste  resources that
could impact other processes.
2020-08-08 16:25:14 +01:00
Joe Taylor
3867c452e6 Changes to GUI to accommodate QRA66. It's basically functional, I think. 2020-08-01 12:13:49 -04:00
Bill Somerville
c5248bf116
Merge branch 'develop' into feat-fst280 2020-07-27 13:25:28 +01:00
Bill Somerville
5382ef4a33
Merge branch 'develop' into feat-wspr-user-hardware 2020-07-26 18:03:23 +01:00
Bill Somerville
7bb5a8e009
Merge branch 'develop' into feat-psk-reporter-re-work 2020-07-26 15:52:39 +01:00
Bill Somerville
9c22eb321d
Merge branch 'develop' into feat-fst280 2020-07-26 16:20:11 +01:00
Bill Somerville
7566f3548d
Post FST4W spots to WSPRNet.org
Includes a re-factoring  of the WSPRNet class,  particularly to handle
direct spot posts as well as via  a file from wsprd. Switched from GET
http request method to POST method.

FST4W spots  post the same information  a WSPR spots except  the drift
field is  always zero (FST4W  has no  drift compensation, so  no drift
figure is calculated by the decoder),  and the mode field reflects the
T/R  period in  minutes.  This  means  FST4W-120A will  be similar  to
WSPR-2, an FST4W-900  will be similar to WSPR-15. I  don't see any way
to  view the  mode field  on  either the  new or  old database  format
queries on WSPRnet,  so it is hard  to tell if that  field is actually
stored.
2020-07-26 02:58:04 +01:00
Bill Somerville
580dd85a18
Remainder of renames to FST4 2020-07-23 18:51:05 +01:00
Joe Taylor
05a1b3bae8 Remove "Also FST240W" from the Decode menu and elswhere in the GUI. 2020-07-21 14:18:55 -04:00
Bill Somerville
06b9746619
Make fSpread printing compatible with QSOs 2020-07-20 18:27:29 +01:00
Joe Taylor
159b8a97f7 Better handling of fSpread in mainwindow.cpp. Makes auto-seq work when plotspec is used. 2020-07-19 13:20:41 -04:00
Bill Somerville
7118f1ad14
Correct T/R period options for older modes, and correct start times
Fix up decode window headings.
2020-07-12 01:38:36 +01:00
Bill Somerville
f77b6bf71a
Only show FST240W T/R period spin box in FST240W mode 2020-07-08 19:37:31 +01:00
Joe Taylor
d4bf73df84 Minor cleanup of RoundRobin control. 2020-07-03 14:17:13 -04:00
Joe Taylor
0608521751 Remove unused references to WSPR_LF. 2020-07-01 15:12:14 -04:00
Joe Taylor
f2c3cbf9ac Implement basic functiionality of FST240W in the GUI. 2020-07-01 12:01:47 -04:00
Joe Taylor
ae54c80a54 Here's a start on GUI changes to support FST240W as well as FST240. 2020-06-30 17:14:58 -04:00
Joe Taylor
ae6ca148bd Pass mode name to the Modulator. 2020-06-29 14:47:46 -04:00
Bill Somerville
d5c5a58c7f
Merge branch 'develop' into feat-fst280 2020-06-27 22:14:09 +01:00
Steven Franke
390884268c Wholesale change from FST280 to FST240 2020-06-27 08:53:11 -05:00
Bill Somerville
4ee9ba6dba
Merge branch 'develop' into feat-wspr-user-hardware 2020-06-27 00:40:04 +01:00
phl0
6cbc91b653
Include prop mode in ADIF and UDP messages 2020-06-26 23:45:58 +01:00
Bill Somerville
27b4f2939a
More flexible execution of the user's hardware controller
Updated ways to implement a  user defined hardware controller which is
executed just after band changes during WSPR band hopping operation.

Allows the user_hardware executable to  be located in any directory on
the PATH environment variable. On Windows any file extension listed on
the PATHEXT  environment variable may  be used, the first  match using
PATH and  PATHEXT will  be executed.  On Windows  this is  achieved by
using CMD.EXE with a '/C' command  line flag, i.e. the user's hardware
controller is executed like this:

CMD.EXE /C user_hardware nn

where 'nn' is the new band as an integer in meters.

On non-Windows  systems the  user's executable  will be  run if  it is
found on the  directories specified by the  PATH environment variable,
and it is executable, i.e. it is equivalent to something like:

/bin/sh -c user_hardware nn

where 'nn' is the new band as an integer in meters.

In  all cases  the user_hardware  controller should  exit with  a zero
status, otherwise it have been deemed to have failed. On Windows avoid
an exit status of  one as that is utilized by  CMD.EXE to indicate the
file was not found, which WSJT-X ignores silently.

This change means the prior need to put the user's hardware controller
into   a  WSJT-X   installation  directory   like  /usr/local/bin   or
C:\WSJT\wsjtx\bin is no longer necessary.
2020-06-26 21:35:29 +01:00
Joe Taylor
9caf3b650c Correct a number of parameters that control FST280 signal duration and timing. 2020-06-25 17:18:48 -04:00
Joe Taylor
04e326e75a Change "Enable VHF/UHF/Microwave features" to "Enable VHF and submode features", and remove the popup warning about being on a lower band. 2020-06-22 15:20:41 -04:00
Bill Somerville
af894c6039
Rename files to match class name
Avoiding case insensitive file system issues.
2020-06-21 02:15:31 +01:00
Bill Somerville
b48b23450d
First iteration of optional TCP/IP client for PSK Reporter 2020-06-21 01:36:30 +01:00
Joe Taylor
87b79d0615 OK, we can now transmit in FST280 mode. 2020-06-19 15:02:05 -04:00
Joe Taylor
0e3ff2688a Further progress toward activating FST280 and FST280W in the GUI. 2020-06-16 16:59:40 -04:00
Joe Taylor
725933ddca Initial commit with some GUI features for FST280 and FS280W. 2020-06-16 14:58:08 -04:00
Bill Somerville
9c22b5c3ed
Qt v5.15 compatibility 2020-06-13 16:04:41 +01:00
Joe Taylor
3ad2a4c277 Remove a no-longer-used parameter from calls to lookup(). 2020-06-07 13:32:18 -04:00
Joe Taylor
f9780927ab Merge branch 'hotfix-2.2.1' of bitbucket.org:k1jt/wsjtx into hotfix-2.2.1 2020-06-04 11:45:23 -04:00
Joe Taylor
05cd8b3462 Improved logic for the way "Lookup" is processed. 2020-06-04 11:32:19 -04:00
Bill Somerville
8833b56d91
Fix issue with 2D spectrum selection in translated UIs
For completeness  this fixes  the other  occurrence of  widget signals
with text  arguments that are  liable to misbehaviour  with translated
UIs.
2020-06-03 17:43:27 +01:00
Joe Taylor
7e3115e3d1
I believe these changes fix the "missing blank line" bug. Please watch for a counter-example! 2020-05-11 20:13:51 +01:00
Joe Taylor
fe33bcdd6c More cleanup after making "Save None" mean NO SAVING AT ALL. 2020-03-19 15:41:18 -04:00
Joe Taylor
649a79dfc1 New IPC trial: use shmem instead of .start .stop .quit files. 2020-03-14 17:06:54 -04:00
Bill Somerville
523e9a1a07
Enhanced process control for jt9 executable
The wsjtx  process creates control  files .start, .stop, or  .quit and
the jt9  process deletes  them.  This  is intended  to avoid  any race
conditions that get the processes out of sync.
2020-03-14 00:01:54 +00:00
Joe Taylor
afe0262ec9 Previous commit message should have mentioned number of decodes is now displayed on status bar. 2020-03-12 15:11:20 -04:00
Joe Taylor
8e7685ea36 Do not alolow bailouts when data were read from disk. 2020-03-12 15:07:56 -04:00
Joe Taylor
6e308f0018 More attempts to diagnose or fix the FT8 "hung decoder" issue.
On the Fortran side:
 - For the nzhsym=41 activation, bail out if m_ihsym reaches 45
 - For the nzhsym=47 activation, bail out if m_ihsym reaches 48
 - Change the format and content of what's written to fort.71
 - Change msdelay from 10 to 1

In mainwindow.cpp:
 - change format and content of what's written to qDebug
 - always start FT8 decoder at m_ihsym = 41, 47, and 50
2020-03-12 12:33:34 -04:00
Bill Somerville
c58a690bf1
Add error checking to jt9 process control by .lock/.quit files 2020-03-11 22:26:41 +00:00
Joe Taylor
4d9c9e08e2 If 47-buffer call takes too long, start the 50-buffer call late. 2020-03-11 16:03:51 -04:00
Joe Taylor
199ff3dd3d Experimental work-around for FT8 decoding on slow computers. Important changes:
- don't start function decode() is decoder is already busy
  - send updated m_ihsym to jt9[.exe] via ss(1,1).  Bill won't like this!
  - jt9 bails out of the 41-buffer pass at m_ihsym=45.
2020-03-10 16:26:42 -04:00
Joe Taylor
431ec50212 Progress toward decoding at 41/47/50 buffers. Not yet complete! 2020-03-05 15:37:31 -05:00
Joe Taylor
8e7a56634b Set nearly=41; don't write <DecodeFinished> after the early decode pass. 2020-02-28 15:03:39 -05:00
Joe Taylor
4a4864d2ae FT8 early decoding is now working. 2020-02-13 15:05:37 -05:00
Steven Franke
a63e6e1209 - Force the use of standardized CQ modifier for FT4/FT8 contest operation.
- Pass CQ modifier string to the ft4 decoder.
2020-01-08 08:41:47 -06:00
sirhc808
1f57ba5fec improve physical structure 2019-07-02 12:45:05 -05:00
sirhc808
27d4471cde Merge branch 'ft9_refactor' into feat-refactor
# Conflicts:
#	CMakeLists.txt
#	lib/ft4/getcandidates4.f90
#	lib/ft4/sync4d.f90
2019-07-02 12:06:14 -05:00
sirhc808
ee5d5c8ae9 improve physical structure 2019-07-02 10:19:43 -05:00
Bill Somerville
c65d832356
New UDP messages to close and reconfigure WSJT-X plus more status fields
The Status(1) message acquires the new fields Frequency Tolerance, T/R
Period,  and  Configuration Name.  The  Rx  DF,  Tx DF  fields  become
unsigned (this should be a benign change which is just for correctness
as -ve values have never been possible).

The   Close(6)  message   becomes  bi-directional   allowing  external
applications to gracefully close down WSJT-X instances.

A  new  message SwitchConfiguration(14)  is  provided  that allows  an
external application to  switch the current configuration  of a WSJT-X
instance.

Another  new  message  Configure(15)  is provided  to  allow  external
applications to adjust some key parameters like the mode and submode.

See the  NetworkMessages.hpp header  commentary for full  details. The
UDPExamples/MessageAggregator reference  application has  been updated
to be able to exercise all of the above changes.

Note   that   this   commit   enforces  stricter   checking   on   the
"Settings->Reporting->Allow  UDP  requests"   option,  which  must  be
checked  before  any state  changing  incoming  messages to  a  WSJT-X
instance are processed.
2019-06-25 14:35:58 +01:00
Bill Somerville
ca41934b68
Repair an object instance initialization order issue that causes crashes
The  background  thread  running  the  ADIF log  load  needs  a  valid
configuration object as  it now depends on the  "Include WAE entities"
option.
2019-06-03 00:35:20 +01:00
Bill Somerville
381faca99a
Add option to include or exclude WAE extra entities in DXCC entity lookups
Also  refactored  object  relationships  as a  start  to  implementing
contest multiplier highlighting.
2019-05-29 23:35:18 +01:00
Joe Taylor
0d3be0128b Change m_TRperiod from qint32 to double. Functional, but needs more testing! 2019-05-22 12:44:28 -04:00
Joe Taylor
5826aefedc Let "Best S+P" status time out after 2 minutes. Update the keyboard shortcuts.txt file. 2019-04-16 13:21:45 -04:00
Joe Taylor
b6032277d0 The "Best S+P" button is now functional. Needs testing! 2019-04-08 12:36:05 -04:00
Joe Taylor
181e5c7b9d Remove unused code left over from asynchronous FT4 mode. 2019-04-02 13:16:06 -04:00
Joe Taylor
fd239d9c07 Clean up some timing issues with time-synchronized FT4. 2019-04-02 11:39:28 -04:00
Joe Taylor
e0d4c94cc1 Some very basic functionality for time-synchronized FT4. 2019-04-01 14:23:10 -04:00
Joe Taylor
3a6e26d645 Clean up the FT4 logic for setting status of labDXped, cbAutoSeq, cbFirst. 2019-03-14 12:03:07 -04:00
Joe Taylor
e9a999cda1 Use the "TU; ..." message when starting another FT4 QSO almost right away. 2019-03-12 11:09:49 -04:00
Joe Taylor
69675153a7 FT4 sequencing seems OK now (but needs thorough testing). No "TU;" msgs yet. 2019-03-07 14:36:58 -05:00
Joe Taylor
87826d1a6c Clean up some FT4 code. 2019-03-07 11:21:17 -05:00
Joe Taylor
57a20f838f Remove the code that builds an ADIF file from FoxQSO.txt. 2019-02-21 10:24:58 -05:00
Joe Taylor
d5a1671210 FT4 decoding interval is now 288 ms. Saving of FT4 files is somewhat rationalized. 2019-02-21 10:08:18 -05:00
Joe Taylor
f1e7b0c30a Add (temporary?) code for converting FoxQSO.txt to an ADIF log. 2019-02-20 10:43:30 -05:00
Joe Taylor
7a9240c9ef Basic saving of .wav files for FT4. 2019-01-28 15:58:14 -05:00
Joe Taylor
6e4f0f32ee Remove FT2; implement basic functionality in FT4. 2019-01-28 10:19:46 -05:00
Joe Taylor
c8cdd05f34 Implement auto-sequencing for FT2. 2019-01-24 11:58:57 -05:00
Joe Taylor
50c1daf61f Use a timer to establish length of an FT2 (to be FT4?) transmission. 2019-01-23 10:09:18 -05:00
Joe Taylor
568fc0810e Tx now works, more or less, in FT2 mode. Needs testing! 2019-01-18 16:22:25 -05:00
Joe Taylor
5f03d97a9e Implement basic Rx capability for FT2 in WSJT-X. 2019-01-18 11:51:15 -05:00
Joe Taylor
5f38d30c75 Add "Erase WSPR hashtable" to the Filemenu. 2019-01-08 15:41:59 -05:00
Joe Taylor
949c5deda5 Refactor code that writes to ALL.TXT and ALL_WSPR.TXT. Iincludes better formatting. 2019-01-03 12:15:48 -05:00
Bill Somerville
b8e4517718 Improve performance of Fox and contest log view windows
This include inverting  the order of table view rows  so the newest is
at the top, without that the Qt MVC interactions when using a database
table based model is too slow and complex to manage.

The table views  now have sort by column capability  in the normal way
(click column  header to  reverse sort order)  for timely  logging and
non-disruption  of  Tx  starts  the  log  view  should  be  sorted  in
descending time order and scrolled to the last row added. Without that
Fox and  contest logging will work  but serious delays may  be invoked
that disrupt operation.
2018-12-06 05:41:16 +00:00
Steve Franke
c8853cb90c Use regex to decide how the GUI formats the Tx messages for subsequent packing by packjt77. Ensure that C4XMAS is properly flagged as a non-standard callsign. 2018-12-05 13:47:36 -06:00
Bill Somerville
59fc83455d Add contest exchange send and received fields to UDP logged QSO message
Updated  message_aggregator and  udp_daemon reference  applications to
exercise this change.
2018-12-02 10:09:37 -05: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
db51726da2 Move Fox log reset action to Fox log window context menu and allow deletes of QSOs
Move to OnRowChange edit strategy for log tables so that deletes from
view can be implemented cleanly.

Improve layout of log view tables by resizing to contents.
2018-11-25 22:19:41 +00:00
Joe Taylor
dd28dd2670 Remove the Mouse Timer. Make the AutoSeq checkbox sticky, again. 2018-11-14 11:33:46 -05:00
Bill Somerville
3b26b40d81 Add new CabrilloLogWindow widget and integrate it into the application 2018-11-12 04:44:03 +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