Commit Graph

544 Commits

Author SHA1 Message Date
Joe Taylor
9fe2fc6de0 Fix two problems: sometime incorrect setting of RxFreq in WideGraph, and incorrect timestamp for FST4W-120 and FST4W-300 decodes in ALL.TXT. 2020-09-21 14:35:16 -04:00
Bill Somerville
542ffe8311
Improve audio device handling and error recovery
where possible  audio devices that  disappear are not  forgotten until
the user selects another device, this should allow temporarily missing
devices or forgetting  to switch on devices before  starting WSJT-X to
be  handled more  cleanly. If  all else  fails, visiting  the Settings
dialog and  clicking OK should  get things  going again. Note  that we
still  do not  have  a  reliable way  of  detecting  failed audio  out
devices, in that  case selecting another device and  then returning to
the original should work.

Enumerating  audio devices  is expensive  and on  Linux may  take many
seconds per  device. To avoid  lengthy blocking behaviour until  it is
absolutely necessary,  audio devices are  not enumerated until  one of
the "Settings->Audio" device drop-down lists is opened. Elsewhere when
devices  must be  discovered  the  enumeration stops  as  soon as  the
configured device is  discovered. A status bar message  is posted when
audio devices are being enumerated as a reminder that the UI may block
while this is happening.

The message box warning about  unaccounted-for input audio samples now
only triggers when  >5 seconds of audio appears to  be missing or over
provided. Hopefully this will make the warning less annoying for those
that are  using audio sources  with high and/or variable  latencies. A
status  bar message  is still  posted for  any amount  of audio  input
samples  unaccounted for  >1/5 second,  this message  appearing a  lot
should be considered as notification that  there is a problem with the
audio sub-system, system load is  too high, or time synchronization is
stepping the PC clock rather  than adjusting the frequency to maintain
monotonic clock ticks.
2020-09-20 18:20:16 +01:00
Joe Taylor
1ab59a8d6b Fully configure WideGpahe after switching to JT65 mode. 2020-09-20 10:17:27 -04:00
Joe Taylor
327808a0bb One more try at fixing the Fmax() startup problem that Steve sees. 2020-09-18 13:33:30 -04:00
Joe Taylor
52bdd57e57 Implement NB=-1%, NB=-2%. Fix a startup problem with WideGraps's fMax value. 2020-09-18 11:30:23 -04:00
Joe Taylor
41aa5dae74 Make the FTol control invisible in FST4 if Single decode is not checked. 2020-09-17 12:58:59 -04:00
Joe Taylor
e60fc1ca19 FST4 GUI controls for FLow, FHigh, should disappear when Single Decode is checked. And some related improvements. 2020-09-16 20:16:32 -04:00
Joe Taylor
21dc6a5c59 Connect the FLow and FHigh limits for FST4 decoding. 2020-09-16 17:23:59 -04:00
Joe Taylor
2266e8dbb7 Add FLow and FHigh spinner controls to set the FST4 decoding range. 2020-09-16 17:02:40 -04:00
Bill Somerville
abe470b24a
Fix a typo 2020-09-15 15:53:14 +01:00
Bill Somerville
e4eb6eb94e
Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2020-09-15 10:31:04 +01:00
Joe Taylor
3886411fad Two more corrections to mode-switch settings of GUI controls in FST4/FST4W. 2020-09-14 13:55:30 -04:00
Joe Taylor
f20c45c167 FST4: Align WideGraph green bar with RxFreq on startup. CTRL-diouble-click on waterfall sets FTol=10 and calls decoder. 2020-09-14 10:56:54 -04:00
Joe Taylor
8f554321c8 Make sure that Tx audio frequency in FST4 mode comes from FST4 TxFreq spinner, not the WSPR/FST4W spinner. 2020-09-14 09:55:33 -04:00
Bill Somerville
5014c62bfa
Notify user when enumerating audio devices 2020-09-13 17:12:11 +01:00
Joe Taylor
39403c2520 Expand the range of allowable values for TxFreq in FST4W. 2020-09-13 09:38:39 -04:00
Joe Taylor
174893395b Ensure sending correct FTol value from GUI to decoder for FST4. 2020-09-12 09:54:13 -04:00
Joe Taylor
bcdaf395f1 Must set m_bFastMode=false for FST4. Fixes the reported "Hold Tx frequency" issue. Also, ensure display of WideGraph rather than FastGraph for FST4, FST4W. 2020-09-12 09:35:32 -04:00
Bill Somerville
66e887b2f9
Merge branch 'develop' into feat-dropped-frames 2020-09-12 00:19:04 +01:00
Joe Taylor
2a1ef287a6 Add 300 and 400 Hz to the list of available FTol values for FST4. 2020-09-11 09:13:11 -04:00
Joe Taylor
e23f7b3434 Don't round off the FST4W RxFreq when FTol is changed. That was a bad idea. 2020-09-10 13:48:08 -04:00
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
ae4cfaf1ae
Start Fox mode on correct tab of tab widget 2020-09-08 21:19:48 +01:00
Bill Somerville
db6a432a33
Ensure band/frequency combo box edit styling tracks current frequency 2020-09-08 15:24:55 +01:00
Bill Somerville
1d52daf7ee
Remove erroneous Qt emit keywords 2020-09-08 12:54:19 +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
403d3a1041 Make "double-click on call" work in FST4 as in oter modes. 2020-09-05 14:09:33 -04:00
Joe Taylor
844fe26368 Fix "on_actionFST4_triggered()" so that it does not call another mode setup routine. 2020-09-05 11:53:23 -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
Joe Taylor
02928787b1 Save and restore the current setting of the FST4W RoundRobin control. 2020-09-04 15:38:04 -04:00
Joe Taylor
f24d15b16e Eliminate the FST4/FST4W submodes with hmod > 1. 2020-09-04 15:15:30 -04:00
Bill Somerville
a623ed0baf
Ensure band/frequency combo box edit shows correct band 2020-09-02 21:08:25 +01:00
Bill Somerville
56741d5e10
Merge branch 'develop' into feat-dropped-frames 2020-08-29 14:05:52 +01:00
Bill Somerville
64f29318aa
Repair an auto-sequencing defect with UDP Reply message handling 2020-08-29 14:04:29 +01:00
Bill Somerville
3a71184040
Include period start time in dropped samples message box details 2020-08-22 18:12:12 +01:00
Bill Somerville
d1860df190
Only send local station info to PSK Reporter when necessary
Remove unneeded debug trace messages.
2020-08-18 12:47:17 +01:00
Bill Somerville
b1c53bc332
Fix a cosmetic FT6 DXpedition mode Hound issue that causes an assert 2020-08-17 01:52:47 +01:00
Bill Somerville
536e6568a6
FST4* messages do not need padding out to 37 characters 2020-08-16 02:34:18 +01:00
Bill Somerville
50da40413f
PSK Reporter connection opened & closed at the correct times 2020-08-16 00:38:19 +01:00
Bill Somerville
491a7b9a05
Ensure no connect with, or traffic to, PSK Reporter if not enabled 2020-08-15 23:32:10 +01:00
Bill Somerville
b984390711
Fix PSK Reporter spots of FST4W decodes with power <10 dBm 2020-08-15 23:29:53 +01:00
Bill Somerville
632e2c2ae9
Merge branch 'develop' into feat-dropped-frames 2020-08-15 20:03:47 +01:00
Joe Taylor
dad9199f24 Disable double-clicking on an FST4W decode. It serves no useful purpose. 2020-08-15 14:31:18 -04:00
Bill Somerville
ec623deb9f
More consistent Tx Next button behaviour 2020-08-15 15:57:29 +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
7eb229ecde
Reduce Tx audio buffer size improve Pwr control granularity 2020-08-13 10:31:23 +01:00
Bill Somerville
11abe7c60f
Cosmetic reformating 2020-08-13 10:30:49 +01:00
Bill Somerville
185f570136
Avoid accessing shared memory after it has been deleted 2020-08-11 20:07:00 +01:00
Bill Somerville
e27b09b590
Revert Tx status widget on status bar to non-permanent placement 2020-08-11 16:09:51 +01:00
Bill Somerville
8e37dbd8c1
Increased threshold for status message and warning on dropped frames 2020-08-11 16:08:21 +01:00
Bill Somerville
0cf14dfcc9
Remove user adjustable audio buffer sizes from Settings
Fixed buffer sizes are  used. Rx use s 3456 x 1st  downsample rate x 5
audio  frames  of  buffer  space.  On Windows  this  means  that  each
chunk (periodSize())  delivered from the  audio stream is  our initial
DSP processing chunk size, thus  matching audio buffer latency exactly
with WSJT-X's  own front  end latency. This  should result  in optimal
resilience to high system loads that might starve the soundcard ADC of
buffers to fill and case dropped audio frames.

For Tx  a buffer sufficient for  1 s of  audio is used at  present, on
Windows  the period  size will  be  set to  1/40 of  that which  gives
reasonably low latency  and plenty of resilience to  high system loads
that might  starve the soundcard DAC  of audio frames to  render. Note
that a 1 s  buffer will make the "Pwr" slider slow  to respond, we may
have to reduce the Tx audio buffer size if this is seen as a problem.
2020-08-11 13:48:01 +01:00
Bill Somerville
1892f39df3
Revert "TEMPORARY: Diagnostic routine for the "Save All" missing files problem."
This reverts commit b5765401dc.
2020-08-10 01:42:26 +01:00
Joe Taylor
b5765401dc
TEMPORARY: Diagnostic routine for the "Save All" missing files problem. 2020-08-09 22:50:17 +01:00
Bill Somerville
ecf0a146f1
Merge branch 'develop' into feat-dropped-frames 2020-08-08 21:26:51 +01:00
Bill Somerville
94d66bc848
Make FST4W scheduling l10n agnostic 2020-08-08 21:25:32 +01:00
Bill Somerville
2e413713a3
Tidy dropped frame status bar message 2020-08-08 19:40:42 +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
Bill Somerville
bf58cd43aa
Improve contrast of coloured widgets in dark style 2020-08-08 13:20:52 +01:00
Bill Somerville
0ba5d7e1bf
More flexibility for QDateTime round/truncate routine 2020-08-07 21:31:48 +01:00
Bill Somerville
fb8b938ac7
Make FST4 std message generation consistent with other 77-bit modes 2020-08-04 11:43:19 +01:00
Bill Somerville
92cf7b29c2
Merge branch 'develop' into feat-fst280 2020-07-31 15:00:50 +01:00
Bill Somerville
b05bfecb5f
Avoid arithmetic errors when parsing the round-robin current text 2020-07-31 12:39:08 +01:00
Bill Somerville
c2b835c42b
Translatable help windows 2020-07-29 18:44:34 +01:00
Joe Taylor
846b0b6ed8 Fix the problem "Tx did not start in the first Round-Robin sequence when it should have started". 2020-07-29 11:58:28 -04:00
Bill Somerville
0f3fc3d15c
Correct time on beacon mode Tx prints in decodes window 2020-07-27 19:51:56 +01:00
Bill Somerville
6cb72a5f3e
Remove duplicate ALL.TXT Tx report in beacon modes 2020-07-27 19:49:39 +01:00
Bill Somerville
3bf070938b
Enable Tx percentage spin box in WSPR and random FST4W modes 2020-07-27 19:48:13 +01:00
Bill Somerville
2bf8888725
Merge branch 'develop' into feat-fst280 2020-07-27 15:02:44 +01:00
Bill Somerville
080e21f6fc
Remove testing code 2020-07-27 15:01:09 +01:00
Joe Taylor
e96dee4c23 Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-07-27 09:57:02 -04:00
Joe Taylor
236e334e71 *** TEMPORARY *** Allow transmitting FST4-15A and FST4-15B simultaneously. 2020-07-27 09:55:49 -04:00
Bill Somerville
c5248bf116
Merge branch 'develop' into feat-fst280 2020-07-27 13:25:28 +01:00
Bill Somerville
bb927a6115
Handle missing user_hardware on non-Windows systems 2020-07-27 13:13:04 +01:00
Bill Somerville
a2ad0be85b
Use shell to execute user_hardware via PATH 2020-07-27 12:19:47 +01:00
Bill Somerville
b4bbc44d5b
Invoke user_hardware correctly 2020-07-27 00:51:12 +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
2f700265b9
Merge branch 'develop' into feat-fst280 2020-07-26 10:20:55 +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
63b1b0729a
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-07-26 02:54:04 +01:00
Joe Taylor
ceeafa5bed *** TEMPORARY *** Add a feature to transmit FT8 and FST4 at the same time. 2020-07-25 16:02:42 -04:00
Bill Somerville
4015c5e538
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-07-24 21:16:52 +01:00
Joe Taylor
dbaffea0cd Allow only TR periods >= 120 s for FST4W. 2020-07-24 11:13:48 -04:00
Bill Somerville
90c1824ffe
Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-07-24 16:01:57 +01:00
Joe Taylor
c802c60afa Allow FST4 to use Split (Rig or Fake it). Set Tx upper freq limit for FST4W to 1600 Hz. 2020-07-24 10:58:10 -04:00
Bill Somerville
29fc0ced19
Revert "Fix double-clicking on a decode line containing fSpread."
Change superseded.

This reverts commit d9c2a11821.
2020-07-24 12:46:43 +01:00
Bill Somerville
580dd85a18
Remainder of renames to FST4 2020-07-23 18:51:05 +01:00
Joe Taylor
77a6f8f514 Move blanking from symspec() to fst240_decode(). Do not apply RefSpec corrections to data read from disk. 2020-07-23 10:58:10 -04:00
Bill Somerville
51f692d8d4
Avoid double Tx periods in WSPR modes when changing scheduling basis 2020-07-22 18:01:06 +01:00
Joe Taylor
52643b01e2 Correct the "time to decode" and the "Tune" frequency for FST240 modes. 2020-07-21 14:56:20 -04: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
5111dcdfa8
Include sub-mode in .WAV file meta-data for FST240 modes 2020-07-21 14:57:44 +01:00
Bill Somerville
09996d4d64
Leave decodes titles intact when changing settings in FST240* modes 2020-07-20 19:33:46 +01:00
Joe Taylor
2e916f995c Merge branch 'feat-fst280' of bitbucket.org:k1jt/wsjtx into feat-fst280 2020-07-20 13:59:12 -04:00
Bill Somerville
06b9746619
Make fSpread printing compatible with QSOs 2020-07-20 18:27:29 +01:00
Joe Taylor
d9c2a11821 Fix double-clicking on a decode line containing fSpread. 2020-07-20 11:48:09 -04:00