Compare commits

...

1463 Commits

Author SHA1 Message Date
Joe Taylor
2b9d65408d Bug fix: correct the misuse of variable 'ncand' in both q65 module and a common block. 2024-03-12 08:47:23 -04:00
Uwe Risse
c5a266b5e0 Update Catalan translation of the UI. Thanks to Xavi, EA3W. 2024-03-07 18:15:02 +01:00
Uwe Risse
de9dc8e3fb Minor changes to the Release Notes. 2024-03-07 17:22:40 +01:00
Uwe Risse
5e410a982b Further updates to the Spanish translation of the UI. Thanks to Cedrik, EA4AC. 2024-03-07 16:42:05 +01:00
Uwe Risse
2a9d0b6998 Update Spanish translation of the UI. 2024-03-07 11:17:16 +01:00
Uwe Risse
75f6b9b423 Fix a compilation error. 2024-03-07 01:14:11 +01:00
Uwe Risse
c7a93fca4a Code cleanup. 2024-03-04 10:50:17 +01:00
Uwe Risse
08785eff56 Update NEWS and Release Note for RC4. 2024-03-04 10:28:03 +01:00
Uwe Risse
40fbc208fd Code cleanup. 2024-03-04 10:27:14 +01:00
Uwe Risse
1ac2fc23c3 Remove unused code. 2024-03-04 10:14:54 +01:00
Uwe Risse
d4a5ea60e6 Preparations for RC4. 2024-03-04 10:00:03 +01:00
Uwe Risse
86fd50304f Remove unused code. 2024-03-04 09:58:32 +01:00
Uwe Risse
75b4e0e798 Remove unused code. 2024-03-04 09:45:59 +01:00
Joe Taylor
ee68285583 Revert "Bare-bones foxgen2 is now functional and parsing normal Fox messages."
This reverts commit b83c41c8deec1b09d56f504c0fd09e9b693d8184.
2024-03-01 16:40:16 -05:00
Joe Taylor
ae50058498 Revert "Fix two typos."
This reverts commit 72651037bdec5410272654699bbbf90edbc89f17.
2024-03-01 16:40:14 -05:00
Joe Taylor
587a16cd21 Revert "WIP on assembling SuperFox messages."
This reverts commit 4c0d34477d137ef57fa03def5cd5e1997717952e.
2024-03-01 16:40:12 -05:00
Joe Taylor
45151bda3b Revert "SuperFox messages are now properly assembled at uset level. Next, need to encode."
This reverts commit 34b97b53f82bd75a87fa1b302a325d3e71d494af.
2024-03-01 16:40:01 -05:00
Joe Taylor
34b97b53f8 SuperFox messages are now properly assembled at uset level. Next, need to encode. 2024-03-01 15:14:44 -05:00
Joe Taylor
4c0d34477d WIP on assembling SuperFox messages. 2024-03-01 13:22:33 -05:00
Joe Taylor
72651037bd Fix two typos. 2024-03-01 11:59:05 -05:00
Joe Taylor
b83c41c8de Bare-bones foxgen2 is now functional and parsing normal Fox messages. 2024-03-01 11:55:20 -05:00
Joe Taylor
ae61764af3 Starting to implement SuperFox capability in WSJT-X. 2024-03-01 10:48:41 -05:00
Joe Taylor
ae17011aa4 Alt+A to clear the Active Stations window in Q65 mode (for QMAP). 2024-02-28 13:58:23 -05:00
Uwe Risse
c228b6fe18 Disable double-clicking on combined messages also for the standard FT4 sub-bands. 2024-02-06 16:13:40 +01:00
Uwe Risse
ffe1d11e99 Don't fill DX Call box and Std Msgs when double-clicking on a combined message and we are on standard FT8 sub-bands. 2024-02-06 11:06:33 +01:00
Uwe Risse
3882953f51 Disable the popup message for now. 2024-02-05 17:01:03 +01:00
Uwe Risse
3611f07ad6 Enable Tx by double-clicking on a combined message on standard FT8 sub-bands is no longer permitted, as 10-bit hash collisions are too likely. 2024-02-05 16:50:22 +01:00
Steven Franke
98e48e00d3 Only hash the callsign of stations that we are hearing. 2024-02-05 08:52:57 -06:00
Uwe Risse
20c41cf45b Don't write <my_gridsquare> ADIF tag when myGrid is empty. 2024-02-03 15:44:02 +01:00
Joe Taylor
200168fd37 Reset QMAP's kHzRequested to 0 after the QSY is executed in WSJT-X. 2024-01-31 10:00:12 -05:00
Uwe Risse
b7efe4d26d Ensure that any message to MyCall is displayed in the Rx Frequency window when in FT8 Hound mode. 2024-01-30 17:50:12 +01:00
Joe Taylor
d67a406bf0 Merge branch 'develop' into qmap 2024-01-26 09:21:43 -05:00
Uwe Risse
41407dad9f Always display Q65 messages with own callsign in the right-hand window. 2024-01-26 10:34:30 +01:00
Joe Taylor
f59b5a48f7 CTRL+Click on QMAP's upper waterfall sends integer kHz dial freq request to WSJT-X. 2024-01-25 14:27:54 -05:00
Joe Taylor
c251764252 Display "T M R 73" only for JT4 and Q65 D and E. 2024-01-25 11:32:36 -05:00
Joe Taylor
2655e41dd6 Revert "Q65/JT65/JT4: Always display messages containing MyCall in the right window."
This reverts commit 226b17d0eaac79699b32ee1372dd767153cccedc.
2024-01-25 11:28:17 -05:00
Joe Taylor
d4e2c21053 Special case: yellow Tx message for Q65-60x should use hhmmss. 2024-01-25 11:14:55 -05:00
Joe Taylor
226b17d0ea Q65/JT65/JT4: Always display messages containing MyCall in the right window. 2024-01-25 10:57:15 -05:00
Joe Taylor
495170e7a1 Double-click on AS window to leave Tx Enable OFF. 2024-01-24 15:10:15 -05:00
Uwe Risse
90b7ff7da9 Deactivate Lookup for certain special operating activities, as 6-digit grids from CALL3.TXT may not be accepted. 2024-01-24 18:02:06 +01:00
Steven Franke
aac9de3e4c fastosd240_74.f90: Fix a couple of typos. No impact on WSJT-X decoding performance. 2024-01-23 09:47:19 -06:00
Steven Franke
e205bf0ca6 Changes to enable simulating (240,74) FST4W code with noncoherent 4FSK on AWGN or Rayleigh fading channels 2024-01-22 12:07:52 -06:00
Joe Taylor
b84742b1fc "Export .wav files" now working as intended in QMAP. 2024-01-22 11:11:53 -05:00
Joe Taylor
7be1c34ea0 Fix cablog so it can work with grid as exchange, e.g., for Jan VHF SS. 2024-01-22 11:09:45 -05:00
Joe Taylor
0705bd329e More work in progress toward "Export .wav file ..." in QMAP. 2024-01-22 07:12:40 -05:00
Joe Taylor
6474f7e1cf Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2024-01-20 15:03:33 -05:00
Joe Taylor
adc0345ef3 Work in progress toward "Export .wav file". 2024-01-20 15:02:51 -05:00
Uwe Risse
69a19946df Remove an unnecessary space. 2024-01-20 18:50:26 +01:00
Joe Taylor
4ec84087c7 Revert "Suppress QMAP waterfall scrolling with all-zero data from qm file."
This reverts commit 05c33893076a33e118782f6c7d498fe82787cdcd.
2024-01-20 08:37:14 -05:00
Joe Taylor
05c3389307 Suppress QMAP waterfall scrolling with all-zero data from qm file. 2024-01-20 08:22:11 -05:00
Joe Taylor
9223ae3393 Cleanup in read_qm.f90. 2024-01-19 14:19:37 -05:00
Joe Taylor
e178df928e Skip redundant processing of candidates already decoded in same sequence. 2024-01-19 14:02:16 -05:00
Joe Taylor
8a2051e439 Decode cycles now start at t=19.5, 30.0, 49.5, and 58.5 s. 2024-01-19 13:04:24 -05:00
Joe Taylor
47c64f3675 Clean up commented code. 2024-01-19 12:11:30 -05:00
Joe Taylor
d155abe274 Remove a bunch of commented-out qDebug() statements. 2024-01-19 11:59:50 -05:00
Joe Taylor
9babd4616b Add a Q65-30x decode cycle at t=24s, ihsym=160. 2024-01-19 11:57:53 -05:00
Joe Taylor
e81cafa2c2 Remove unused variable in qmapa(). 2024-01-19 11:11:33 -05:00
Joe Taylor
55286b05a9 Zero the ss() array at start of sequence in symspec(). 2024-01-19 11:10:23 -05:00
Joe Taylor
b3d8750949 Increase width of "result" from 60 to 64, to accommodate longest messages. 2024-01-18 16:25:08 -05:00
Joe Taylor
3a5da4b2ac Deactivate a bunch of diagnostic wtites to console. 2024-01-18 10:19:30 -05:00
Joe Taylor
ae64b71498 Fix a typo. 2024-01-18 08:43:17 -05:00
Joe Taylor
74f07211c3 Restore normal behavior in read_qm(). 2024-01-17 12:41:43 -05:00
Joe Taylor
db3c7c4668 Full set of save_qm diagnostics for Roger and Uwe. 2024-01-17 10:52:39 -05:00
Joe Taylor
14b60aa146 Lighten the QMAP label background color for Q65-60D. 2024-01-17 09:08:38 -05:00
Joe Taylor
153c2e4212 Diagnostic work in progress on saving and reading QMAP files. 2024-01-17 07:13:05 -05:00
Joe Taylor
9044718e36 Better arrangement of timeout criteria for the QMAP decoder. 2024-01-16 13:50:38 -05:00
Joe Taylor
cc9c1c62c9 One more tweak: Do not call decoder at all, if nTx60>5. 2024-01-16 13:36:28 -05:00
Joe Taylor
8a899d000e Correct QMAP's dupe-checking behavior for manual decodes. 2024-01-16 11:46:36 -05:00
Joe Taylor
6e6caa0d82 Short decode cycles for 2nd half if we transmitted in 2nd half. 2024-01-15 19:49:10 -05:00
Joe Taylor
447127a49f Send filename and revision to q65c through a common block. 2024-01-15 19:24:26 -05:00
Joe Taylor
24bfc9f30d Correct a fvlaw in setting the decodeBusy flag. 2024-01-15 19:02:30 -05:00
Joe Taylor
9c45e510ff Be sure the saveFileName is static. 2024-01-15 18:34:01 -05:00
Joe Taylor
059096534b Cleanup. 2024-01-15 17:20:43 -05:00
Joe Taylor
2f46104140 Basically operational with save_qm called in the decoder thread. Needs testing! 2024-01-15 15:47:57 -05:00
Joe Taylor
4af9c58bb0 Send needed arguments to q65c(). 2024-01-15 13:45:00 -05:00
Joe Taylor
ae1cf334e2 Separate out the final call to timer(), using new "all_done()" function. 2024-01-15 13:22:45 -05:00
Joe Taylor
ff39abab58 WIP toward moving save_qm to the decoder thread. 2024-01-15 13:10:41 -05:00
Joe Taylor
f7e16671ab Status lab1 turns yellow when WSJT-X is transmitting. 2024-01-14 16:08:24 -05:00
Joe Taylor
8be743e0b8 Don't use future/watcher for reading raw data from disk. Better use of 30-second Rx sequences. 2024-01-13 15:28:35 -05:00
Joe Taylor
ae14fa13e9 Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2024-01-13 13:32:21 -05:00
Joe Taylor
9c3cc3d685 Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2024-01-13 09:51:01 -05:00
Joe Taylor
13a8efd533 One more removal: declaration of unused function. 2024-01-13 09:09:15 -05:00
Joe Taylor
80ed717aab Clean out the remains of writing .iq files. 2024-01-13 09:05:39 -05:00
Joe Taylor
8d17c7095c Disable saving .iq files, to see if Win7 then allows saving .qm files. 2024-01-12 10:34:41 -05:00
Joe Taylor
7a0a1736a7 Correct the logic for setting default bAlso30=true. 2024-01-11 13:59:32 -05:00
Joe Taylor
f93d846c22 Best (and simplest) performance is with FFTW npatience=0 and no threading. 2024-01-10 15:53:05 -05:00
Joe Taylor
42f322e461 Simplify ftninit. 2024-01-10 15:17:26 -05:00
Joe Taylor
f98009daab Use fftwf_ routines instead of sfftw_ routines. 2024-01-10 15:16:44 -05:00
Joe Taylor
c7e13191f1 Use the four2a in the WSJT-X lib directory. 2024-01-10 15:12:56 -05:00
Joe Taylor
2584b5ef3b Don't save and restore FFTW wisdom in QMAP. 2024-01-10 15:11:38 -05:00
Joe Taylor
6dc971d304 Add "Save decoded" to the QMAP Save menu. 2024-01-10 12:36:40 -05:00
Joe Taylor
fbfc157e79 Allocate and deallocate the id1 array in save_qm. 2024-01-10 12:00:44 -05:00
Joe Taylor
12042f6ae8 WIP: cleanup of things related to use of FFTW. More needed! 2024-01-08 18:55:00 -05:00
Joe Taylor
764fcaadcb Merge branch 'develop' into qmap 2024-01-08 08:58:34 -05:00
Joe Taylor
53db514d42 Enable decoding of MSK144 in jt9[.exe]. Thanks to Alex, VE3NEA! 2024-01-08 08:56:26 -05:00
Joe Taylor
e6fb080071 Change status label to "Saving files". 2024-01-06 12:19:44 -05:00
Joe Taylor
32c3cb7c4a Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2024-01-06 11:37:19 -05:00
Joe Taylor
faae78e0e6 Enable click-to-decode for first half-minute. 2024-01-06 11:36:32 -05:00
Uwe Risse
bd4edcce49 Simplify color gradation. 2024-01-06 14:59:09 +01:00
Joe Taylor
07e82b0c40 Try to fix saving of ntx30[ab] in qm files. 2024-01-05 14:11:05 -05:00
Joe Taylor
d594d14a1e Tweak the Astro Window layout. 2024-01-05 13:17:51 -05:00
Joe Taylor
bb4564f734 Replace the required calculation of m_xavg, needed for pointing measurements. 2024-01-05 12:47:50 -05:00
Joe Taylor
9e0425ef40 Save and restore the "fac0" scaling value. 2024-01-05 07:01:55 -05:00
Joe Taylor
c733c0c123 Save SelfDop at start and end of Rx sequence in *.qm file header. 2024-01-04 16:51:02 -05:00
Joe Taylor
69f98d5c5c Q65-30x decoding turned on by default. 2024-01-04 16:06:42 -05:00
Joe Taylor
7f7a5322ed Clean up and complete(?) implementing save_qm and read_qm. 2024-01-04 16:03:44 -05:00
Joe Taylor
606506f578 Work in progress: Now able to read from *.qm files. 2024-01-04 10:52:36 -05:00
Joe Taylor
4a4225bb9c Working toward ability to write and read *.qm files. 2024-01-04 10:05:46 -05:00
Joe Taylor
b5bbf4a860 Working toward a new *.qm file type for QMAP. 2024-01-03 17:36:46 -05:00
Joe Taylor
986eaf5d40 Add fQSO back to azel.dat, for IK7EZN. 2024-01-03 16:17:57 -05:00
Joe Taylor
232c680a41 Remove unused code. 2024-01-03 15:31:33 -05:00
Joe Taylor
69f3186b13 General cleanup. Remove CFOM stuff. Fix logic for 30 s transmissions. Add ntx30x to .iq files. 2024-01-03 13:51:37 -05:00
Joe Taylor
05ed9c050d Another attempt at identifying 30 s Tx sequences from disk data. 2024-01-02 19:52:45 -05:00
Joe Taylor
a4e7b915de Maybe this is a better empirical test for ntx30[ab] in old disk data? 2024-01-02 16:04:03 -05:00
Joe Taylor
a7b6798c99 Bump the RC number to 4. 2024-01-02 09:55:12 -05:00
Joe Taylor
a7cef9fc89 Better format for Astro Data window. 2024-01-02 09:34:21 -05:00
Uwe Risse
0d46c8a66e Allow static RU exchanges only between 0001 and 7999. 2024-01-02 13:33:11 +01:00
Uwe Risse
2a4ab7e92f Display "Saving .iq files. 2024-01-02 12:06:35 +01:00
Uwe Risse
f3be4b47fa Add a color gradient for the Max Drift combo box. 2024-01-02 12:04:55 +01:00
Joe Taylor
fd0336f234 Optimize calling the QMAP decoder for different sub-sequence tasks. 2024-01-01 15:48:24 -05:00
Joe Taylor
7276e86e60 Delimit the times at which 60s and 30s decode attempts are made. 2024-01-01 13:56:39 -05:00
Joe Taylor
5cc82189e6 Clear up some cases where there's no need to call QMAP decoder. 2024-01-01 13:26:26 -05:00
Joe Taylor
ac0055b303 Remove more unused stuff. 2024-01-01 13:02:39 -05:00
Joe Taylor
0f417374c3 Remove more unused QMAP variables. 2024-01-01 12:51:15 -05:00
Joe Taylor
ce2a4d2fe7 Update the "Also Q65-30x" label appropriately when the 60s submode is changed. 2024-01-01 12:16:15 -05:00
Joe Taylor
40cba29e5f Removing more unused variables, etc., from QMAP. 2024-01-01 11:59:22 -05:00
Joe Taylor
f3308b7ee4 Remove unised variable m_fs96000. 2024-01-01 10:16:20 -05:00
Joe Taylor
2c2deab91a Remove references to unused variable m_idInt. 2024-01-01 10:10:40 -05:00
Joe Taylor
6cab8c3da9 Clean out some unused MAP65 variables. 2024-01-01 10:03:37 -05:00
Joe Taylor
76007c8031 Reconcile the datcom_ structure in soundin.cpp with that in commons.h. 2024-01-01 09:57:55 -05:00
Joe Taylor
673f74e67b QMAP work in progress: cleaning up the enabling of Q65-30x decodes. 2024-01-01 09:46:09 -05:00
Joe Taylor
1d21dff93f Increase the Fcal range to +/- 50000. 2024-01-01 07:31:04 -05:00
Joe Taylor
3ebf72076c Cancen RC nagging for K1JT and W2ZQ. 2023-12-31 15:17:56 -05:00
Joe Taylor
5bac396d60 Set signal meter to zero when transmitting. Remove some unused code. 2023-12-31 09:30:39 -05:00
Joe Taylor
efe8f090c2 Correct the bug in CallSandP2() that sets Rx freq incorrectly from ActiveStations window. 2023-12-31 09:05:31 -05:00
Uwe Risse
1f0ddb92c5 Make coloring of the Q65-30B lines compliant with Dark Style. 2023-12-28 23:51:09 +01:00
Joe Taylor
887bc433ec Some adjustments to details of QMAP <==> WSJT-X communication. 2023-12-28 16:41:22 -05:00
Joe Taylor
3546fd4ba2 Allow QMAP digital Gain settings in range +/- 50 dB. 2023-12-28 14:05:51 -05:00
Brian Moran
0eaf3360d8 remove incorrect check 2023-12-26 12:52:14 -08:00
Uwe Risse
115f850cd1 Align release date. 2023-12-24 16:11:52 +01:00
Uwe Risse
a4395c5d08 Finalize Release_Notes.txt and NEWS for the upcoming RC3 release. 2023-12-23 20:57:39 +01:00
Joe Taylor
e0078bf01e Merge branch 'develop' into qmap 2023-12-23 14:13:08 -05:00
Joe Taylor
e92d5ca1f5 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-12-23 14:00:12 -05:00
Joe Taylor
fcee51cea8 Update Section 1.7 of WSJT-X User Guide for v2.7.0. 2023-12-23 13:55:36 -05:00
Joe Taylor
f086aeb95a Correct a longstanding typo error in sun.f90. 2023-12-23 13:00:52 -05:00
Joe Taylor
c1253954f6 Minor editing of Release_Notes.txt for the upcoming RC3 release. 2023-12-23 10:13:17 -05:00
Joe Taylor
c8cbb481a0 Correct the expression of RC3 expiration date. 2023-12-23 09:24:23 -05:00
Uwe Risse
826fa8ae03 Draft text for the release notes. 2023-12-23 11:20:21 +01:00
Joe Taylor
d3e9f3fc5a Don't honor 'bSkip' if nagain.eq.1. 2023-12-22 19:37:54 -05:00
Joe Taylor
5bacc2d763 Click-to-decode should return ieediately after one success. 2023-12-22 15:50:17 -05:00
Joe Taylor
6b5db9fd0c Fix a problem with passing non-static variable to function in another thread. 2023-12-22 15:33:22 -05:00
Joe Taylor
08d9ebaf1a Some temporary commits, for testing. Includes some diagnostic prints! 2023-12-22 15:04:28 -05:00
Joe Taylor
6ec9466dc1 Remove a qDebug() call. 2023-12-21 11:22:55 -05:00
Joe Taylor
cdb7b02835 Don't call decoder if we transmitted Q65-30x in this 30 s segment. Also some CFOM diagnostics. 2023-12-21 11:04:23 -05:00
Joe Taylor
031f7fc1e6 Attempted fix so that Echo mode works with CFOM. 2023-12-21 10:05:01 -05:00
Joe Taylor
95daa2d791 Don't start another QMAP decode attempt if it's too late... 2023-12-21 09:15:19 -05:00
Joe Taylor
b13c7d8dca Make the QMAP checkbox for CFOM invisible by default. 2023-12-21 09:01:58 -05:00
Joe Taylor
171662ba50 Minor cleanup in cfom.f90. (But maybe dd is being altered, elsewhere, in symspec?) 2023-12-20 21:07:57 -05:00
Joe Taylor
4e935e01f3 Another try at getting yellow highlighting correct in Active Stations window. 2023-12-20 17:22:05 -05:00
Joe Taylor
9545c8eaa2 Many corrections for QMAP behavior regarding CFOM. 2023-12-20 12:18:05 -05:00
Uwe Risse
8f8f135e02 Update copyright notices. 2023-12-20 15:37:11 +01:00
Uwe Risse
50bd14937f Preparations for Release Candidate 3. 2023-12-20 15:26:06 +01:00
Joe Taylor
e42e995c59 Remove some obsolete MAP65 stuff. 2023-12-18 19:36:43 -05:00
Joe Taylor
2fb711401f Save and restore CFOM-adjusted data in *.iq files. 2023-12-18 16:34:44 -05:00
Joe Taylor
889531fda6 Add optional real-time CFOM to QMAP receiving. 2023-12-18 15:28:44 -05:00
Joe Taylor
e211bae779 Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2023-12-18 13:55:35 -05:00
Joe Taylor
517ca61f5c Set background color of QMAP's MaxDrift control if its valus is > 0. 2023-12-18 13:54:22 -05:00
Joe Taylor
8be6d702d2 Several corrections in cfom_iq.f90. 2023-12-18 13:28:03 -05:00
Steven Franke
6f8c326717 ldpcsim174_91: Add the option to simulate the (174,91) code with noncoherent 8FSK on AWGN and block Rayleigh channels. 2023-12-18 10:23:12 -06:00
Uwe Risse
35a1d37012 Better stretching behavior of the program window (useful if users use App Scaling). 2023-12-18 16:19:11 +01:00
Joe Taylor
97fac57830 Add file cfom_iq.f90. 2023-12-17 17:19:23 -05:00
Joe Taylor
44bd5f9ac8 Change the "Dwell time" step size from 10 to 5. 2023-12-17 15:22:03 -05:00
Joe Taylor
363e301e31 Code cleanup. 2023-12-17 15:16:36 -05:00
Joe Taylor
84ec6bb457 Fix it so dupe-checking works when "Also Q65-30x" is not checked. 2023-12-17 15:09:31 -05:00
Joe Taylor
50519bc282 Send nhsym to qmapa, it might be used later. 2023-12-17 14:30:34 -05:00
Joe Taylor
1f78fe5f2c More info in QMAP status label lab4. 2023-12-17 14:07:41 -05:00
Joe Taylor
20c090e2bc QMAP decodes also at t=49.5 s. 2023-12-17 12:08:56 -05:00
Joe Taylor
2e715fa47d List ndecodes/ncand in QMAP status lab4. 2023-12-17 11:54:34 -05:00
Joe Taylor
d5a8ce97e3 Make sure diskDat() finished before starting another file. 2023-12-17 07:27:28 -05:00
Joe Taylor
bb5e8efd52 Remove an unused variable. 2023-12-17 06:19:59 -05:00
Joe Taylor
6afced7335 Minor code cleanup. 2023-12-16 11:59:11 -05:00
Joe Taylor
90f3c59ea0 Skip useless calls to QMAP's decode0(), depending on 30 s transmissions. 2023-12-16 11:48:06 -05:00
Uwe Risse
f42a1bb357 Create Save Directory if it does not yet exist. 2023-12-16 15:40:43 +01:00
Joe Taylor
9d5f3858d4 When requested, call the QMAP decoder also at t=30s. 2023-12-14 13:37:28 -05:00
Uwe Risse
1aeaec7a6d Change some default values. 2023-12-13 19:32:38 +01:00
Uwe Risse
186abfe99e Again, make the red background color consistent with the WSJT-X default value. 2023-12-13 18:51:06 +01:00
Uwe Risse
c45420b194 Make the red background colur consistent with the WSJT-X default value. 2023-12-13 18:36:16 +01:00
Uwe Risse
1b3f4315b1 More options for highlighting messages with myCall. 2023-12-13 16:32:57 +01:00
Joe Taylor
5e8deecdb4 Fix the logic about not scrolling the QMAP waterfall when transmitting. 2023-12-12 15:43:29 -05:00
Joe Taylor
7255a7c86a Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2023-12-12 12:23:08 -05:00
Joe Taylor
1542b7f857 If myCall is in the message, highlight the line with red background. 2023-12-11 19:01:05 -05:00
Joe Taylor
9c7c837dc8 Yellow background for Q65-30x decodes in Active Stations window. 2023-12-11 16:07:43 -05:00
Uwe Risse
e040c926b9 Always attempt to decode when Continuous Waterfall is enabled. 2023-12-11 18:47:52 +01:00
Joe Taylor
11f8efd2a9 Suppress QMAP decoding only if WSJT-X transmitted too much in a Q65-60x submode. 2023-12-11 11:46:02 -05:00
Joe Taylor
e2ef2c7dbb Change beta-test expiration date to July 1, 2024. 2023-12-11 11:20:44 -05:00
Joe Taylor
c413ea2f14 Remove the 'QMAP deciding finished' stuff, it was a bad idea. 2023-12-11 10:51:50 -05:00
Joe Taylor
b0ea3a2eb5 Distinguish between m_nTx30 and m_nTx60. Add "QMAP decoding finished" so Active Stations will update. 2023-12-11 10:28:13 -05:00
Joe Taylor
717fd42ac1 Update the GUI label for Input device. 2023-12-11 09:03:01 -05:00
Uwe Risse
d9cab59537 Some more corrections and updates to the text. 2023-12-11 13:46:40 +01:00
Uwe Risse
61fc069443 Hamlib Git address updated. 2023-12-11 13:17:02 +01:00
Joe Taylor
2f1082e973 Try to correct the logic about not decoding if we transmitted too much. Not fully tested! 2023-12-09 15:20:59 -05:00
Joe Taylor
adc457214f Set correct Q65 submode (ABCDE) for a call selected from Active Stations window. 2023-12-09 14:53:28 -05:00
Joe Taylor
5d94775c7d Change nmode to nBaseSubmode, and don't allow for a JT65 mode. 2023-12-09 13:25:07 -05:00
Joe Taylor
91c0e43ef6 Don't re-define value of mode_q65; use mode_q65_tmp instead! 2023-12-08 16:48:17 -05:00
Joe Taylor
0cf01f1248 Correct a flaw in setting QMAP background colors. 2023-12-08 15:32:40 -05:00
Uwe Risse
f525f08365 Update CTY.DAT file. 2023-12-08 21:25:21 +01:00
Joe Taylor
6019101018 Highlight QMAP's Q65-30B decodes with yellow background. 2023-12-08 15:21:47 -05:00
Joe Taylor
115c4c4e30 Activate the Gain co0ntrol in QMAP's "File -> Settings -> I/O Devices". 2023-12-08 14:06:15 -05:00
Joe Taylor
ac1b5d03b2 Set TRperiod to 30 or 60 when in Q65 mode and a call is selected in AS Window. 2023-12-08 12:39:00 -05:00
Uwe Risse
6e9dc42881 Assign WAE entities to the correct DXCC when "Include extra WAE entities" is not selected. 2023-12-08 18:19:42 +01:00
Joe Taylor
e6fad89904 Remove a diagnostic write. 2023-12-08 12:13:00 -05:00
Joe Taylor
fe19a7263d Clean up the way UTC gets written to q65_decodes.txt and all_qmap.txt. 2023-12-08 12:06:20 -05:00
Joe Taylor
57aca5c222 Better checkbox labels in Active Stations window. 2023-12-07 14:38:49 -05:00
Joe Taylor
0d74918634 Most (probably not all) of the QMAP <-> WSJT-X interaction is now functional. 2023-12-07 14:29:27 -05:00
Joe Taylor
43019d0cb4 Transfer of QMAP decodes to ActiveStations basically working. Must add submode info. 2023-12-07 13:36:53 -05:00
Joe Taylor
7622915147 Add submode to display of decoded messages. 2023-12-07 13:00:21 -05:00
Joe Taylor
62eb8fa3e9 Merge branch 'qmap' of bitbucket.org:k1jt/wsjtx into qmap 2023-12-07 12:34:22 -05:00
Joe Taylor
8ae939b573 Save 60 s of data to *.iq files. Last 1.5 s may be zeroes. 2023-12-07 12:33:19 -05:00
Joe Taylor
0455cf23e6 Bring the MAP65's interface from q65b to map65_mmdec up to date. 2023-12-07 12:28:19 -05:00
Joe Taylor
7f660d62fa Reduce the search range back to +/- 10 Hz from detected sync freq. 2023-12-07 11:52:41 -05:00
Joe Taylor
bf861d9979 Resize arrays to enable processing up to full 60 seconds of data. 2023-12-07 11:43:25 -05:00
Joe Taylor
d62cdbaf2b Intermediate commit: work in progress. 2023-12-07 11:20:21 -05:00
Uwe Risse
ff2f2b00b9 Add an option for a continuous waterfall when WSJT-X is transmitting. 2023-12-07 11:27:26 +01:00
Joe Taylor
cb7395b504 QMAP now decodes both Q65-60C and Q65-30B in same 60-second Rx sequence. 2023-12-06 15:15:48 -05:00
Joe Taylor
93dba5e623 Work in progress on QMAP, for Q65-30x decoding. 2023-12-06 14:22:45 -05:00
Uwe Risse
05931313b3 Make some right-click mouse press events more intuitive and consistent. 2023-12-06 13:18:25 +01:00
Joe Taylor
7348bc323e Work in progress: Q65-30B candidate selection now basically working. 2023-12-05 15:11:57 -05:00
Joe Taylor
76e28298a3 Preparing for decoding of Q65-30x modes. Not there yet. 2023-12-04 15:13:47 -05:00
Joe Taylor
c6fb86067e Compute ss(i,j) at Q65-30x half-symbol steps. Functional now, but needs work... 2023-12-04 14:09:39 -05:00
Joe Taylor
711ea392ef Remove references to w2a, w2b. 2023-12-04 13:05:15 -05:00
Joe Taylor
456c5de125 Remove references to 95238; increase size of ss(322,NFFT) to ss(373,NFFT). 2023-12-04 13:01:12 -05:00
Joe Taylor
c02b977c94 Remove references to nfast in symspec.f90. 2023-12-04 12:49:17 -05:00
Joe Taylor
d8570e6817 Revert "Temporary code to save a Q65-30x *.wav file."
This reverts commit 60bcd6291d46a9f773e8bcd316a9aa153ed28e97.
2023-12-04 12:02:18 -05:00
Joe Taylor
74c6d9eb64 Merge branch 'develop' into qmap 2023-12-04 09:15:40 -05:00
Uwe Risse
0456b3af8c Don't insert individual contest name when in Fox mode. 2023-12-02 18:58:48 +01:00
Uwe Risse
bfd44f178a Improved behavior when Rig Split has been selected (patch by Mike). 2023-12-02 12:06:15 +01:00
Uwe Risse
4a9c4dac6f Each click on the FT8 button should exit hound mode. 2023-12-02 12:01:23 +01:00
Joe Taylor
f6989c3e6c Formatting updates for program CABLOG. 2023-12-01 09:35:53 -05:00
Joe Taylor
5e9b9ff2d4 Temporary commit (has diagnostic prints), starting on Q65-30 capability. 2023-12-01 08:46:40 -05:00
Joe Taylor
b986c7c81c Modify cablog to handle MAP65 log files wsjt.log as well as WSJT-X log files wsjtx.log. 2023-11-30 15:56:09 -05:00
Joe Taylor
330db0feb4 Merge branch 'develop' into qmap 2023-11-30 10:46:23 -05:00
Joe Taylor
933aa29451 Add utility program 'cablog' to convert wsjtx.log to Cabrillo format. 2023-11-28 13:43:16 -05:00
Uwe Risse
f394d77be7 Save and restore the state of the "Sh" checkbox by mode, and correctly restore state of the "Fast" checkbox. 2023-11-25 16:12:21 +01:00
Joe Taylor
5d3e927648 For Q65 mode, change "Ready only" to "CQ only" for the Active Stations window. 2023-11-21 14:15:31 -05:00
Joe Taylor
6546846f2c Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-11-21 13:21:12 -05:00
Joe Taylor
05ae0ee9af Correct a bug in computing the value of Doppler spread for FST4. Thanks to N2BP! 2023-11-21 13:12:54 -05:00
Uwe Risse
6156cf0d7d Save and restore Submode, TRperiod and FTol parameters by mode, also for the JT9 Fast modes. 2023-11-20 16:38:02 +01:00
Joe Taylor
48ae40d781 Restore the previous code for saving JT9 submode parameters. 2023-11-16 09:32:38 -05:00
Joe Taylor
60bcd6291d Temporary code to save a Q65-30x *.wav file. 2023-11-14 10:55:56 -05:00
Uwe Risse
18b9dbf41b Display Hamlib version on Linux and macOS. 2023-10-30 16:04:25 +01:00
Uwe Risse
ce7a1c26fc Make code compliant with Qt6. 2023-10-29 13:39:05 +01:00
Uwe Risse
3fcb8d3deb Add some improvements to the Update Hamlib feature (display Hamlib version, etc.). 2023-10-29 12:48:26 +01:00
Uwe Risse
84069fe9e9 Set default download for the LotW file to http. 2023-10-26 11:22:04 +02:00
Uwe Risse
d4d47f8323 Correct a typo. 2023-10-25 08:28:42 +02:00
Uwe Risse
dece2e9fc5 Minor corrections to the Update Hamlib groupbox. 2023-10-23 21:06:50 +02:00
Uwe Risse
c5969b0434 Backup the libhamlib-4.dll file, so it is available after a program update. 2023-10-23 20:59:39 +02:00
Uwe Risse
d76790adc3 Add a new function "Update Hamlib (Windows only)". 2023-10-23 20:58:39 +02:00
k9an
b073fa0550 Make spot counter work for WSPR. 2023-10-21 09:56:41 -05:00
Joe Taylor
e8162970de Another tweak to protect against invalid argument in pctile(). 2023-10-18 08:01:47 -04:00
Joe Taylor
97ed4022a2 Check for invalid argument in pctile(). 2023-10-18 07:50:39 -04:00
Joe Taylor
893565f40d Remove a qDebug(). 2023-10-17 14:27:49 -04:00
Joe Taylor
9913111464 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-10-17 13:59:48 -04:00
Joe Taylor
ba453131eb Protect against wacky settings of nfa, nfb, in Q65 mode. 2023-10-17 13:59:08 -04:00
Uwe Risse
2e3c37d7b2 Uncheck other Pref settings only when a new Pref setting is added for that band and mode. 2023-10-17 10:23:08 +02:00
Uwe Risse
bf70fae0bf Don't uncheck the preferred frequency when adding a new frequency for that mode. 2023-10-16 20:29:33 +02:00
Joe Taylor
64f53f30ff Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-10-16 12:23:57 -04:00
Joe Taylor
f75969ffb6 Remove some unused or irrelevant code. 2023-10-16 12:23:26 -04:00
Uwe Risse
8ecdebaeba Allow changing Tx frequency also for FT4 and FST4 when the VHF features are enabled. 2023-10-14 11:55:32 +02:00
Uwe Risse
a3a02a8996 Fix a compilation error on Mac M1 (patch by Alex, K6LOT). 2023-10-10 10:58:36 +02:00
Uwe Risse
06d1469c10 Prevent redundant network communication between WSJT-X and DX Lab Suite Commander. 2023-09-30 18:44:03 +02:00
Uwe Risse
ea8737e9f1 Remove RIG_TARGETABLE_PURE since it is no longer needed, and will not be supported anymore with new Hamlib versions. 2023-09-29 14:57:53 +02:00
Uwe Risse
c65ebb16d5 Add a tooltip. 2023-09-13 16:28:17 +02:00
Joe Taylor
b2a1c2d977 Use AlignCenter for Max Age and Max N controls in Active Stations window. 2023-09-11 10:30:04 -04:00
Uwe Risse
2ba2a580ff Improve auto stretching of the controls in the Active Stations window. 2023-09-11 11:43:31 +02:00
Joe Taylor
9a863d6590 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-08-31 14:32:21 -04:00
Joe Taylor
b04e1517a9 Must define 'offset' as a Fortran integer. Increase NJUNK by 1. 2023-08-31 14:29:20 -04:00
Uwe Risse
3b03c9c824 Fix a logging error in Q65_Pileup mode. 2023-08-29 17:03:20 +02:00
Joe Taylor
2d9bebddbe Correct a typo in User Guiide. 2023-08-29 08:43:59 -04:00
Uwe Risse
fea274ed57 QMAP: make offset adjustable. 2023-08-29 13:17:20 +02:00
Joe Taylor
e4dca8e241 Edits to User Guide concerning Echo mode. 2023-08-25 10:06:25 -04:00
Uwe Risse
cbcf0c0ecd Restore an accidentally deleted part 2023-08-24 16:53:38 +02:00
Uwe Risse
28d014e634 Allow averaging only when the VHF features are enabled, and make the program behavior more consistent and intuitive. 2023-08-24 16:10:19 +02:00
Uwe Risse
4f874b6507 Change the label texts to "Single Period Decodes" and "Average Decodes" only if averaging is enabled. 2023-08-23 18:26:10 +02:00
Uwe Risse
630f0c34c3 Do not adjust rx/tx for echo mode. 2023-08-04 16:02:03 +02:00
Uwe Risse
c2883532ed Prevent a possible memory leak, patch by Mike W9MDB. 2023-08-03 18:24:01 +02:00
Uwe Risse
ce2e94de26 For Q65, don't display decodes within 10 Hz of fQSO in the right window, but still display all messages for us. 2023-07-20 17:23:29 +02:00
Uwe Risse
88852bebe6 Revert "For Q65, don't display decodes within 10 Hz of fQSO in the right window, but still display all messages for us."
This reverts commit ec9682b57b9de25188411176660f228ce4c11602.
2023-07-20 16:52:44 +02:00
Uwe Risse
ec9682b57b For Q65, don't display decodes within 10 Hz of fQSO in the right window, but still display all messages for us. 2023-07-20 13:56:54 +02:00
Uwe Risse
68aae12588 Automatic detection of the version number for the splash screen. 2023-07-11 21:46:51 +02:00
Uwe Risse
99876a1916 Allow static 4-digit numbers as FT RU exchanges instead of serial numbers. This extends the usability of the FT RU protocol for other contest types. 2023-07-11 21:25:11 +02:00
Uwe Risse
54e46d90f2 Set version number to 2.7.0-rc3. 2023-07-11 21:16:55 +02:00
Uwe Risse
4667929d0e Set splash screen version number to 2.7.0-rc2. 2023-06-29 17:04:28 +02:00
Joe Taylor
256c0c8855 Minor tweaks to Release_Notes.txt and NEWS. Now ready for 2.7.0-rc2. 2023-06-29 09:54:34 -04:00
Uwe Risse
7f09f15f17 Update cty.dat file. 2023-06-28 11:57:16 +02:00
Uwe Risse
9125e8bdcc Update NEWS and Release Notes for release candidate 2. 2023-06-28 11:06:47 +02:00
Uwe Risse
fc135f8e03 Some more GUI improvements. 2023-06-25 11:13:02 +02:00
Uwe Risse
46676e4715 Better expanding of the Ftol spin box. 2023-06-24 23:05:22 +02:00
Joe Taylor
b697cd8ad1 Change the CTRL+SHIFT+F11/F12 frequency change from 2000 to 1000 Hz. 2023-06-23 13:28:12 -04:00
Joe Taylor
60bc448413 For Q65, don't display decodes within 10 Hz of fQSO in the right window. 2023-06-23 13:19:51 -04:00
Joe Taylor
60dbba359b Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-06-23 12:58:17 -04:00
Joe Taylor
c52ba84a49 Correct the evaluations of ibwa, ibwb. Revert the recent change to line 171 in q65.f90. 2023-06-23 12:56:33 -04:00
Uwe Risse
596f9ba10f This fixes the "Unable to create shared memory segment mem_qmap." error when switching Configurations on Linux. 2023-06-23 18:28:34 +02:00
Uwe Risse
4671b9de0b Fix a compilation error on macOS Ventura. 2023-06-23 16:39:46 +02:00
Joe Taylor
383ff7e91a Should not omit the test better.gt.1.10 for Q65 submodes D and E. 2023-06-19 14:21:08 -04:00
Uwe Risse
ca461d8f61 Reset the QSO start time when DXCall changes. 2023-06-17 16:18:57 +02:00
Uwe Risse
61ac076f7d Improve PSK Reporter spotting for upcoming HamSCI Festivals of Eclipse Ionospheric Science. 2023-06-11 20:05:16 +02:00
Uwe Risse
be4b56139f Set style for the H button as we had it. 2023-06-06 11:21:10 +02:00
Uwe Risse
72990e5cd3 Enable contest logging of the ARRL Digi Contest. 2023-06-04 19:15:51 +02:00
Uwe Risse
72f3075836 A better way to set style and color of the hound button. 2023-06-04 14:11:55 +02:00
Uwe Risse
1d881fcd25 This fixes that right-clicking the Q65 mode button does not work on some macOS compilations. 2023-06-03 21:31:44 +02:00
Uwe Risse
6a151a63cc Temporarily disable auto-clearing of a hung decoder status as it might confuse the nDecodes counter. 2023-05-31 17:45:40 +02:00
Joe Taylor
bf3fd11b28 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-05-26 10:38:14 -04:00
Joe Taylor
1280dbe93a Bump the RC number to 2. 2023-05-25 09:33:10 -04:00
Joe Taylor
f3804569f2 Disable m_clickOK when updating the ActiveStations list. 2023-05-25 09:31:17 -04:00
Uwe Risse
79afbec133 We can limit auto_tx_mode(false); to Hound mode, since TX is only initiated there. 2023-05-24 10:30:18 +02:00
Uwe Risse
0305d52671 Exlude WSPR and FST4W here, otherwise band hopping won't work anymore. 2023-05-24 10:22:52 +02:00
Joe Taylor
a6a9c64ab0 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-05-22 11:58:26 -04:00
Joe Taylor
05a50fe92a Correct the problem with duplicated FT8 entries in ActiveStations window. 2023-05-22 11:57:52 -04:00
Uwe Risse
20eaa48ded Add Hungarian translation. 2023-05-22 09:59:18 +02:00
Uwe Risse
84ce78e361 Display "United States of America" as "U.S.A." (needed for newer cty.dat files). 2023-05-20 10:02:04 +02:00
Uwe Risse
df8ef88501 Fix a compilation error on some macOS systems. 2023-05-13 19:55:19 +02:00
Joe Taylor
cb70a45817 Remove some unused variables. 2023-05-13 13:43:04 -04:00
Uwe Risse
662af6ff7e Update formatting of the build instructions for macOS. 2023-05-09 13:40:27 +02:00
Uwe Risse
7bb16bb9f4 Align the NEWS and Release-Notes.txt contents. 2023-05-08 16:31:34 +02:00
Joe Taylor
3ce6674762 Minor editing of Release_Notes.txt. 2023-05-08 10:12:02 -04:00
Uwe Risse
102af03057 Better backward compatibility to versions without Q65_PILEUP for the WSJT-X.ini file. 2023-05-06 17:03:59 +02:00
Uwe Risse
dc35b4983e Minor changes to the Release Notes. 2023-05-06 11:09:46 +02:00
Uwe Risse
f9a93443ad Minor adjustments to the Fox statistics code. 2023-05-06 11:08:33 +02:00
Brian Moran
2c98a4741e Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into fox_rate_calculations 2023-05-05 10:26:19 -07:00
Uwe Risse
ea0ae2b18a Some minor changes in chapter 20 of the user guide. 2023-05-05 18:24:50 +02:00
Uwe Risse
efc1ac57fa Correct some more hyperlinks. 2023-05-05 17:37:52 +02:00
Uwe Risse
df04b961e9 Add a space character. 2023-05-05 11:23:15 +02:00
Uwe Risse
635b5f1ede Some more content for NEWS and Release_Notes.txt. 2023-05-05 08:12:30 +02:00
Uwe Risse
5ea28b6103 Some text for the Release Notes. 2023-05-04 18:25:05 +02:00
Joe Taylor
3a6834baee More updates to credita and copyright info. 2023-05-04 10:58:05 -04:00
Joe Taylor
f1b1af6e14 Update the author credits and copyright notice. 2023-05-04 10:36:51 -04:00
Uwe Risse
aff4469e84 Update build instructions for Mac OS X. 2023-05-04 13:28:20 +02:00
Uwe Risse
cdff282c5c Send an updated grid to PSK Reporter when the location is changed. 2023-05-04 08:56:34 +02:00
Uwe Risse
a97cebff4c Preparations for the next release. 2023-05-04 08:54:03 +02:00
Brian Moran
e2085b0dd5 add tooltip to rate. remove underscore in the labels 2023-05-03 19:31:35 -07:00
Joe Taylor
8ec78120a0 Increase dimension of allsnrs() to 200 (as should have been done before). 2023-05-02 14:38:47 -04:00
Brian Moran
afd97aeb68 make sure not zero 2023-04-28 07:59:38 -07:00
Brian Moran
51539952b7 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into fox_rate_calculations 2023-04-28 07:51:12 -07:00
Uwe Risse
a7b489f373 Update hyperlinks to our new wsjt group. 2023-04-27 17:35:25 +02:00
Steven Franke
cc22bd2819 Protect against out-of-bounds array index. Thanks N2BP. 2023-04-26 13:35:18 -05:00
Brian Moran
db54472a5a remove old fox rate queue mechanism. Update rates periodically 2023-04-26 08:25:02 -07:00
Brian Moran
d307193e0a fix issue with limit; truncate the decimal 2023-04-25 20:08:33 -07:00
Brian Moran
7aa00f33a8 show last_10, last_100, and last 60m rates in FoxLog window 2023-04-25 19:38:47 -07:00
Joe Taylor
c348791b28 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-03-22 12:40:40 -04:00
Joe Taylor
da8e6e92b3 Re-activate use of MaxDrift for late-stage decoding. Make sure this is OK for Lance! 2023-03-22 12:39:06 -04:00
Joe Taylor
21e377d363 Update the command to build chkfft (or chkfft3) on Windows. 2023-03-22 11:41:56 -04:00
Uwe Risse
d08a056c8e Call FoxReset(); only when in Fox mode because it erases the decodedTextBrowser. 2023-03-22 12:05:04 +01:00
Uwe Risse
c249d1fe7b Fix AutoSeq for the hound mode. 2023-03-19 21:00:50 +01:00
Brian Moran
69f9c1f95d fix merge conflict 2023-03-18 10:28:23 -07:00
Brian Moran
5d61d2bf17 Show error dialog for CTY.DAT when there are error conditions 2023-03-17 08:59:19 -07:00
Brian Moran
a321348dfa conditional compilation of error handler based on QT version 2023-03-17 07:52:03 -07:00
Uwe Risse
570e9ceaf7 Make line 184 of FileDownload.cpp compliant with Qt 5.12.x. 2023-03-17 15:19:30 +01:00
Uwe Risse
9151861c6d Change "AppDataLocation" to "DataLocation". "AppDataLocation" is wrong on Windows as our log directory is at "DataLocation". 2023-03-17 12:02:41 +01:00
Uwe Risse
491f783224 Disable line 184 as it doesn't compile with Qt 5.12.12 (and some minor cosmetic changes). 2023-03-17 12:00:05 +01:00
Brian Moran
a7413ae627 create the directory if one is supplied that doesn't exist 2023-03-16 20:49:08 -07:00
Brian Moran
88b1e46ee4 use different temp file class; use VERYYYYMMMDD version from file 2023-03-16 19:13:59 -07:00
Brian Moran
b812ac2786 show status of LotW file download; new button to download of CTY.DAT, show version of CTY.DAT; genericize download file code; 2023-03-15 20:42:03 -07:00
Joe Taylor
b8b0b73145 Better size policy for the "F Tol" spinner control. 2023-03-13 09:54:46 -04:00
Uwe Risse
bc9d786cca Some more fine-tuning to qmap ui files. 2023-03-11 11:40:22 +01:00
Uwe Risse
ce8fef82c1 Some more fine-tuning to the astro.ui sizing. 2023-03-11 10:15:08 +01:00
Uwe Risse
95b0669e55 Some more fine-tuning to the devsetup.ui sizing. 2023-03-10 20:33:05 +01:00
Uwe Risse
507f5567b8 Some improvements to astro.ui. 2023-03-10 20:00:46 +01:00
Uwe Risse
8f66be4253 Some improvements to devsetup.ui. 2023-03-10 20:00:31 +01:00
Uwe Risse
e538469f8f Some improvements to mainwindow.ui. 2023-03-10 20:00:03 +01:00
Joe Taylor
58c4749ae3 Remove some unused code. 2023-03-10 12:12:56 -05:00
Joe Taylor
36ced490a3 Update the project website URL in INSTALL. 2023-03-10 11:05:04 -05:00
Joe Taylor
ee6cd7aa0e Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-03-10 09:12:37 -05:00
Joe Taylor
290dcd0b11 Fix MAP65's list of arguments when calling map65_mmdec(). 2023-03-10 09:11:01 -05:00
Uwe Risse
8723fea62b Build qmap also on Linux and macOS. 2023-03-09 22:10:31 +01:00
Uwe Risse
2b7a76232f Fix sizing of the Qmap Settings window. 2023-03-09 22:09:46 +01:00
Brian Moran
eebababece initial commit 2023-03-09 12:10:20 -08:00
Joe Taylor
4e7aa28ed4 Remove an obsolete comment. 2023-03-09 14:39:06 -05:00
Joe Taylor
4baca1ca60 Change the build scripts so that MAP65 is automatically built again, on Windows. 2023-03-09 14:25:47 -05:00
Uwe Risse
715e8d1b14 Preparations for the HamSCI Festivals of Eclipse Ionospheric Science, part 2. 2023-03-09 18:28:04 +01:00
Uwe Risse
19bc663abf Revert "Preparations for the HamSCI Festivals of Eclipse Ionospheric Science, part 2."
This reverts commit d021c62d2fb0b9bee710d9bad7ed20e7ebea4e88.
2023-03-09 18:24:57 +01:00
Uwe Risse
d021c62d2f Preparations for the HamSCI Festivals of Eclipse Ionospheric Science, part 2. 2023-03-09 18:09:57 +01:00
Uwe Risse
de0a3d60e3 Preparations for the HamSCI Festivals of Eclipse Ionospheric Science. 2023-03-09 18:04:46 +01:00
Uwe Risse
7a6dbf60a5 Fix some more initalization errors and simplify the code. 2023-03-09 10:56:04 +01:00
Uwe Risse
67301c8402 Always set txb1 visible when switching to Hound mode via the "H" button. 2023-03-08 22:01:26 +01:00
Uwe Risse
a28316212b Initialize tx1 and txb1 when Q65 Pileup mode is switched off by right-clicking. 2023-03-08 21:18:02 +01:00
Joe Taylor
40ae967fa6 Rationalize the switching among ActiveStations configurations. 2023-03-08 11:09:15 -05:00
Brian Moran
663ed60013 once fox has been reset, don't process decodes until decoding period ended 2023-03-07 10:55:40 -08:00
Joe Taylor
df3e922ed8 With Q65-pileup active, remove a call from Active Stations when it has been logged. 2023-03-07 12:30:32 -05:00
Joe Taylor
898b4edcdb Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-03-07 12:15:56 -05:00
Joe Taylor
ab3c24ee30 Display only real callsigns in the Q65 Active Stations window. 2023-03-07 12:15:02 -05:00
Uwe Risse
aac29fd2d4 Reduce the number of spots sent to PSK Reporter, thanks to Mike Black and Philip Gladstone. 2023-03-07 17:46:33 +01:00
Joe Taylor
82ed2b5872 Remove a call from Q65-pileup list when moon elevation is below -5 deg. 2023-03-07 11:19:14 -05:00
Joe Taylor
29f6d50663 Correct a recently introduced flaw in q65sim, which broke single-signal gereration. 2023-03-07 11:18:14 -05:00
Joe Taylor
e9f43cf0ef Connect AvtiveStations widget visibility to operating mode and SpecOp status. 2023-03-06 15:42:40 -05:00
Joe Taylor
8621b62b8b Implement Q65 "wanted only". Still need to tie widget visibility to mode changes. 2023-03-06 15:18:15 -05:00
Joe Taylor
9dac5a2ef0 Add "Wanted only" checkbox for Q65 ActiveStations GUI. Functions not yet implemented! 2023-03-06 11:34:28 -05:00
Joe Taylor
453b1577fc Update the ActiveStations GUI appearance in Q65 mode, after a change on Settings. 2023-03-06 11:00:29 -05:00
Joe Taylor
4c3bf37294 Add "Erase list of Q65 callers" to the File menu. 2023-03-06 08:31:42 -05:00
Joe Taylor
f45369af8d For double-click on lower waterfall, adjust QMAP's mousedf for the FCal value. 2023-03-03 13:18:33 -05:00
Joe Taylor
a215199fd1 Fix the "Refresh Active Stations window" keyboard shortcut. 2023-03-02 15:10:38 -05:00
Joe Taylor
f9b5d5a865 Shift+R should work only in Q65 mode, and not Q65-Pileup. 2023-03-02 14:30:17 -05:00
Joe Taylor
77f14560ff Clean up several aspects of Q65-pileup operation. 2023-03-02 14:10:18 -05:00
Joe Taylor
f15ad2b9a2 Ctrl-click to delete a call from the Q65-pileup list. Not finished! 2023-03-02 11:56:01 -05:00
Joe Taylor
0493d03485 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-03-02 08:26:59 -05:00
Joe Taylor
3dec36b9bd Starting work toward operator management of Q65-Pileup's q3list. 2023-03-01 12:01:53 -05:00
Uwe Risse
8cec7c7e2a Make the FT8 Hound mode compatible with MSHV messages. 2023-03-01 17:40:55 +01:00
Joe Taylor
e1865d4a4d Minor tweaks to GUI for Q65 and Q65-pileup. 2023-03-01 10:42:44 -05:00
Uwe Risse
a4adfcc149 AutoSeq now also accepts MSHV multistream messages when in Hound mode. 2023-03-01 13:26:44 +01:00
Joe Taylor
9c953d1f2d Cleanup of some Q65 ActiveStations window display details. 2023-02-28 15:54:42 -05:00
Joe Taylor
9fadcad322 Remove a diagnostic write. 2023-02-28 14:35:58 -05:00
Joe Taylor
b54d7f2335 For Q65, Ctrl+Click on a call in ActiveStations leaves m_freqNominal unchanged. 2023-02-28 14:30:50 -05:00
Joe Taylor
2375e2000c Mark "ready2call" * and "new initial" # in Q65 Active Stations window. 2023-02-28 11:54:08 -05:00
Joe Taylor
fb9fd768f8 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-02-28 10:45:16 -05:00
Joe Taylor
04b49c1038 F10 calls readWidebandDecodes(). Clean up some use of ActiveStations window. 2023-02-28 10:43:54 -05:00
Uwe Risse
d58bd69884 Better protection against unwanted effects caused by very late FT8 decodes. 2023-02-28 16:05:17 +01:00
Uwe Risse
0a243544d4 Update link to the cty.dat file, and use the "big cty" variant as our cty.dat file. 2023-02-25 10:41:29 +01:00
Joe Taylor
664194eb0c Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-02-24 09:36:53 -05:00
Joe Taylor
80d7de8839 Must update m_fAdd in QMAP's SoundInThread, after devsetup finishes. 2023-02-24 09:35:26 -05:00
Steven Franke
fa1b5c55d1 Minor change needed for compilation on MacOS - comment out an unused variable. 2023-02-23 14:51:42 -06:00
Joe Taylor
df2728efb4 Merge branch 'map65' into develop 2023-02-23 13:04:42 -05:00
Joe Taylor
6a6647c5f8 Add the QSG for 2.7.0 to the WSJT-X Help menu. 2023-02-23 13:00:59 -05:00
Joe Taylor
5d0b580093 Bump version number to 2.7.0 2023-02-23 12:44:09 -05:00
Joe Taylor
73e1198f08 More tweaks to the QMAP user interface. 2023-02-23 12:03:38 -05:00
Joe Taylor
631e3ed1cb Minor tweaks to the QMAP user interface. 2023-02-23 11:28:41 -05:00
Joe Taylor
3f7888a5c7 Fix a link in the User Guide. 2023-02-22 12:35:00 -05:00
Brian Moran
969411cd39 when changing bands as Fox, clear the hound queues 2023-02-21 08:58:05 -08:00
Joe Taylor
06f3b36939 Initialize nhist2 to zero. 2023-02-21 09:44:56 -05:00
Uwe Risse
dddb542a66 Initialize some more parameters when switching to Q65 Pilup mode and back. 2023-02-21 10:14:21 +01:00
Uwe Risse
5ccf66e6b4 Right-click on the Q65 mode button to toggle Q65 Pileup mode On/Off. 2023-02-20 23:23:45 +01:00
Joe Taylor
6be56a775e Use Q_SIGNAL and Q_SLOT macros in activeStations.h. 2023-02-20 17:15:29 -05:00
Joe Taylor
16f9f50263 Protect against faulty or missing tsil.3q file. 2023-02-20 14:19:38 -05:00
Uwe Risse
92c9dd7fd6 Leave Q65 Pileup special operating activity when switching to any other mode. 2023-02-20 19:46:12 +01:00
Uwe Risse
d870c06b8e Always switch to Q65 mode when in Q65 Pileup mode. 2023-02-20 19:03:41 +01:00
Uwe Risse
910b58ace8 Don't allow any CQ extension when Q65 Pileup is active. 2023-02-20 18:10:07 +01:00
Joe Taylor
1e96c8ae85 Make several Active Stations widgets invisible in Q65 Pileup mode. 2023-02-20 11:56:48 -05:00
Joe Taylor
68e4671e00 Don't force display of contest log when Q65 Pileup is active. 2023-02-20 08:19:53 -05:00
Joe Taylor
3f5cbbb147 Implement Special Operating Activity "Q65 Pileup". Needs more checking for completeness. 2023-02-19 16:48:14 -05:00
Brian Moran
ce622487ca Fox should not log hound again if they've been logged before. Call is still noted in FoxQSO however, with Dup: instead of Log: (K7AR) 2023-02-18 10:00:18 -08:00
Joe Taylor
39c935a882 No need for a second call to q65_decode() when nagain is true. 2023-02-18 10:03:47 -05:00
Joe Taylor
56dfb99a5d Correct the logic that determines when the Q65 red sync curve is plotted. 2023-02-18 08:46:13 -05:00
Joe Taylor
f1dbb8d134 Clean up a few things having to do with averaging and q3 decodes. 2023-02-17 16:17:38 -05:00
Steven Franke
bfeab39f8c Add hash22calc to installation list. 2023-02-17 15:15:04 -06:00
Steven Franke
b6bd9072d5 A small tweak to fst4sim output formatting for 50-bit messages. 2023-02-17 14:18:06 -06:00
Steven Franke
0eaf79020f unpack77: refine the acceptance criteria for unpacking type 3 FST4W messages. 2023-02-17 13:37:13 -06:00
Steven Franke
86965dd96b When unpacking FST4W messages, discard those with idbm.lt.0 or idbm.gt.60. 2023-02-17 13:08:54 -06:00
Steven Franke
f98bbabd27 fst4sim: Tweak output format for FST4W messages. 2023-02-17 10:02:52 -06:00
Joe Taylor
96c7d6bf36 Open/close LU 24 in q65_hist2. 2023-02-17 10:43:37 -05:00
Joe Taylor
b61e8aeb24 Finish connecting moondopjpl() to the JPL ephemeris file. 2023-02-17 10:25:07 -05:00
Joe Taylor
c73fd39d47 Merge branch 'develop' into map65 2023-02-17 08:15:17 -05:00
Joe Taylor
f968c74093 Working on getting moon elevation. Still need to insert common/jplcom/, etc. 2023-02-16 21:17:56 -05:00
Joe Taylor
5cdc476cbc Work toward display of q3list in Active Stations Window. 2023-02-16 16:50:24 -05:00
Uwe Risse
280dd373d3 Allow "CQ with individual contest name" also when the contest name field is empty. 2023-02-16 20:06:03 +01:00
Steven Franke
cd14778f0d Minor to hash22calc.f90 2023-02-16 09:11:07 -06:00
Steven Franke
4416c21f1b Build and install hash22calc. 2023-02-16 09:01:23 -06:00
Steven Franke
53bf3f4de1 New command-line program hash22calc will print the 22-bit hash value of a valid callsign. 2023-02-16 09:00:29 -06:00
Joe Taylor
20199c33b9 Merge branch 'develop' into map65 2023-02-16 09:08:22 -05:00
Joe Taylor
47aeb84c05 Try for q3 averages only if 'Enable averaging' is checked. 2023-02-15 17:27:51 -05:00
Joe Taylor
da3c63e739 Process the q3 candidates in frequency order rather than snr1 order. 2023-02-15 17:05:15 -05:00
Joe Taylor
f9d2ca736d Another minor tweak to q65sim. 2023-02-15 15:58:20 -05:00
Joe Taylor
b5f9e0ff03 Fix the starting frequency for multiple simulated signals. 2023-02-15 15:50:26 -05:00
Joe Taylor
6877a87fe4 Allow q65sim toi generate multiple signals. 2023-02-15 15:46:06 -05:00
Joe Taylor
37cd5b3ede Activate q3list decodes for message averaging. (What to do about "Clear Avg" ?) 2023-02-15 13:52:01 -05:00
Uwe Risse
f79e52a655 Don't add m_cqStr when in Hound mode. 2023-02-15 19:02:23 +01:00
Joe Taylor
9d576c1bff Merge branch 'develop' into map65 2023-02-15 12:08:54 -05:00
Joe Taylor
b252abb462 Keep plotting gains for orange and red Q65 sync curves constant. 2023-02-15 11:57:35 -05:00
Joe Taylor
7513a63ac5 Include WW-Digi contest for q3 decodes. Make LU 24 binary again. Set q3list timeout to 24 h. 2023-02-15 11:49:12 -05:00
Uwe Risse
aef5c198bb Fix Contest Name not correctly remembered. 2023-02-15 17:22:44 +01:00
Steven Franke
cbe674bedd FST4W: Add -Y option to jt9, which is like -W except that 22-bit hash values are printed for type 3 decodes. 2023-02-14 15:55:19 -06:00
Uwe Risse
0a139e5acd Don't Tx when the frequency is manually entered in the band select box and the Enter/Return key is pressed. 2023-02-13 14:05:18 +01:00
Joe Taylor
7bf6a6123d More progress on q3list decodes in NA VHF contest mode, Q65-60A. 2023-02-12 17:33:21 -05:00
Uwe Risse
df2c767488 Update Italian translation of the UI. 2023-02-12 14:17:44 +01:00
Joe Taylor
871198c44f Disable diagnostic write. 2023-02-11 15:41:33 -05:00
Joe Taylor
31bc12e3b9 Increase ibwb; enforce MAX_CALLERS. 2023-02-11 14:08:10 -05:00
Joe Taylor
260f867cb9 Optimization looks pretty good for Q65-60A. What about 60C? 2023-02-10 14:31:45 -05:00
Joe Taylor
d1a1578bc7 Working to optimize the setting of ibwa and ibwb. Needs work still! 2023-02-10 13:09:47 -05:00
Joe Taylor
a83649a768 Working to improve Q65 decode performnce. 2023-02-10 10:37:27 -05:00
Joe Taylor
d6dd701601 Decoding via q3list now basically working with grid exchanges. 2023-02-08 12:34:48 -05:00
Joe Taylor
88798f1ca3 Working toward 'q3list' decoding for NA VHF Contest mode. More still needed! 2023-02-07 15:17:09 -05:00
Joe Taylor
8db7c2c128 Revert "Implement an option for temporary manual rig control. Useful for CW EME ??"
This reverts commit b5a045c63b61ce9f747ea261d3442b3aa7d453a6.
2023-02-02 12:18:28 -05:00
Joe Taylor
0c0ecd893b Revert "Another tweak to make temporary manual rig control work as intended."
This reverts commit 1b7830825a356eb3436998b51f6cf071da9763ab.
2023-02-02 12:18:00 -05:00
Joe Taylor
1816e80707 Merge branch 'develop' into map65 2023-01-28 10:23:54 -05:00
Joe Taylor
43ca0b3f9c Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2023-01-28 10:20:36 -05:00
Joe Taylor
1b7830825a Another tweak to make temporary manual rig control work as intended. 2023-01-28 10:16:05 -05:00
Uwe Risse
54709bdcaf Don't accept free text 73/RR73 for MSK144. 2023-01-27 19:08:26 +01:00
Joe Taylor
5bd1ec3c49 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2023-01-27 11:23:10 -05:00
Joe Taylor
b5a045c63b Implement an option for temporary manual rig control. Useful for CW EME ?? 2023-01-27 10:55:04 -05:00
Joe Taylor
47a899465f Allow the QMAP main window to get a bit wider. 2023-01-26 15:37:53 -05:00
Joe Taylor
019529d293 Remove a diagnostic print. 2023-01-26 11:03:00 -05:00
Joe Taylor
29360db01a Clean up the IPC between WSJT-X and QMAP. Fix the "QSOs:" listing in ActiveStations window. 2023-01-26 10:55:10 -05:00
Joe Taylor
46fdc79881 Working on WSJT-X <--> QMAP communication. Not right, yet. 2023-01-25 20:41:15 -05:00
Joe Taylor
2d7b76ff03 Clear m_EMECall when Cabrillo log is reset. 2023-01-25 16:29:57 -05:00
Joe Taylor
3c3d3ebf3a Clean up one more detail. 2023-01-25 12:37:10 -05:00
Joe Taylor
ad4fb2be9d Display both frx and fsked, in both QMAP and QSJT-X Active Stations window. 2023-01-25 12:31:58 -05:00
Joe Taylor
fb573ef407 More Q65W -> QMAP. I think this may be everything? 2023-01-25 10:58:22 -05:00
Joe Taylor
6979a56d5d Another stage in the renaming process, Q65W -> QMAP. It this all? 2023-01-25 10:07:07 -05:00
Joe Taylor
a87c308823 Next stage of renaming q65w to qmap. 2023-01-25 09:07:56 -05:00
Joe Taylor
935ad492e6 Starting a long process of chnging names q65w to qmap. 2023-01-25 08:51:51 -05:00
Uwe Risse
86c863f288 Some imrovements to the DXLabSuiteCommanderTransceiver, patch by Mike W9MDB. 2023-01-25 12:44:05 +01:00
Joe Taylor
0391144683 Activate the frequency readout label. 2023-01-24 16:06:31 -05:00
Joe Taylor
61c1d8bcc5 Starting the name change from Q65W to QMAP. Now builds as qmap.exe. 2023-01-24 15:44:53 -05:00
Joe Taylor
652bfb8429 Remove the dependence on optionalfile q65_params.txt. 2023-01-24 15:07:55 -05:00
Joe Taylor
e72b39a9d9 More code cleanup. 2023-01-24 14:43:29 -05:00
Joe Taylor
dd8c01f31c Clean up the usage of labels on Status Bar. 2023-01-24 13:54:34 -05:00
Joe Taylor
1795619b2c More tweaks to the GUI. Add a Frequency label. 2023-01-24 13:40:01 -05:00
Joe Taylor
b1c82758ee Simplify the Q65W GUI. 2023-01-24 13:17:49 -05:00
Joe Taylor
41a1b4cf06 Forgot to remove the Stop button, itself. Done. 2023-01-24 12:24:35 -05:00
Joe Taylor
af5193014e Remove the Stop button. Toggle Monitoring Off, instead. 2023-01-24 12:21:40 -05:00
Joe Taylor
1f438e6ba1 Remove the Decode menu and its options. 2023-01-24 12:04:13 -05:00
Uwe Risse
e0639169a9 This is needed for the few rigs that understand "set_vfo" but not "get_vfo" (like the FT-736); patch by Mike W9MDB. 2023-01-24 16:05:58 +01:00
Uwe Risse
646c353e5d Update Italian translation of the UI. 2023-01-24 15:42:38 +01:00
Joe Taylor
f976d32013 Clean up some compiler warnings. 2023-01-24 09:18:00 -05:00
Joe Taylor
f83db225f5 Remove another unused variable. 2023-01-24 08:27:02 -05:00
Joe Taylor
a76239dd76 Remove more unused dummy arguments. 2023-01-24 08:17:42 -05:00
Joe Taylor
afcb034956 More cleanup of global variables and unused arguments. 2023-01-23 19:22:34 -05:00
Joe Taylor
aec42afda7 Remove ndepth from argument lists where it's not needed. 2023-01-23 19:03:57 -05:00
Joe Taylor
1fff588991 Reduce nsmo from 11 to 8. 2023-01-23 17:50:46 -05:00
Joe Taylor
73db6eb28f Compute symbol spectra at 1/4 symbol steps, rather than 1/8 symbol. 2023-01-23 17:25:31 -05:00
Joe Taylor
d7859062bb At least for Q65-60C, maxdist=5 is big enough. 2023-01-23 15:40:48 -05:00
Joe Taylor
0a439019b3 WIP on optimization of Q65-60C decodes with 110 EME Contest files. 2023-01-23 14:03:49 -05:00
Joe Taylor
28a48ae6fc Revert "Revert "Optional q65 decoding params from q65_params.txt. Maybe temporary!""
This reverts commit 18e8c89a43967ff65238dc5dabaca3922251ebdd.
2023-01-23 11:46:38 -05:00
Joe Taylor
18e8c89a43 Revert "Optional q65 decoding params from q65_params.txt. Maybe temporary!"
This reverts commit 31bedb8528db02de2504f2ec157f4d6164b787e7.
2023-01-23 11:38:15 -05:00
Joe Taylor
4ea595eea1 Protect against a bounds error. 2023-01-22 21:07:31 -05:00
Uwe Risse
920b1a9b92 Call statusUpdate when Hound calling Fox times out. 2023-01-22 14:14:41 +01:00
Uwe Risse
b8d20bd4de Update Italian translation of the UI. 2023-01-21 09:49:01 +01:00
Joe Taylor
31bedb8528 Optional q65 decoding params from q65_params.txt. Maybe temporary! 2023-01-20 14:09:51 -05:00
Joe Taylor
96aa4fd85c Reduce maxiters from 33 67 100 to 20 40 60. 2023-01-20 11:08:28 -05:00
Joe Taylor
70988919f0 Remove obsolete fil test_qra64.f90. 2023-01-20 11:03:02 -05:00
Joe Taylor
e15d51f275 Trying to diagnose failed response to double-click on waterfall. 2023-01-19 12:31:04 -05:00
Joe Taylor
824478697b Allow click-to-decode for overlapping signals that are otherwise missed. 2023-01-19 11:53:52 -05:00
Joe Taylor
2992a37ae1 Plot the whole Orange Sync Curve, even if Single Decode is checked. 2023-01-17 15:06:40 -05:00
Joe Taylor
a4a3f95dac Merge branch 'master' into map65 2023-01-17 14:21:36 -05:00
Joe Taylor
33a836242c Fix a newdat/nagain problem. This seems to make both WSJT-X and Q65W behave correctly, but the code needs cleanup. 2023-01-17 12:06:47 -05:00
Joe Taylor
21ef0c9d30 Activate q65_decodes.txt for diagnostic and optimization purposes. 2023-01-17 10:20:56 -05:00
Joe Taylor
548eb1906b Remove obsolete comments. 2023-01-17 09:06:49 -05:00
Joe Taylor
af04310f93 Remove some diagnostic write statements. Still needs cleanup! 2023-01-16 18:51:57 -05:00
Joe Taylor
6f02c86d9a Multi-decodes and nagain decodes now basically functional. Needs cleanup! 2023-01-16 17:45:14 -05:00
Joe Taylor
f4475740c1 Temporary debugging statements to help tracing problem with nagain=1 decodes. 2023-01-16 14:56:33 -05:00
Joe Taylor
4dd8dd456f Don't reset newdat=0 in libq65/filbig.f90 !! 2023-01-16 12:36:33 -05:00
Joe Taylor
be95a0c699 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2023-01-14 13:38:13 -05:00
Joe Taylor
19182d3059 Add manual selection of offsets for pointing corrections. 2023-01-14 13:20:13 -05:00
Joe Taylor
5ea9296944 WIP on q65 decoder. A good place to commit, for now. 2023-01-13 14:20:17 -05:00
Joe Taylor
0bf8193601 Correct several flaws in the way Q65 sync curves orange (current) and red (avg) are plotted. 2023-01-12 15:25:17 -05:00
Joe Taylor
cfbb2ce1fe Minor edits to User Guide. 2023-01-12 10:43:15 -05:00
Joe Taylor
848a38f1b4 Update links to Windows OpenSSL installers to the latest versions. 2023-01-12 10:39:37 -05:00
Joe Taylor
6b6d74cad8 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-01-10 08:46:16 -05:00
Uwe Risse
948706272a Updated Italian translation of the UI. 2023-01-10 10:35:49 +01:00
Joe Taylor
9ec349dd26 Bump version number for map65 branch to 2.6.2. Maybe temporary use of this number. 2023-01-09 11:56:14 -05:00
Joe Taylor
66c8390c61 Merge branch 'develop' into map65 2023-01-09 11:55:25 -05:00
Joe Taylor
8319d3633d Update the Release Notes. 2023-01-09 11:05:45 -05:00
Joe Taylor
5e6b5b032c Increase the dimension of allmessages() to max of 200. 2023-01-09 10:48:05 -05:00
Joe Taylor
e02c430f9d Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-01-09 10:46:48 -05:00
Joe Taylor
ea0fb3a2d4 Updated Russian translation of the UI. 2023-01-09 10:33:04 -05:00
Uwe Risse
a7a1507b3d Updates to the Release Notes. 2023-01-09 11:12:06 +01:00
Uwe Risse
3efea6f1f5 Re-initialize FT8 Hound mode when starting the program in this mode. 2023-01-09 10:39:53 +01:00
Uwe Risse
1ec95a48f4 Restrict this command to Windows, because it doesn't work on Linux when rig is "None". 2023-01-09 10:35:51 +01:00
Joe Taylor
18ab1ce087 Revert "Revert "Use snprintf in two places, replacing calls to deprecated sprintf()." (This had already been fixed by Steve!)"
This reverts commit f7928f060ea86023481ac89dccba8a8ef9c5e34d.
2023-01-07 13:38:48 -05:00
Joe Taylor
f7928f060e Revert "Use snprintf in two places, replacing calls to deprecated sprintf()." (This had already been fixed by Steve!)
This reverts commit 210ee2147e73f868523b1fa018b055c4256f61b2.
2023-01-07 13:36:18 -05:00
Joe Taylor
7f9a58483c Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2023-01-07 13:20:41 -05:00
Joe Taylor
210ee2147e Use snprintf in two places, replacing calls to deprecated sprintf(). 2023-01-07 13:17:56 -05:00
Steven Franke
f0e387bf18 Replace sprintf with snprintf so that clang doesn't complain. 2023-01-07 07:44:10 -06:00
Uwe Risse
02bf562712 Update README. 2023-01-07 10:30:34 +01:00
Uwe Risse
4ed849580c Preparations for the v2.6.1 release. 2023-01-07 10:19:38 +01:00
Uwe Risse
0fd1f748fd Better initialization of the decoded text font. 2023-01-07 09:57:14 +01:00
Joe Taylor
9e6de4fab4 Correct the improper reference to "ARRL International DX Contest" in Releasr Notes. 2023-01-06 15:13:29 -05:00
Joe Taylor
9e6ecbe8f4 Don't call fast_config() after setting displayWidgets() when entering Q65 mode. It kills the T/R period spinner. Should have been inincluded in v2.6.0 !! 2023-01-06 15:10:44 -05:00
Uwe Risse
245ebfa4d6 Change some more URLs to our new "wsjt.sourceforge.io" home page. 2023-01-06 17:28:38 +01:00
Uwe Risse
d2f8251d96 Change the path to the FMT_User.pdf file. 2023-01-06 16:59:48 +01:00
Joe Taylor
8f159db056 Don't do the "stest" cycle when decoding for Q65W. 2023-01-04 14:49:22 -05:00
Joe Taylor
fc040d435a Sort out some stuff having to do with multiple decodes in Q65 mode. 2023-01-04 12:02:10 -05:00
Joe Taylor
3b0e2edb75 Blank line between minutes for Q65W decodes. 2023-01-02 13:48:08 -05:00
Joe Taylor
c0d327b4be Decoder now bails out if its busy for more than 30 s. 2023-01-02 13:22:40 -05:00
Joe Taylor
53bbf4bf23 Protect against possible bounds error in q65_sync.f90. 2023-01-02 13:21:42 -05:00
Joe Taylor
dd243da82a Don't attempt to decode if decoder is already busy, or if we transmitted for 10 s or more. 2023-01-02 13:20:43 -05:00
Uwe Risse
b15b0790ad Final changes to the Release Notes. 2023-01-01 10:03:55 +01:00
Uwe Risse
75a4dcdc4e Change the User Guide URL in CMakeLists.txt. 2022-12-31 22:43:23 +01:00
Uwe Risse
434b0ec4e4 Revert "Change the User Guide URL to SourceForge."
This reverts commit 47c0fd15f96a4d9300799080a03e31a6ebc21d62.
2022-12-31 22:41:56 +01:00
Uwe Risse
47c0fd15f9 Change the User Guide URL to SourceForge. 2022-12-31 22:17:20 +01:00
Joe Taylor
029977c619 Increase the dimension of allmessages() to max of 200. 2022-12-31 14:47:32 -05:00
Joe Taylor
3958f66fd2 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2022-12-30 09:06:35 -05:00
Joe Taylor
c912088107 Merge branch 'develop' into map65; then set versioin to 2.6.1-rc1 2022-12-30 09:05:50 -05:00
Uwe Risse
b7a9ef3e63 Set 14074000 Hz as the default rig frequency. 2022-12-30 09:50:35 +01:00
Uwe Risse
0c4c0ba44d Ensure the frequencies list is initialized when the program is started without a WSJT-X.ini file. 2022-12-30 09:49:07 +01:00
Uwe Risse
8207a72bec Make FT8 the default mode. 2022-12-30 09:29:54 +01:00
Joe Taylor
d821c87238 Merge branch 'develop' into map65 2022-12-29 16:36:58 -05:00
Joe Taylor
1371a750c4 Change the MAP65 Princeton URLs to SourceForge. 2022-12-29 16:20:57 -05:00
Joe Taylor
64753c3f7f Merge branch 'develop' into map65 2022-12-29 16:01:30 -05:00
Joe Taylor
5c1adb293b Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-12-29 13:18:05 -05:00
Joe Taylor
6eedc7b439 New screen image for the Windows Dark Style. 2022-12-29 13:17:22 -05:00
Uwe Risse
562666169d Change hyperlinks in mainwindow.cpp from "physics.princeton.edu/pulsar.K1JT/" to "wsjt.sourceforge.io/". 2022-12-29 19:11:31 +01:00
Joe Taylor
91576d142f User Guide updates to Section 4. 2022-12-29 12:55:42 -05:00
Joe Taylor
5fa736d08a Change User-Guide links from "physics.princeton.edu/pulsar.K1JT/" to "sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/". 2022-12-29 12:03:21 -05:00
Joe Taylor
23db815e0e Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-12-29 11:39:37 -05:00
Joe Taylor
8eecf98972 Starting work on User Guide updates for GA release of v2.6.0. Here, updates for
Section 1.1.
2022-12-29 11:38:35 -05:00
Uwe Risse
a4b2b4f51c Update NEWS annd Release Notes for GA release of v2.6.0. 2022-12-29 17:00:06 +01:00
Uwe Risse
8abdba46d3 Add an option to call CQ with an individual contest name. 2022-12-29 16:56:56 +01:00
Joe Taylor
ed4b3d1b5a Update NEWS. 2022-12-29 10:25:06 -05:00
Joe Taylor
a14d9cc6eb Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-12-29 10:22:01 -05:00
Joe Taylor
dbf45d9253 Update Release Notes for GA release of v2.6.0. 2022-12-29 10:18:13 -05:00
Uwe Risse
a6018be27a Some additions to the release notes. 2022-12-29 15:52:04 +01:00
Uwe Risse
f63bd5958f Update of some ARRL section abbreviations. 2022-12-29 15:50:42 +01:00
Uwe Risse
6f3ae5190d Allow some more exchanges for FT RU contest mode. 2022-12-29 11:07:49 +01:00
Joe Taylor
3eec292986 Merge branch 'develop' into map65; set build type to 2.6.1-rc1 2022-12-28 15:56:21 -05:00
Joe Taylor
ee497eecff Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2022-12-28 09:36:55 -05:00
Joe Taylor
ce8bc142f6 Don't call fast_config() after setting displayWidgets() when entering Q65 mode. It kills the T/R period spinner. 2022-12-28 09:25:42 -05:00
Uwe Risse
0bf83a8188 Preparations for the next release. 2022-12-28 12:50:33 +01:00
Uwe Risse
7c12c66f16 Ensure that after switching between configurations, the rig is initialized correctly when connected via HRD. 2022-12-25 10:58:30 +01:00
Joe Taylor
bb8663dce0 Don't change bands after user clicks on a line in the Active Stations window. 2022-12-24 11:44:59 -05:00
Joe Taylor
92d7f7c7de Need to invoke m_psk_Reporter.sendReport(). 2022-12-22 15:44:38 -05:00
Joe Taylor
954d35bd52 Send Q65W decodes to PSK Reporter, from WSJT-X. 2022-12-22 15:33:21 -05:00
Joe Taylor
90b49ddc0a Don't save to a *.iq file if WSJT-X transmitted for 10 or more seconds. 2022-12-22 13:54:37 -05:00
Joe Taylor
88cbc521bd Code cleanup and documentation. 2022-12-22 10:06:29 -05:00
Joe Taylor
e0e7ac69fa More code cleanup. Eliminate wideband_sync.f90. 2022-12-22 08:39:24 -05:00
Joe Taylor
b0e5ff0013 Code cleanup. 2022-12-22 08:20:39 -05:00
Joe Taylor
ceb80ac810 Separate out getcand2.f90 and q65_sync.f90. Minimize wideband_sync module. 2022-12-21 16:13:24 -05:00
Joe Taylor
a085b5e390 another few tweaks, a few more decodes. :-) 2022-12-21 16:02:39 -05:00
Joe Taylor
e398b6a33d New "getcand2" is now working well. 2022-12-21 13:29:32 -05:00
Uwe Risse
706351400f Add tooltips to explain the split operation options. 2022-12-21 17:57:59 +01:00
Joe Taylor
2716b3ed8a This is a temporary, WIP commit. Many disgnostic statements present! 2022-12-20 21:04:21 -05:00
Joe Taylor
4b9763b982 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2022-12-20 14:26:08 -05:00
Joe Taylor
c2fdba0b6e WIP -- temporary commit. 2022-12-20 14:25:04 -05:00
Joe Taylor
4ca2b2f219 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2022-12-20 14:19:42 -05:00
Joe Taylor
8b165d81b8 Allow use of Fortran files 71, 72, 73 for debugging. 2022-12-20 14:17:33 -05:00
Uwe Risse
d0cf7ea497 Further reduce the minimum width of the main window and ensure that such small sizes are remembered. 2022-12-19 12:49:25 +01:00
Joe Taylor
291410f3c2 Oops! Remove an unused variable. 2022-12-18 08:31:15 -05:00
Joe Taylor
8dcb41c47e Minor cleanup, and remove two qDebug()s. 2022-12-18 08:29:04 -05:00
Joe Taylor
7105d67e2b Rationalize use of ndepth (1-3) and datetime (yymmdd_hhmm). Add output tp all_q65w.txt. 2022-12-17 15:08:26 -05:00
Uwe Risse
930e1e5a9c PSK Reporter spotting is now also possible for frequencies > 4 GHz. This is required for QO-100, for example. 2022-12-17 18:54:49 +01:00
Joe Taylor
6771bd7970 Attempting to solve the "decoder not always called" problem. 2022-12-17 09:41:42 -05:00
Joe Taylor
8d0186bd2a Minimal solution to activate double-click decodes in narrow frequency range. 2022-12-17 08:28:48 -05:00
Joe Taylor
042ff589fb Another fix for communication between Q65W and WSJT-X. 2022-12-16 14:01:22 -05:00
Joe Taylor
2fcf6c45fe Fix a flaw that prevented Q65W decodes from being displayed in its main window. 2022-12-16 13:06:44 -05:00
Joe Taylor
5f94a115f7 Q65W waterfall should not scroll if WSJT-X is transmitting. 2022-12-15 15:26:48 -05:00
Joe Taylor
e4dd4b98a8 Improved display of workable Q65 stations in Active Stations window. 2022-12-15 13:59:59 -05:00
Joe Taylor
58964d1f87 Remove a diagnostic write. 2022-12-15 12:15:36 -05:00
Joe Taylor
469caa7d0c Finally(!) selecting an Active Station is now working for both FT8 and Q65. 2022-12-15 12:14:06 -05:00
Joe Taylor
1773a70d79 WIP: Still trying to get mouse-click to yield line number. 2022-12-15 09:15:35 -05:00
Uwe Risse
2d4083e2cf Some details changed to the Fox mode frequency warning. 2022-12-15 13:21:44 +01:00
Joe Taylor
6f59ddeab1 WIP on IPC. Clicking on Active Stations window works in FT8, fails in Q65. 2022-12-14 21:32:09 -05:00
Joe Taylor
cbad491438 WIP on IPC. 2022-12-14 16:54:37 -05:00
Joe Taylor
ca9406664e More ipc variables. 2022-12-14 16:52:06 -05:00
Joe Taylor
90c1598f1e More WIP on interprocess communication. 2022-12-14 14:28:55 -05:00
Joe Taylor
31524396d2 Further WIP toward communication between WSJT-X and Q65W. 2022-12-14 13:26:24 -05:00
Joe Taylor
a60edeb607 WIP toward sending decodes from Q65W to WSJT-X through shared memory. 2022-12-14 11:51:01 -05:00
Joe Taylor
439f17c123 Implement simple shared memory between WSJT-X and Q65W. 2022-12-14 09:21:01 -05:00
Joe Taylor
b288b20289 WIP toward communication between Q65W and WSJT-X by means of shared memory. 2022-12-13 20:42:01 -05:00
Joe Taylor
388f61b45c Code cleanup... 2022-12-13 15:27:33 -05:00
Joe Taylor
8507f6ff46 Code cleanup... 2022-12-13 15:04:50 -05:00
Joe Taylor
68d036913a Remove test jt_daemon: forget it, for now. 2022-12-13 14:14:51 -05:00
Joe Taylor
db00402aad Add jt_daemon.cpp. This may be TEMPORARY. 2022-12-13 14:00:41 -05:00
Joe Taylor
f68d4e2e6f Remove common/early/ and its variables -- they are not used in q65w. 2022-12-13 12:58:52 -05:00
Joe Taylor
9d89042d44 Remove another instance of the 1.27 kHz offset. 2022-12-13 12:58:15 -05:00
Joe Taylor
01df4a8c1e Allow Max Age up to 60, rather than 10. 2022-12-13 11:51:52 -05:00
Joe Taylor
815200acdf Merge branch 'develop' into map65 2022-12-13 11:45:33 -05:00
Joe Taylor
4aace2d75c Force fast-mode flags OFF when entering Q65 mode. 2022-12-13 11:39:41 -05:00
Joe Taylor
f024605d5a Merge branch 'develop' into map65 2022-12-13 11:21:19 -05:00
Joe Taylor
3fd9d5e976 Show dB for waterfall mouse position only when in TotalPower mode. 2022-12-13 11:18:16 -05:00
Joe Taylor
5579c0a729 Remove the 1.27 kHz offset from the spectrum plotted in Wide Graph. 2022-12-13 09:23:25 -05:00
Joe Taylor
d1d92334bd Clean up what the Erase button does. 2022-12-12 19:45:41 -05:00
Joe Taylor
00d405137a WIP toward implementing 'nagain=1' decodes. 2022-12-12 19:25:41 -05:00
Joe Taylor
516c83d4f9 Cut the size of arrays d4() d8() dd() in half, because no xpol. 2022-12-12 18:52:45 -05:00
Joe Taylor
63bc2a6495 Two more compiler warnings... 2022-12-12 17:05:54 -05:00
Joe Taylor
d3be147d35 Finished first pass at fixing compiler warnings. 2022-12-12 15:55:46 -05:00
Joe Taylor
bb47b65e9b Compiler warnings... 2022-12-12 15:50:08 -05:00
Joe Taylor
d9211aee28 Compiler warnings... 2022-12-12 15:37:06 -05:00
Joe Taylor
079927a8d8 Compiler warnings... 2022-12-12 15:23:51 -05:00
Joe Taylor
173aab72e7 Cleaning up compiler warnings ... 2022-12-12 15:15:18 -05:00
Joe Taylor
1c75702420 Reduce ss(4,322... to ss(322,... 2022-12-12 13:56:10 -05:00
Joe Taylor
504a62bf93 Remove (most of) mcall3 stuff. 2022-12-12 13:44:41 -05:00
Joe Taylor
16214c2ff1 Rename libm65 to libq65. 2022-12-12 13:27:13 -05:00
Joe Taylor
d808521b0f Final (?) pruning of source tree. 2022-12-12 13:22:11 -05:00
Joe Taylor
a3c7b421bd Rename m65c to q65c. 2022-12-12 13:09:07 -05:00
Joe Taylor
0e12c8f3f4 Get rid of more xpol stuff. 2022-12-12 13:01:32 -05:00
Joe Taylor
fc2273dc67 More pruning... 2022-12-12 12:39:44 -05:00
Joe Taylor
b9b9fe6412 More pruning... 2022-12-12 12:37:39 -05:00
Joe Taylor
7d63433fe4 A few more trimmings... 2022-12-12 12:28:44 -05:00
Joe Taylor
d2034e7c71 Cleanup and renaming map65a --> q65wa. 2022-12-12 12:22:52 -05:00
Joe Taylor
7b3587fcfd Pruning continues... 2022-12-12 11:57:59 -05:00
Joe Taylor
12539d3efe More pruning ... 2022-12-12 11:42:54 -05:00
Joe Taylor
39318e9d21 Prune further... 2022-12-12 11:35:23 -05:00
Joe Taylor
ecaa0b8861 Major prund files from Q65W source tree. 2022-12-12 11:14:58 -05:00
Joe Taylor
97b58a387b Don't need decode1a.f90, any more. 2022-12-12 10:33:32 -05:00
Joe Taylor
bac3198f7f WIP on simplifying map65a.f90. 2022-12-12 10:20:39 -05:00
Joe Taylor
e7b5db7b8e No need for polfit.f90. 2022-12-12 09:34:13 -05:00
Joe Taylor
4b4a6162d6 Update CMakeLists.txt: we're not building m65.exe any more. 2022-12-12 09:05:56 -05:00
Joe Taylor
6ccd2a290b Convert savg(4,NFFT) to one-dimensional savg(NFFT). 2022-12-11 17:10:40 -05:00
Joe Taylor
fed64b6d9f Remove some xpol stuff from filbig and q65b. 2022-12-11 09:30:01 -05:00
Joe Taylor
994e9ca929 Remove some xpol stuff from wideband_sync.f90. 2022-12-11 09:18:14 -05:00
Joe Taylor
d0ea461355 Remove most references to ".tf2". 2022-12-11 08:35:28 -05:00
Joe Taylor
74c3d55e7f Fix the Decode menu to read "Fast /Normal / Deep". 2022-12-10 19:21:19 -05:00
Joe Taylor
6cc2a50aa0 More cleanup of unused variables, etc. 2022-12-10 18:44:35 -05:00
Joe Taylor
dc23772f9e Remove lots more unneeded stuff. 2022-12-10 18:13:36 -05:00
Joe Taylor
33382c1c88 Remove stuff related to adjusting IQ amp and phase. 2022-12-10 17:57:40 -05:00
Joe Taylor
f83a5c6cbe Get rid of the shared memory segment. 2022-12-10 14:40:18 -05:00
Joe Taylor
d8093cf4dc Update the "About" message. 2022-12-10 14:15:29 -05:00
Joe Taylor
9f1c616487 Move Settings to the File menu. 2022-12-10 14:12:57 -05:00
Joe Taylor
d26f8c1a30 Change Wide Graph title to "Wideband Waterfall". 2022-12-10 13:50:51 -05:00
Joe Taylor
0e416e5d1f More cleanup of Wide Graph GUI. 2022-12-10 13:45:24 -05:00
Joe Taylor
1dba0e1602 Starting to clean up the Q65W WideGraph UI. 2022-12-10 13:18:08 -05:00
Joe Taylor
4b3cc34fa5 Get rid of lots of unneeded "second process" stuff. 2022-12-10 11:07:47 -05:00
Joe Taylor
689d852a49 Returd Q65W results to GUI, and some cleanup. 2022-12-10 10:52:58 -05:00
Joe Taylor
61d9d45be1 Clean up the timer 'init' and 'fini' calls, etc. 2022-12-10 09:24:24 -05:00
Joe Taylor
1a5815f084 Add a needed file. 2022-12-09 19:19:59 -05:00
Joe Taylor
e26b2db967 Work in progress... Q65 decoding now works when called as a subroutine. 2022-12-09 19:08:35 -05:00
Joe Taylor
ff56d9fa0b WIP on Q65W mainwindow. 2022-12-08 18:58:10 -05:00
Joe Taylor
9ff1f9ff3f Allow clicking in Active Stations window to call a station identified by Q65W. 2022-12-08 11:57:51 -05:00
Joe Taylor
10c70d042c Clean up the "Active Stations" display when used with Q65W. 2022-12-07 11:45:05 -05:00
Uwe Risse
f21d2ca9b1 Improved protection against crashes caused by double-clicking messages with <...> in certain QSO situations. 2022-12-07 11:34:12 +01:00
Uwe Risse
83b833a4f7 Prevent a crash when clicking on a message with "m_baseCall <...>" in EU VHF contest mode. 2022-12-07 11:10:07 +01:00
Uwe Risse
2bbcd1010a Prevent a crash when clicking on a message without word 3 in Fieldday or FT Roundup mode. 2022-12-07 00:23:10 +01:00
Joe Taylor
df21127af7 Clean up the display in Active Stations window. 2022-12-06 15:59:12 -05:00
Joe Taylor
24859b0b3a Establish max width for q65w main window. 2022-12-06 14:56:29 -05:00
Joe Taylor
fcee5057f2 No need for paOutDevice. 2022-12-06 13:05:36 -05:00
Joe Taylor
5054fb9e4e Remove a qDebug(). 2022-12-06 12:45:37 -05:00
Joe Taylor
f4412ea7e2 Only call decode() once, at ihsym=302. 2022-12-06 12:27:48 -05:00
Joe Taylor
5344fa559c Bump RC number to 6 (for now). 2022-12-06 10:55:52 -05:00
Joe Taylor
f519ff7592 Fix up the signal thermometers. 2022-12-06 10:36:02 -05:00
Joe Taylor
86e9ecb651 Be sure to set m_TRperiod! 2022-12-06 10:21:52 -05:00
Uwe Risse
c6d13a7984 Minor code correction. 2022-12-06 15:25:16 +01:00
Joe Taylor
df96e8dee3 Set Q65W program name and version. 2022-12-06 09:01:52 -05:00
Uwe Risse
ffe6ed7a1c Ensure that "Start new period decodes at top" still works after several hours. Patch from Mike W9MDB. 2022-12-06 14:54:24 +01:00
Joe Taylor
df388a35f0 Remove more junk. 2022-12-05 20:12:01 -05:00
Joe Taylor
3a9bb0a22e Remove stuff for '&' to stdOut. 2022-12-05 20:09:38 -05:00
Joe Taylor
c4288b143d Remove (most of) lab7. 2022-12-05 19:59:15 -05:00
Joe Taylor
4d51c4e0a8 Get rid of most of the editor-command stuff. 2022-12-05 19:53:18 -05:00
Joe Taylor
defb89573f More cleanup. 2022-12-05 19:44:48 -05:00
Joe Taylor
c1972fc2dd More removals of unneeded studd, reduce size of id[] array. 2022-12-05 19:36:10 -05:00
Joe Taylor
3dc206dc2b More unneeded stuff removed. 2022-12-05 19:31:17 -05:00
Joe Taylor
8c2fec1212 Don't need getDev(). 2022-12-05 19:07:15 -05:00
Joe Taylor
a7a53dc3ba Don't need dxccPfx. 2022-12-05 18:52:48 -05:00
Joe Taylor
1099837b50 More cleanup of unneeded stuff. 2022-12-05 18:41:28 -05:00
Joe Taylor
c98eb2019f Looking for what's still needed... 2022-12-05 18:35:42 -05:00
Joe Taylor
58075a4443 Why is m_psOutDevice needed, now? 2022-12-05 17:41:07 -05:00
Joe Taylor
f88f5ddc7a Remove the 95238 Hz sample-rate stuff. 2022-12-05 17:32:47 -05:00
Joe Taylor
29abbedfe8 Revert "Start removing portAudio stuff."
This reverts commit 7f6f260dc888b8aafc141488cec6aaa9b3905a1f.
2022-12-05 17:17:51 -05:00
Joe Taylor
c2352bd00a Final(?) portaudio removal. 2022-12-05 16:15:41 -05:00
Joe Taylor
52b946f546 Remove portaudio input code. 2022-12-05 16:12:07 -05:00
Joe Taylor
43c3a5ec26 More deletions of portaudio stuff. 2022-12-05 16:04:32 -05:00
Joe Taylor
61796515af More cleanup in devsetup. 2022-12-05 15:34:39 -05:00
Joe Taylor
7f6f260dc8 Start removing portAudio stuff. 2022-12-05 15:20:51 -05:00
Joe Taylor
bac63c1ea7 Remove the read_log() stuff. 2022-12-05 15:14:49 -05:00
Joe Taylor
50f2ef1931 Remove stuff from widegraph. 2022-12-05 15:10:59 -05:00
Joe Taylor
ce23a1897b Remove more unused stuff. 2022-12-05 15:04:34 -05:00
Joe Taylor
fa5a63df8a Removinf unised stuff from devsetup. 2022-12-05 14:13:05 -05:00
Joe Taylor
8a70f9c131 Remove more soundout stuff. 2022-12-05 13:58:12 -05:00
Joe Taylor
2a2bc4e69b Remouve stuff related to soundout and txtune. 2022-12-05 13:51:21 -05:00
Joe Taylor
cd5a925208 Removing more unneeded GUI items. 2022-12-05 13:17:46 -05:00
Joe Taylor
2a97ba420e Removed more unused GUI controls. 2022-12-05 12:57:18 -05:00
Joe Taylor
532d36dc77 Removing unused GUI items and associated code. 2022-12-05 12:49:57 -05:00
Joe Taylor
c3d8e96c8f Clean up the mainwindow test display. 2022-12-05 12:12:32 -05:00
Joe Taylor
e4a7f3a22a Sort candidates by frequency, after all. 2022-12-05 11:54:16 -05:00
Joe Taylor
27f304752a Moew WIP on q65w. 2022-12-05 11:08:31 -05:00
Joe Taylor
053ba57dc4 Work in progress on q65w ==> stripped-down map65 for wideband Rx. 2022-12-05 11:01:52 -05:00
Joe Taylor
17eae05c53 Starting to remove tx-related items from GUI, and the associated code. 2022-12-04 17:40:50 -05:00
Joe Taylor
88f542cd36 Really finish, this time. 2022-12-04 17:13:52 -05:00
Joe Taylor
9ba8ae0b9b Finish removing Band Map window. 2022-12-04 17:11:51 -05:00
Joe Taylor
de841889b5 Starting to remove Band Map window. 2022-12-04 17:07:08 -05:00
Joe Taylor
adc04fd71e Finish removing Messages window. 2022-12-04 16:58:19 -05:00
Joe Taylor
8731f9e75a Starting to remove Messages window from q65w. 2022-12-04 16:44:09 -05:00
Joe Taylor
4c83311f5a Oops! Fix two committing errors. 2022-12-04 16:06:14 -05:00
Joe Taylor
dec65a1b7a Starting to trim stuff not needed for q65w. No early decpde; all decodes to main window. 2022-12-04 16:03:13 -05:00
Joe Taylor
dc69832745 Build either map65 or q65w, but not both. 2022-12-04 14:00:28 -05:00
Joe Taylor
f7421feb62 Initial build of q65w, an experiment to make a stripped-down map65. 2022-12-04 10:17:02 -05:00
Joe Taylor
c8e64db9d4 Merge branch 'map65' of bitbucket.org:k1jt/wsjtx into map65 2022-12-04 09:23:06 -05:00
Joe Taylor
f216648c05 Remove forced nfreq=144 in astro.cpp. 2022-12-04 09:21:57 -05:00
Joe Taylor
44729ebe00 Work in progress on displaying wideband decodes from MAP65 in WSJT-X. 2022-12-02 16:30:18 -05:00
Joe Taylor
4160256747 Remove a temporary hardwired Doppler value. 2022-12-02 11:43:25 -05:00
Joe Taylor
5daa5f301d Let MAP65 compute self Doppler using *.iq filename values for date and time. 2022-12-02 11:35:52 -05:00
Joe Taylor
32411d1fd0 Send current self-dop from MAP65 mainwindow to decoder. 2022-12-02 10:20:43 -05:00
Joe Taylor
0055222306 Write MAP65 decodes to file 'wb_q65.txt', for use by WSJT-X. 2022-12-02 09:18:52 -05:00
Joe Taylor
6c018cb53f Fix the Q65 submode indicator written to map65_rx.log. 2022-12-01 12:36:48 -05:00
Joe Taylor
51eb142f4c Improve wideband Q65 decoding in MAP65. 2022-12-01 12:17:03 -05:00
Brian Moran
db936dffc1 fix for FH issue found by K8H where TX queues not kept full (n=2,3) 2022-11-29 20:32:13 -08:00
Joe Taylor
ef79bed994 Merge branch 'develop' into map65 2022-11-29 14:12:34 -05:00
Uwe Risse
14b1a71517 Correct NEWS as well. 2022-11-27 13:55:23 +01:00
Brian Moran
4e071495a0 correct spelling 2022-11-26 08:44:26 -08:00
Uwe Risse
89dd922cef Fox mode: Prevent callers below 1000 Hz from being displayed in the Rx frequency window. 2022-11-25 09:15:23 +01:00
Uwe Risse
a8979b01d1 Fox mode: Remove a station from the "In Progress" window when transmission of "RR73" is completed. 2022-11-24 16:33:07 +01:00
Uwe Risse
104fcf2193 Fox mode: Display any reply from a Hound in the Rx Frequency window that is for us and contains a report. 2022-11-24 14:23:30 +01:00
Uwe Risse
d3bcc2c6b4 Remove a station from the In Progress window after the QSO has been logged. 2022-11-24 13:55:33 +01:00
Uwe Risse
a36a99997b Fox mode: Display any reply from the Hound in the Rx Frequency window. 2022-11-24 10:32:42 +01:00
Uwe Risse
8436eac2e2 Further updates to NEWS and Release notes. 2022-11-23 13:16:08 +01:00
Steven Franke
f77a249c3d Updates to NEWS and Release notes. 2022-11-22 14:09:10 -06:00
Steven Franke
86c3f6aa90 Upload FST4W-900 spots with tr=15 because WSPRnet does not recognize tr=16. 2022-11-22 12:51:52 -06:00
Joe Taylor
3c8a8d518a Merge branch 'develop' into map65 2022-11-21 12:40:23 -05:00
Joe Taylor
fb01223768 Final (?) edits to Release Notes in advance of the 2.6.0-rc5 release. 2022-11-21 11:02:26 -05:00
Uwe Risse
d37e887eb9 Some more edits to Release Notes and NEWS. 2022-11-21 14:39:19 +01:00
Steven Franke
119c838629 Edits to Release Notes. 2022-11-21 07:18:56 -06:00
Uwe Risse
e443cb27c6 Preparations for v2.6.0-rc5. 2022-11-21 11:49:03 +01:00
Uwe Risse
b3f6d41f4b Fix a bug in Hound mode for decodes without a grid or 3rd part of the message. Patch by Mike W9MDB. 2022-11-20 10:24:55 +01:00
Uwe Risse
94aec3766e Disable log warnings on dropped audio for now, as detection is not reliable enough. 2022-11-20 10:21:59 +01:00
Uwe Risse
d380be4ab4 Some more time to test RC5, part2. 2022-11-19 20:06:41 +01:00
Uwe Risse
11db3eb1f3 Some more time to test RC5. 2022-11-19 20:04:52 +01:00
Brian Moran
a247bcae94 change column title from In-QSO to In Progress 2022-11-19 07:20:17 -08:00
Brian Moran
0820a86d37 Merge branch 'develop' into hound-list-changes 2022-11-19 07:06:16 -08:00
Brian Moran
f59e9cba04 Merge branch 'develop' into working-freqs 2022-11-19 07:03:18 -08:00
Joe Taylor
1069e705d2 Display cursor frequency only to nearest Hz. 2022-11-17 13:00:44 -05:00
Uwe Risse
bed8904298 Ensure that also late a7 decodes from the previous band are suppressed. 2022-11-16 22:05:01 +01:00
Joe Taylor
bb756db817 Report the total number of map65 decodes, and display in status bar. 2022-11-16 15:11:57 -05:00
Steven Franke
23ca8f76c8 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-11-16 10:57:22 -06:00
Steven Franke
9d28082cc1 FST4/W: Improve calibration for SNR estimates. 2022-11-16 10:57:07 -06:00
Brian Moran
31676f0cc5 Merge remote-tracking branch 'origin/hound-list-changes' into hound-list-changes 2022-11-15 11:36:10 -08:00
Brian Moran
2ba4496baf Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into hound-list-changes 2022-11-15 11:33:44 -08:00
Uwe Risse
e7dde090bf Allow CQ messages to be sent to PSK reporters without a grid. 2022-11-15 17:09:05 +01:00
Uwe Risse
fcc10c1f69 Some GUI adjustments. 2022-11-13 16:38:56 +01:00
Uwe Risse
940b26e6ea Fix a compilation error with Qt 5.15.x. 2022-11-13 09:49:43 +01:00
Brian Moran
2b08cd9e4b manage hound queue; add ability to add hound to top with ALT-double-click; show/manipulate hound QSOs in progress 2022-11-12 17:23:21 -08:00
Joe Taylor
31657834e3 Add a feature to MAP65 for measuring antenna pointing errors. 2022-11-10 14:39:56 -05:00
Uwe Risse
44d947ff95 Keep the frequency when in Hound mode and click the "H" button again. 2022-11-10 11:40:01 +01:00
Steven Franke
94334f2b6c Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-11-08 20:43:54 -06:00
Steven Franke
d52621b928 Minor tweaks to FT8 decoder, remove some debug print statements. 2022-11-08 20:43:42 -06:00
Uwe Risse
7824ce6339 Don't allow a7 decodes during the first period after a band change because they can be leftovers from the previous band. 2022-11-08 21:59:33 +01:00
Steven Franke
d789beaa82 Merge branch 'feat-ft8_sync_improvement' into develop 2022-11-07 14:01:04 -06:00
Uwe Risse
2eb04f5c86 Improved check of the UDP server network address for errors before accepting it. 2022-11-07 19:56:27 +01:00
Uwe Risse
19229bc0c3 Assume that the DX Lab Suite Commander always answers with a string. This is to avoid misinterpretations that could lead to crashes. 2022-11-07 17:32:11 +01:00
Steven Franke
2b0aa9325d FT8: disable a7 decoding for Fox/Hound and when Enable AP is not checked. 2022-11-07 08:55:40 -06:00
Joe Taylor
eae509f08d Remove a statement in map65a.f90 that was there for testing only. 2022-11-04 09:58:23 -04:00
Joe Taylor
377d309d89 Correct a flaw in map65a.f90 defining variable nts_jt65. 2022-11-03 15:12:24 -04:00
Joe Taylor
7187172d02 Don't allow decoding depth to be changed just because Echo mode was entered. 2022-11-03 11:49:14 -04:00
Joe Taylor
339c3a042d MAP65: use "Force center freq" also for data read from disk. 2022-11-03 10:06:22 -04:00
Joe Taylor
dedc54e449 New MAP65 feature: read wsjtx.log to recognize EME contest dupes. 2022-11-02 14:01:52 -04:00
Steven Franke
a99798fec4 Improve sync for early decodes. 2022-11-01 17:58:36 -05:00
Joe Taylor
cb19944508 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-11-01 11:53:44 -04:00
Uwe Risse
0cd2935b8c Prevent some possible segfault errors (patch by Mike W9MDB). 2022-11-01 16:40:08 +01:00
Uwe Risse
bc8ee62900 Suppress "Transmit digital gain" overlay unless PWR attenuator is being adjusted. 2022-11-01 14:52:49 +01:00
Steven Franke
1bcbca4634 FT8: Avoid a crash when a wav file is processed multiple times. 2022-10-23 16:48:21 -05:00
Uwe Risse
35d758647d Check the network address of the UDP server for errors before accepting it. Thanks to Mike W9MDB. 2022-10-23 13:05:29 +02:00
Steven Franke
1bcad2eda5 Remove some debug statements. 2022-10-21 13:50:01 -05:00
Steven Franke
f4e8ee4f75 Improve ft8 decoding on crowded bands. 2022-10-21 13:47:12 -05:00
Uwe Risse
2e59bd79d3 Some more fine tuning to the GUI. 2022-10-17 17:53:05 +02:00
Uwe Risse
0256bbb807 Improve bandComboBox size and resizing of the left controls. 2022-10-17 14:55:40 +02:00
Joe Taylor
4e6db5063c Fix the "CQ Max Dist" tool tip. 2022-10-14 09:13:57 -04:00
Joe Taylor
e29eb263b5 Update Echo-mode text and screenshot in User Guide. 2022-10-14 09:12:17 -04:00
Uwe Risse
f9df36989c Improve the scaling of the GUI, keeping the width of the signal meter as small as possible, but ensuring readability at different font sizes. 2022-10-14 14:26:48 +02:00
Uwe Risse
f0c5b772df Revert "Improve the readability of the signal meter labeling at different font sizes."
This reverts commit 0fd396c903b100083074b161497ab7186aa20a3e.
2022-10-14 14:20:25 +02:00
Uwe Risse
0fd396c903 Improve the readability of the signal meter labeling at different font sizes. 2022-10-14 11:56:38 +02:00
Uwe Risse
5a0138fa02 Auto-align drawing of horizontal grids. 2022-10-13 19:00:53 +02:00
Brian Moran
c185f8578f retain old type name for FrequencyList_v2, use new type name for new class 2022-10-11 18:30:01 -07:00
Joe Taylor
98a67820c8 Updates to the User Guide for Echo mode. This is still work in progress! 2022-10-06 15:00:29 -04:00
Joe Taylor
11396731d5 Starting work on updating use of Echo mode in the User Guide. 2022-10-06 13:07:26 -04:00
Joe Taylor
68f986defd Redraw the spec2d grid after resetting the spec2dComboBox in Wide Graph. 2022-10-06 11:25:25 -04:00
Uwe Risse
c1da94ebf2 Allow resizing of the mode buttons to take effect each time you change the application font. 2022-10-03 12:00:10 +02:00
Brian Moran
a39a48d76a show which Freqs are preferred; switch to preferred; show description with a separator 2022-10-01 16:51:17 -07:00
Joe Taylor
70926b2a40 Set a maximum width for the level thermometer. 2022-09-30 11:23:16 -04:00
Brian Moran
eb33b6029f start with current datetime for in-place editing of blank datetime 2022-09-29 21:07:26 -07:00
Brian Moran
5db0b06aeb add checkbox for preferred frequencies 2022-09-29 20:54:45 -07:00
Brian Moran
85cb05a812 edit new frequency table fields inline; refresh filter periodically; 2022-09-29 08:44:31 -07:00
Brian Moran
923de0ef38 move MessageItemDelegate to its own file 2022-09-29 08:39:22 -07:00
Uwe Risse
f91e8e3cf1 Fix a bug that caused wrong frequencies to be written to ALL.TXT for Tx. 2022-09-29 14:30:09 +02:00
Uwe Risse
6f36f7eea2 Revert "Revert commit f5291f2 for WSPR mode only."
This reverts commit f98ec44e9830bd72a9bf80a22a038e56e5e352f4.
2022-09-29 14:22:10 +02:00
k9an
f98ec44e98 Revert commit f5291f2 for WSPR mode only. 2022-09-28 16:44:28 -05:00
Joe Taylor
31f429724d Better zero-subtraction method for the echo spectrum. 2022-09-28 15:08:57 -04:00
Brian Moran
9520eb1309 read/write QRG files with additional information; support JSON format for human inspection 2022-09-28 08:07:12 -07:00
Joe Taylor
8e3b285f17 Did not mean to save a temporarily edited CMakeLists.txt. Revert the change. 2022-09-28 10:20:11 -04:00
Joe Taylor
f9423aa6d4 Trivial updates to testfast9.f90, for distributiion to G4JNT. 2022-09-28 10:18:42 -04:00
Joe Taylor
ca4fac2fd0 Remove display of single-echo SNR, it was a bad idea. 2022-09-26 10:45:33 -04:00
Joe Taylor
3a069e47a3 Work in progress on Echo-mode averaging. 2022-09-26 08:07:11 -04:00
Joe Taylor
088429f468 Don't force "Own Echo" in Echo mode. Install a control for setting EchoAvg. 2022-09-25 16:53:26 -04:00
Uwe Risse
9e8a9f6a61 Highlight DX Call also when the other station is <...>. 2022-09-24 19:03:03 +02:00
Uwe Risse
df45d53dba Turn on Auto Seq when it is available, not just for FT8. 2022-09-23 10:17:22 +02:00
Uwe Risse
3bbc7e62f8 Ensure that next_state_.ptt() is initialized. Patch from Mike W9MDB. 2022-09-22 15:29:59 +02:00
Joe Taylor
3f94b75912 Add single-echo SNR measurement. 2022-09-21 16:03:26 -04:00
Joe Taylor
8c916c14d4 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-09-21 15:06:47 -04:00
Joe Taylor
7cc46af421 Revert "Add and implement menu item "File | Copy main text window to WSJT-X.txt"."
This reverts commit 036c612d415f81bb871dbb8425ab8d5df8a85f0c.
2022-09-21 13:24:09 -04:00
Joe Taylor
9243342ddd Write the displayed Echo-mode text to all_echo.txt. 2022-09-21 13:17:57 -04:00
Uwe Risse
e9de8060de Ensure that the special operating modes are initialized correctly when WSJT-X is started. 2022-09-20 15:52:24 +02:00
Joe Taylor
7656475fdc Diasble zero2dSlider when WideGraph is plotting in TotalPower mode. 2022-09-10 09:49:27 -04:00
Joe Taylor
7ed12d8507 Suppress the spike seen when horizontal scrolling first starts. 2022-09-10 09:42:38 -04:00
Joe Taylor
f8b21ea5e6 Set m_x=0 on a WideGraph resize event. 2022-09-10 08:57:31 -04:00
Joe Taylor
077b44f901 Reset m_echoSec0=0 after Clear Avg. 2022-09-10 08:46:51 -04:00
Joe Taylor
731230315b Adjust the UTC wrap-around problem to yield time difference within +/- 12 hours. 2022-09-10 08:39:13 -04:00
Joe Taylor
28a62c9aba Allow total power plot to scroll left. 2022-09-09 16:46:24 -04:00
Joe Taylor
b301b6ba44 More work in progress on Total Power plots... 2022-09-09 15:44:30 -04:00
Joe Taylor
04cad09683 Work in progress on Total Power plots... 2022-09-09 12:03:59 -04:00
Joe Taylor
b73120dd48 First attempt at a useful total-power plotter. 2022-09-08 15:27:01 -04:00
Joe Taylor
32a823afa7 Bump the RC number to 5. 2022-09-08 14:41:18 -04:00
Joe Taylor
64108e85ea Minor cleanup of symspec.f90. 2022-09-08 12:57:37 -04:00
Uwe Risse
c3579831ba Update NEWS and Release Notes. 2022-09-03 17:02:28 +02:00
Joe Taylor
6e1529b1cc Use correct UTC-encoded filenames for echosim output. 2022-09-02 13:59:16 -04:00
Joe Taylor
eb1a4e4a65 Fix the column alignment for echo-mode data. 2022-09-02 13:34:22 -04:00
Joe Taylor
1d8d6cf2ce Echo-mode UTC should be that at start of Echo or Monitor cycle. 2022-09-02 11:37:25 -04:00
Joe Taylor
2b15f0bf0f Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-09-01 15:50:54 -04:00
Joe Taylor
eb8fba2598 Add Tsec to displayed data for Echo mode. 2022-09-01 14:32:11 -04:00
Joe Taylor
14a3ba02f2 ClearAvg now erases the plot in Echo Graph. 2022-09-01 11:49:06 -04:00
Joe Taylor
fd09b426ea Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-09-01 11:20:43 -04:00
Joe Taylor
a569d25ddb Add an optional baseline to plots in Echo Graph. 2022-09-01 11:20:00 -04:00
Joe Taylor
c1b7890f2e Avoid the "blue Decode button" syndrome when using SHIFT+F6 in Echo mode. 2022-09-01 10:06:38 -04:00
Uwe Risse
50e3960ee4 Ensure that Monitor is OFF at startup when in Echo mode. 2022-09-01 12:00:30 +02:00
Uwe Risse
ca04a2f3bb A bit more time to test RC4. 2022-09-01 09:54:01 +02:00
Joe Taylor
0bf35fa91f Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-08-31 15:09:57 -04:00
Joe Taylor
036c612d41 Add and implement menu item "File | Copy main text window to WSJT-X.txt". 2022-08-31 14:27:03 -04:00
Joe Taylor
aea5184a6d Bump the RC number to RC4. 2022-08-31 13:14:32 -04:00
Joe Taylor
9e177a9496 Display Echo-mode 'Level' with two decimal places. 2022-08-31 13:10:56 -04:00
Joe Taylor
1e893ecafd Add column headings to echosim screen output. 2022-08-31 13:10:11 -04:00
Joe Taylor
8f8ee53b6f Make the "Doppler tracking" checkbox sticky. 2022-08-31 11:52:43 -04:00
Joe Taylor
06849ac2ce Change the order of parameters displayed in Echo mode: DF, SNR, dBerr come last. 2022-08-31 11:18:40 -04:00
Joe Taylor
3bb141cfbd Install echosim[.exe] by default (TEMPORARY ?) 2022-08-30 17:51:17 -04:00
Joe Taylor
09c3412aca Better format for echosim file-by-file output to screen. 2022-08-30 15:33:34 -04:00
Joe Taylor
66b90904cf Better orthogonality of Gain and Zero functions in EchoPlot. 2022-08-30 15:23:51 -04:00
Joe Taylor
6e5efdfda2 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-08-30 14:58:53 -04:00
Joe Taylor
c81bcfa3ef Modify echosim to use the same Lorentzian model for fspread as used in q65sim. 2022-08-30 14:57:44 -04:00
Joe Taylor
62e5acd82b Ignore the (rare?) failed attempts to write to decoded.txt because it's open for reading. 2022-08-30 12:58:53 -04:00
Joe Taylor
f38f5c0933 Harmless formatting changes. 2022-08-30 12:58:37 -04:00
Uwe Risse
14452cd054 Make HRDTransceiver more robust (seems to reduce the number of program crashes). 2022-08-30 13:42:04 +02:00
Joe Taylor
8cdbea788f Clean up some displayed parameters in Echo mode. 2022-08-29 13:45:29 -04:00
Joe Taylor
5e4bd8ac9f Add initial version of program echosim. 2022-08-29 13:44:46 -04:00
Steven Franke
7db3d80c90 Revert a change that was introduced in commit f84ba8 because it breaks JT9 mode. 2022-08-29 08:48:37 -05:00
Uwe Risse
c8ff0c221e Set VFOB only when split mode is on. Thanks to Mike W9MDB. 2022-08-28 15:39:11 +02:00
Joe Taylor
38e66d4c63 Correct a typo in wsjtx.1.txt. 2022-08-23 10:14:25 -04:00
Uwe Risse
9cb7772c4b Fixed a bug that caused 32-bit WSJTX to always launch the Contest Log window (esp. on Windows 10). 2022-08-20 13:21:06 +02:00
Joe Taylor
ac151875ce Fix an issue with updating of labDXped after changes to special operating mode. 2022-08-18 13:16:23 -04:00
Joe Taylor
91b3829849 Always start Echo mode with Monitor OFF. 2022-08-18 10:42:12 -04:00
Joe Taylor
6126baa8ac RIT control should be enabled only in Echo mode. 2022-08-18 10:32:22 -04:00
Joe Taylor
eee18ba764 When Echo-mode monitoring, don't set xlevel=0 if audio shift is too big. 2022-08-18 09:53:14 -04:00
Joe Taylor
db8ff74c50 Correct a new failure to process echo data read back from disk. 2022-08-17 13:20:00 -04:00
Joe Taylor
45e4599008 Edits to Release Notes and NEWS. 2022-08-17 11:54:54 -04:00
Joe Taylor
f84b42678e Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-08-17 11:24:17 -04:00
Joe Taylor
d0a6be96e4 More tweaks to Echo mode: call to save_echo_params, no display after last echo transmission. 2022-08-17 11:19:53 -04:00
Joe Taylor
75516e8ce4 Save fspread in .wav file as float, not double. 2022-08-17 10:50:35 -04:00
Joe Taylor
bfb5665c36 Save and restore total Doppler in Echo-mode .wav files, and display that as Doppler. 2022-08-17 09:42:33 -04:00
Joe Taylor
92df1fbd0c Echo mode should default to Doppler method "Own Echo". 2022-08-17 09:06:27 -04:00
Uwe Risse
a483daf985 Add v2.6.0-rc3 NEWS and Release Notes. 2022-08-17 10:12:34 +02:00
Joe Taylor
d08c1e106a Display full Doppler in Echo mode text output, not just the audio shift. 2022-08-16 14:42:22 -04:00
Joe Taylor
a767a7dd1e Fix three minor flaws in Echo mode. 2022-08-16 12:15:08 -04:00
k9an
f683d47f5b Fix a crash caused by calling Reset Cabrillo Log when Active Stations window is not open. Thanks to Mike W9MDB./wsjtx & 2022-08-02 13:52:46 -05:00
k9an
8eec2b58c0 Allow FST4W transmissions on 30m. Ensure that correct frequency is reported to WSPRnet for FST4W decodes when Rx spin box frequency is not 1500 Hz. 2022-08-02 11:57:24 -05:00
Uwe Risse
5b52b30d56 Ensure compatibility with Qt < 5.15. 2022-08-01 10:16:28 +02:00
Joe Taylor
3bdadf247a Protect against using null pointer m_astroWidget. 2022-07-30 13:07:49 -04:00
k9an
7cdb363c8c Merge branch 'echo-mode' into develop 2022-07-30 09:05:09 -05:00
Joe Taylor
9c67aa8182 Remove a diagnostic print statement. 2022-07-30 09:58:50 -04:00
k9an
00f29458b3 Merge branch 'echo-mode' into develop 2022-07-30 08:46:10 -05:00
Joe Taylor
d80146312f Use of small mode buttons requires updating of m_specOp. 2022-07-30 09:22:49 -04:00
Joe Taylor
541aa37c79 Commit the change to the SpecOp enumeration. 2022-07-30 08:25:41 -04:00
Joe Taylor
ca39746dc5 Change the SpecOp enumeration so that FOX=6, HOUND=7, ARRL_DIGI=8. 2022-07-29 15:20:04 -04:00
Joe Taylor
4c4a5fe023 Get UTC from file name when reading Echo-mode .wav files. 2022-07-29 11:38:55 -04:00
Joe Taylor
f46e42e622 Protect against bounds error in avecho when audio up/down shift is too big. 2022-07-29 09:02:06 -04:00
Uwe Risse
b1000ee153 Remove the Tune watchdog. 2022-07-29 11:06:59 +02:00
Joe Taylor
8992bbc16f Write to LU 13 ('decoded.txt') only if it was properly opened. 2022-07-28 11:32:57 -04:00
Joe Taylor
2e82ce4546 Add Doppler to displayed text lines in Echo mode. Enable RIT spinner when DopplerMethod is None. 2022-07-28 11:00:47 -04:00
Joe Taylor
d4ed6785fb WIP toward processing Echo-mode data read from disk. 2022-07-28 08:55:19 -04:00
Joe Taylor
3fb362ac28 WIP to enable saving, opening, and processing Echo-mode .wav files. 2022-07-27 14:03:54 -04:00
Joe Taylor
d70f637632 New Echo-mode features may be actually working, now. Needs testing! 2022-07-27 11:28:34 -04:00
Joe Taylor
c774e71bfe Update comments in NetworkMessage.hpp to include ARRL DIGI contest as a Special Operating Activity. 2022-07-26 13:16:32 -04:00
Joe Taylor
e3bceafe3a Temporarily save WIP on echo mode. 2022-07-25 11:27:36 -04:00
Joe Taylor
f9ce51c039 In astro.cpp, round off display of width1 and width2 to nearest integer Hz. 2022-07-25 11:09:05 -04:00
k9an
6396980de3 Fix scaling of waveform in wspr_wav when SNR > 90dB. 2022-07-25 09:14:53 -05:00
Uwe Risse
45532ed55c Stop the Tune Watchdog when Enable Tx is checked to prevent accidental truncation of transmissions. 2022-07-24 13:15:11 +02:00
Joe Taylor
cc541973fc More WIP on Echo mode. 2022-07-21 14:01:11 -04:00
Joe Taylor
dbdfbb41a7 More WIP on Echo mode. 2022-07-21 13:42:08 -04:00
Joe Taylor
a69e3756b6 Working on Echo mode. 2022-07-21 12:53:27 -04:00
Joe Taylor
fd4a2e3b61 Work in progress on Echo mode. Some temporary stuff here! 2022-07-21 11:39:24 -04:00
Joe Taylor
9d0e211844 Specify "Windows 7 or later" in User Guide. 2022-07-21 09:34:02 -04:00
Joe Taylor
992ee5140c Add a Leap Second for January 1, 2017. See https://www.nist.gov/pml/time-and-frequency-division/time-realization/leap-seconds 2022-07-20 09:26:41 -04:00
Uwe Risse
994e3f1c3d Update also NEWS file. 2022-07-19 17:28:57 +02:00
Joe Taylor
3c98c9df41 Final update to Release Notes, for coming 2.6.0-rc2 candidate release. 2022-07-19 11:04:01 -04:00
Joe Taylor
2e4a6c3c32 If DX grid is blank, set DX astro params to zero. Do this in astrosub.f90, not asstro.cpp! 2022-07-17 16:12:59 -04:00
Joe Taylor
c296bca73a Minor code cleanup. 2022-07-16 09:50:09 -04:00
Joe Taylor
215208636c Merge branch 'contest-log-window' 2022-07-16 09:46:15 -04:00
Joe Taylor
c60aa83aa5 ActiveStations lineEdits for Rate, Score, and Band changes should be ReadOnly. 2022-07-16 09:43:55 -04:00
Brian Moran
8bd3dd65bb use correct method for getting row count from the DB; use signals/slots to inform the CabrilloLogWindow the qso_count has changed 2022-07-15 20:42:57 -07:00
Brian Moran
aa16455320 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into contest-log-window 2022-07-15 17:15:59 -07:00
Uwe Risse
8e4f293127 Fix a typo, set release date to July 21, and copy text from release notes to NEWS file. 2022-07-15 21:05:38 +02:00
Brian Moran
af3e06144c refresh QSO # when the underlying data changes 2022-07-15 11:24:57 -07:00
Joe Taylor
a4792074e4 Edits to User Guide and Release Notes. 2022-07-15 14:21:06 -04:00
Joe Taylor
47a89bc2c9 A few more edits to Release Notes. 2022-07-15 13:56:04 -04:00
Joe Taylor
fadda93f2f Merge branch 'develop' 2022-07-15 13:01:34 -04:00
Joe Taylor
320ddc0338 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-07-15 12:42:00 -04:00
Uwe Risse
5759f06d6d One more item for the rc2 release notes and NEWS. 2022-07-15 18:25:46 +02:00
Uwe Risse
a5f963233b Update release notes and NEWS for v2.6.0-rc2. 2022-07-15 18:18:49 +02:00
Joe Taylor
e5bf51abf6 Update number of logged contest QSOs only if Contet Log has been made visible. 2022-07-15 10:49:26 -04:00
Joe Taylor
e1fde92ea2 Try adding a lineEdit to display number of QSOs in the contest log. Not quite right, yet. 2022-07-14 12:42:55 -04:00
Brian Moran
fffc88de69 merge 2022-07-13 21:47:20 -07:00
Brian Moran
f20687f9fb Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into contest-log-window 2022-07-13 21:36:22 -07:00
Brian Moran
a1106aff46 no qso #. When date sorted, move to top or bottom 2022-07-13 21:36:07 -07:00
Joe Taylor
cd0a0e6db4 Fix a typo. 2022-07-13 14:57:24 -04:00
Brian Moran
c85ed8cc7d show contacts by ID, scroll to insertion when sorted by tha column up or down 2022-07-11 15:56:55 -07:00
Uwe Risse
68a534221b Fix a typo. 2022-07-11 19:04:05 +02:00
Uwe Risse
d81a3d799c Set the 4m FT8 default frequency for Region 1 to 70,154 MHz. 2022-07-09 12:48:26 +02:00
Uwe Risse
31696388b9 Revert "Set the 4m FT8 default frequency for Region 1 to 70,154 MHz."
This reverts commit 43cd871413a1b1985d43519786ef31aeab0b0f3d.
2022-07-09 12:45:46 +02:00
Uwe Risse
9d90ede3de Revert "Fix a problem with backward compatibility, part 1."
This reverts commit 4822b943508f49f5093fc276ee463d043feb8c9a.
2022-07-09 12:43:49 +02:00
Uwe Risse
dd384d0765 Revert "Fix a problem with backward compatibility, part 2."
This reverts commit 4545195a3214f875028e9015a9015159f6fa54cd.
2022-07-09 12:43:39 +02:00
Uwe Risse
4545195a32 Fix a problem with backward compatibility, part 2. 2022-07-09 12:39:12 +02:00
Uwe Risse
4822b94350 Fix a problem with backward compatibility, part 1. 2022-07-09 12:38:26 +02:00
Uwe Risse
566d01aa23 Some possible text modules for the rc2 release notes. 2022-07-08 14:37:43 +02:00
Uwe Risse
da282209f1 Remember Tx and Rx audio frequencies when coming back from any mode which sets AF to 1500 Hz (MSK144, FST4W, Echo, WSPR, FreqCal). 2022-07-08 11:56:02 +02:00
Uwe Risse
f84ba8a0d0 Make submode switching more robust, and fix a long-standing bug where the Tx audio frequency spin box remained red when coming from some Q65 submodes. 2022-07-07 18:11:29 +02:00
Joe Taylor
1f575bbe67 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-07-05 14:01:54 -04:00
Joe Taylor
8b767b4c75 Satisfy the fussy compiler on macOS. 2022-07-05 14:01:22 -04:00
Uwe Risse
599cf1b7d6 Remember settings for T/R period and Submode by mode. 2022-07-05 10:55:00 +02:00
Uwe Risse
c97c53db89 Fix VFOB not getting set on some rigs (e.g. IC7610 & IC7100). 2022-07-04 19:53:03 +02:00
Joe Taylor
9adb1c8256 Minor edits to display of Keyboard Shortcuts. 2022-07-01 12:04:22 -04:00
Joe Taylor
bc635f0cd7 Make OK button the default on the LogQSO dialog window. 2022-07-01 11:56:22 -04:00
Joe Taylor
3caaf785bd Change version number to 2.6.0-rc2. 2022-06-23 09:51:30 -04:00
Joe Taylor
951d17b20c Correct the if statement controlling display of DX station fields. 2022-06-23 09:20:52 -04:00
Joe Taylor
0ef914fb5c Let Echo-mode "Measure" function use the computed fspread for DX grid. 2022-06-22 14:34:50 -04:00
Joe Taylor
345e539074 Use "(Call_1 or CQ)" in Table 2, Section 12.1 of User Guide. 2022-06-21 14:27:06 -04:00
Uwe Risse
219c04f5a4 Optimize mode button layout for 4K screens. 2022-06-19 16:37:56 +02:00
Uwe Risse
e575005291 Fix a compatibility issue. 2022-06-19 11:04:49 +02:00
Uwe Risse
6744bc5468 Change release date to June 20, 2022. 2022-06-13 20:58:38 +02:00
Joe Taylor
121091c14e Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-06-03 11:53:35 -04:00
Joe Taylor
3beeb06dec Always send 73 after receiving RR73, even in contest mode. 2022-06-03 11:52:25 -04:00
Uwe Risse
6ca7523adf Fix a typo. 2022-06-03 13:27:19 +02:00
Uwe Risse
f77eb1ddf8 Align the second tooltip with the first one for "FT Roundup...". 2022-06-03 11:57:31 +02:00
Joe Taylor
bdf33b6ab3 Include a missing image file. 2022-06-02 15:33:29 -04:00
Joe Taylor
b968fe2b76 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-06-02 14:19:35 -04:00
Joe Taylor
14bf6d5ec1 More updates to the User Guide. 2022-06-02 14:18:52 -04:00
Uwe Risse
43cd871413 Set the 4m FT8 default frequency for Region 1 to 70,154 MHz. 2022-06-02 19:54:28 +02:00
Joe Taylor
014a8e5104 Add a brief statement about MAP65 to the WSJT-X User Guide. 2022-06-02 13:47:25 -04:00
Joe Taylor
0aeee4cdf8 User Guide additions. 2022-06-02 13:37:22 -04:00
Joe Taylor
a3d57024d5 Edits and additions to User Guide. 2022-06-02 13:15:20 -04:00
Joe Taylor
9667fd837b Starting on some User Guide additions and edits. This is work in progress! 2022-06-02 07:46:23 -04:00
Joe Taylor
ba03e471bc Correct some wording in Release Notes. 2022-06-01 16:40:17 -04:00
Joe Taylor
372b43df26 New screen shot for Settings | Advanced. 2022-06-01 15:41:13 -04:00
Joe Taylor
0fa2cf2166 Change references from "ARRL RTTY Roundup" to "FT Roundup". 2022-06-01 15:32:24 -04:00
Joe Taylor
95282f062e Change visible references from "RTTY Roundup" to "FT Roundup". Clean up the Settings | Advanced page. 2022-06-01 14:48:44 -04:00
Joe Taylor
c5fe615a7b Further edits to NEWS and Release_Notes.txt. 2022-06-01 13:57:28 -04:00
Joe Taylor
d6299e8a78 Add label and ToolTip to the control for scaling digital I/Q data. 2022-06-01 10:57:14 -04:00
Uwe Risse
d4beab04bf Correct a typo. 2022-06-01 10:54:53 +02:00
Uwe Risse
fa111e6e87 Remove checkboxes for "Clear DX Call / DX Grid after QSO" and update Release_Notes and NEWS. 2022-06-01 10:14:18 +02:00
Joe Taylor
f1497fbabb Further preparations for making a release candidate WSJT-X 2.6.0-rc1. 2022-05-31 11:12:45 -04:00
Joe Taylor
4664aec597 Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop 2022-05-31 09:42:52 -04:00
Joe Taylor
53bb5268ca Edits to the user Guide: explicit link to the wsjt-devel subscribe page. 2022-05-31 09:40:59 -04:00
Uwe Risse
8164e27909 Some more text for Release_Notes and NEWS. 2022-05-31 15:35:55 +02:00
Uwe Risse
ce13ca8800 Preparations for the release of WSJT-X v2.6.0-rc1. 2022-05-30 13:55:01 +02:00
Uwe Risse
148066135e Update Release_Notes and NEWS to v2.6.0-rc1. 2022-05-30 13:29:40 +02:00
Uwe Risse
cac0ea44ea Optimize method and use it also for displaying bands in BlankLine. 2022-05-08 10:13:29 +02:00
Uwe Risse
c7e7062b8a Ensure that m_freqNominalPeriod and m_currentBandPeriod are also initialized when rig is none or when there was no band change. 2022-05-07 18:35:43 +02:00
Uwe Risse
a6e6b91cee Prevent using the wrong decode highlighting scheme after a band change. 2022-05-07 15:50:51 +02:00
Uwe Risse
f5291f280e Prevent writing of wrong frequencies to all.txt for late decodes and spotting wrong bands to PSK Reporter. 2022-05-07 14:40:14 +02:00
Joe Taylor
bbb280b4f3 Set font used in Active Stations window equal to that in the decoded text windows. 2022-05-05 13:35:27 -04:00
Uwe Risse
b9b3d1d6f5 A slightly better solution to fix the 55 Hz problem with OmniRig v1.19 and later. 2022-05-03 15:46:17 +02:00
Uwe Risse
eef441ec87 Add some documentation. 2022-05-03 13:45:02 +02:00
Uwe Risse
855daf92c4 Fix 55 Hz problem with Omnirig v1.19 and later (until we have a better solution). 2022-05-02 22:06:45 +02:00
Uwe Risse
a469b67afb Repeated highlighting of DX Call to override JTAlert coloring. 2022-05-02 15:54:42 +02:00
Joe Taylor
b100a11835 Activate the ClrAvg button for Echo mode. 2022-04-25 15:54:13 -04:00
Steven Franke
c073fefa74 Merge branch 'arrl-digi-dx' into develop 2022-04-25 07:24:03 -05:00
Steven Franke
062f3a8037 Merge branch 'feat-a7-UR' into develop 2022-04-25 07:23:06 -05:00
Uwe Risse
f5ec31d3a1 Align tooltip formatting. 2022-04-23 12:18:21 +02:00
Uwe Risse
df502242f2 Treat CQ xxxx and CQ xxx like CQ and CQ xx. 2022-04-23 12:02:50 +02:00
Joe Taylor
7cdd2da5d5 Fix CMakeLists.txt so that CPack works. 2022-04-22 17:31:32 -04:00
Joe Taylor
7d8d0b8b94 Integrate the new Echo SNR algorithm into WSJT-X. 2022-04-22 15:34:12 -04:00
Joe Taylor
581ef8b6e5 Final (?) version of test_snr, with echo_snr() moved into wsjt Fortran library. 2022-04-22 13:07:23 -04:00
Joe Taylor
87dcde7564 Move calculation of echo snr into a separate subroutine. 2022-04-22 11:43:28 -04:00
Joe Taylor
03b680dee5 Fix CMakeLists.txt to build program test_snr. 2022-04-22 11:04:56 -04:00
Joe Taylor
3b361b6d24 Tweak subroutine averms(). Add test program test_snr to exercise new algorithm for echo snr. 2022-04-22 11:02:47 -04:00
Joe Taylor
d0dd88de40 Add /echocom2/echo_spread to astro0.f90. 2022-04-22 11:00:42 -04:00
Steven Franke
64a124ff20 Make wspr mode work properly with 3 character callsigns like N1D. 2022-04-22 07:56:02 -05:00
Steven Franke
7021477e21 Merge branch 'arrl-digi-dx' of bitbucket.org:k1jt/wsjtx into arrl-digi-dx 2022-04-22 07:50:15 -05:00
Steven Franke
4331594e4a Make wspr mode work properly with 3 character callsigns like N1D. 2022-04-22 07:50:03 -05:00
Joe Taylor
d1c7efb1aa Protect against bounds error when MAP65 users select too wide a display bandwidth. 2022-04-13 09:56:55 -04:00
Joe Taylor
1da80c0631 Don't include "73" in the test for bProcessMsgNormally. 2022-04-12 13:43:42 -04:00
Joe Taylor
d45d0b6b8f Correct the tests for receiving "R ", etc., in autosequencing logic. 2022-04-12 12:56:04 -04:00
Joe Taylor
ab72238132 Fix the updateRate() logic, and the logic for "ProcessMsgNormally". (Is it right, yet??) 2022-04-11 13:08:16 -04:00
Joe Taylor
cf27347656 Clean up the display of contest names on the 'labDXped' label. 2022-04-11 11:55:05 -04:00
Joe Taylor
400957af0c Revert "Fix some logical issues with auto-sequening with ActiveStations window. Enable ARRL_DIGI label display."
This reverts commit 36d11fc561fe8058950f87c83a29bbc026643394.
2022-04-11 11:04:46 -04:00
Joe Taylor
708342f40a Revert "Correct the way "Rate" is being updated."
This reverts commit 9b8b604a8cb73c754c9c649877a901ba46b0816c.
2022-04-11 11:03:43 -04:00
Joe Taylor
afa020558f Revert "Fix the position of call to UpdateRate()."
This reverts commit fc4a70cf9c261702568376806210e96271f915a0.
2022-04-11 11:03:16 -04:00
Joe Taylor
fc4a70cf9c Fix the position of call to UpdateRate(). 2022-04-11 09:44:14 -04:00
Joe Taylor
9b8b604a8c Correct the way "Rate" is being updated. 2022-04-09 15:04:56 -04:00
Joe Taylor
36d11fc561 Fix some logical issues with auto-sequening with ActiveStations window. Enable ARRL_DIGI label display. 2022-04-09 14:37:24 -04:00
Joe Taylor
70959a9796 Add a spinner control for scaling of I/Q input level. 2022-04-08 11:21:04 -04:00
Joe Taylor
1930271350 Remove a diagnostic qDebug() statement. 2022-04-06 16:05:40 -04:00
Joe Taylor
6e344fdec8 Ermanno, IK7EZN, addition to information sent to azel.dat. 2022-04-06 14:54:23 -04:00
Joe Taylor
a78f5d06c4 Correct the calculation of Age after 0h UTC wrap-around. 2022-04-06 12:21:22 -04:00
Uwe Risse
cb03c837d0 Revert "Prevent the display of lines with negative age values."
This reverts commit 2d906247d7dfab973a3a36cbfbae1ba84de11184.
2022-04-06 10:08:30 +02:00
Uwe Risse
36e54bf3a0 Revert "Add an option to disable the Tune watchdog."
This reverts commit 0b951a05e78947faa58ffa438d22b4feeb3a1672.
2022-04-06 10:06:43 +02:00
Uwe Risse
2d906247d7 Prevent the display of lines with negative age values. 2022-04-05 18:08:27 +02:00
Uwe Risse
cf9233b650 Automatically set the width of the mode buttons depending on the font size. 2022-04-05 11:14:34 +02:00
Uwe Risse
55bc403f83 Add an option to disable the Tune watchdog (part 2). 2022-04-04 17:29:47 +02:00
Uwe Risse
dd81db1e95 Add an option to disable the Tune watchdog. 2022-04-04 17:24:35 +02:00
Uwe Risse
ec1e521ba7 Set minimum width to 0 on MacOS, and limit maximum width to 40 also on Linux. 2022-04-04 17:07:50 +02:00
Uwe Risse
8a6a8e8bdf Limit width of the mode buttons to 40 only for Windows. 2022-04-04 16:18:10 +02:00
Uwe Risse
1068988bf1 Allow a width of 32 to 40 for the mode buttons. 2022-04-04 14:01:33 +02:00
Uwe Risse
74ae5f98de Prevent H button from beeing highlighted when not in Hound mode. 2022-04-04 10:44:06 +02:00
Joe Taylor
30047ecfeb Another try at getting proper value for m_latestDecodeTime. 2022-04-02 13:41:59 -04:00
Joe Taylor
dbeec73e86 Revert "Use current time rather than latest decode time for computing "age". Needs more testing!"
This reverts commit 3a8991ab80cc12ae574d9beb15291461014990d7.
2022-04-02 13:25:25 -04:00
Joe Taylor
3a8991ab80 Use current time rather than latest decode time for computing "age". Needs more testing! 2022-04-02 11:18:18 -04:00
Joe Taylor
95f75c8e49 Fix the logic for what happens when we receive R+rpt after sending RR73. 2022-04-01 10:01:45 -04:00
Joe Taylor
432a501bf6 Re-enable display of country names if ActiveStations window is closed. 2022-03-30 14:23:44 -04:00
Joe Taylor
e9f1cbf375 Add and adjust some Tool Tips in Active Stations window. 2022-03-29 10:55:03 -04:00
Joe Taylor
a9e29327b7 Set a warning color when BandChanges is 8 or higher. 2022-03-28 17:45:03 -04:00
Joe Taylor
675a768de1 Set RxFreq spoinner to freq of selected reply to my CQ. 2022-03-28 17:30:00 -04:00
Joe Taylor
4fb06dda43 Don't put a report into the DxGrid box. Reply to report with R+report. 2022-03-28 17:25:17 -04:00
Joe Taylor
218479f093 Add commas or dots, where appropriate, for display of score. 2022-03-28 11:07:37 -04:00
Joe Taylor
f32f2393ea Copy info to "DX Grid" only if it's a valid grid locator. 2022-03-28 10:48:06 -04:00
Joe Taylor
d399b172a4 Repair the logic for selecting best responder to my CQ. 2022-03-28 10:35:36 -04:00
Joe Taylor
b219b59296 Fix the logic for replying to a CQ responder who sends report instead of grid. 2022-03-27 10:21:22 -04:00
Joe Taylor
2d3914eb2d Reset displayed score when Cabrillo log is reset. 2022-03-27 09:35:28 -04:00
Joe Taylor
c909eb0845 Display accumulated contest score on first display of ActiveStations window. 2022-03-27 09:29:16 -04:00
Joe Taylor
91a39dd0a1 Correct the calculation of points. 2022-03-27 09:14:34 -04:00
k9an
6414a8624b Make minimum SNR -24 dB for a7 decodes. 2022-03-26 18:44:59 -05:00
Joe Taylor
b317ea241b Finish implementing updates to score, rate, and band changes. Needs testing! 2022-03-26 17:27:26 -04:00
Joe Taylor
f43c1e97ae Add labels for Band Changes, Rate, and Score to the ActiveStations window. 2022-03-26 16:15:04 -04:00
Joe Taylor
3c3c450839 Fix the logic about display of calls already worked on band. Update ActiveStations when cbReadyOnly is toggled. 2022-03-26 10:42:01 -04:00
Joe Taylor
02961a2ccc Do not display in ActiveStations calls already worked on current band. 2022-03-25 10:11:20 -04:00
Joe Taylor
c5b6a6ae45 Don't display stations already worked on current band. 2022-03-23 16:12:12 -04:00
Joe Taylor
1cee98162a Test the ActiveStations pointer before using it. Add some Tool Tips. 2022-03-23 15:39:32 -04:00
Joe Taylor
4957face2f Display points if in FT4 or FT8 and ActiveStations is visible. 2022-03-22 14:35:42 -04:00
Joe Taylor
190dca5501 Do not display the "........" bands indicators. 2022-03-22 13:27:24 -04:00
Joe Taylor
be2ce2a6c4 Remove stray 'a7' flags from decodes when displaying points. 2022-03-22 13:03:51 -04:00
Joe Taylor
ffe8927a30 Cleanup of "workedB4" interaction with ActiveStations. 2022-03-22 12:41:08 -04:00
Joe Taylor
f3ee013e43 Working toward display of points in left decode window. 2022-03-22 11:22:56 -04:00
Joe Taylor
f47596b2eb Make the "Ready only" box sticky on program restart. 2022-03-21 15:52:25 -04:00
Joe Taylor
d6208b43e2 Several cleanups and fixes for ActiveStations features. 2022-03-21 15:43:58 -04:00
Joe Taylor
ae217cb2d9 Fix the extraction-of-callsign error caused by movinf asterisk. 2022-03-20 14:25:23 -04:00
Joe Taylor
aa9cc8e885 Move asterisk; add "Ready on;y" checkbox; some code cleanup. 2022-03-20 14:16:20 -04:00
Uwe Risse
edd7fadd5a Some changes to the mode buttons. 2022-03-20 18:30:55 +01:00
Joe Taylor
aceac2ccb5 Insert asterisk only if age==0. 2022-03-20 09:11:52 -04:00
Joe Taylor
07ab7de018 Fix the handling of ActiveStation line with pre-pended asterisk. 2022-03-20 08:59:58 -04:00
Joe Taylor
653ea56a77 Display all current calls with grids. Add asterisk for those ready to call. 2022-03-19 19:42:29 -04:00
Joe Taylor
6ca1b14477 Remove a diagnostic print. 2022-03-19 16:54:09 -04:00
Joe Taylor
304a04328a Erase ActiveStations only once per Rx sequence. 2022-03-19 16:53:13 -04:00
Joe Taylor
db33624da1 Erase ActiveStations window when decoding starts. 2022-03-19 16:37:19 -04:00
Joe Taylor
f6c608b227 Don't try to erase if widget was not started! 2022-03-19 16:15:51 -04:00
Joe Taylor
ab48d77d0f Display calls in ActiveStations only when they are "ready to call". Erase on band change. 2022-03-19 16:05:30 -04:00
Joe Taylor
fd7caa8cd6 Fix the setting of TxFirst after click on ActiveStations window. 2022-03-19 14:29:52 -04:00
Joe Taylor
bc92cd54f3 Fix the connect() statement in ActiveStations. 2022-03-19 14:06:46 -04:00
Joe Taylor
f3e838cdc6 Max Pts ==> Max Dist, and allow with non-contest messages. 2022-03-19 09:07:06 -04:00
Joe Taylor
e366b0a6af Don'r display in ActiveStations a call already worked on this band. 2022-03-18 14:52:09 -04:00
Joe Taylor
48312bc620 Moew work on ActiveStations window features. 2022-03-18 14:18:49 -04:00
Joe Taylor
6e193ab0e1 Add bands worked and other stuff to ActiveStations display. 2022-03-18 11:55:44 -04:00
Joe Taylor
2c0d05e05d More work in progress on funcrions in ActiveStations window. 2022-03-18 10:39:08 -04:00
Joe Taylor
5668e74f61 More work on the ActiveStations features. 2022-03-17 16:43:58 -04:00
Joe Taylor
f3bac687ba Clean up the ActiveStations window. 2022-03-17 12:09:16 -04:00
Joe Taylor
15e33d22af More work in progress on the ActiveStations window. 2022-03-17 09:36:59 -04:00
Joe Taylor
ceb13110c5 Use monospace font in ActiveStations window. 2022-03-16 15:33:21 -04:00
Joe Taylor
e732c5ba62 Work in progress on the ActiveStations window. 2022-03-16 14:37:25 -04:00
Joe Taylor
38e65b747a Display active stations in decreasing order of points. 2022-03-16 13:05:20 -04:00
Joe Taylor
689b040cc5 Make ARRL_Digi_Update() into a separate function. 2022-03-16 11:50:37 -04:00
Joe Taylor
9761c10648 Make ARRL_Digi_Display() [executed at end of decodeDone()] a separate function. 2022-03-16 11:35:40 -04:00
Joe Taylor
04836a447d Much of the code for helping S+P in ARRL_DIGI contest is now in place. More to come! 2022-03-16 11:26:11 -04:00
Joe Taylor
38174ed6dc Use "ARRL_DIGI" rather than "NA_VHF". Needs testing! 2022-03-14 15:59:49 -04:00
Joe Taylor
d96a1a1173 Starting to implement QMaps for activeStations and recentStations. 2022-03-14 14:18:53 -04:00
Joe Taylor
c8574b5890 Make display of Active Stations window sticky on program restart. 2022-03-14 10:12:22 -04:00
Joe Taylor
66d1497558 Revert "Starting the transition from RTTY Roundup to ARRL International Digital Contest."
This reverts commit 114aeda3f8b5c9613b9e5af31e76b0f86ae7cbe2.
2022-03-14 09:59:09 -04:00
Joe Taylor
22b86544be Revert "Change some labels from "RTTY Roundup" to "ARRL Digi". *** May not keep this! ***"
This reverts commit b12b1dec39fa9da0bb4d98caef78bae577d65fc3.
2022-03-14 09:56:07 -04:00
Joe Taylor
b12b1dec39 Change some labels from "RTTY Roundup" to "ARRL Digi". *** May not keep this! *** 2022-03-13 21:44:31 -04:00
Joe Taylor
e529ad8df9 Change name for new window: ARRL_Digi ==> Active Stations 2022-03-12 09:55:50 -05:00
Joe Taylor
114aeda3f8 Starting the transition from RTTY Roundup to ARRL International Digital Contest. 2022-03-12 09:51:50 -05:00
Joe Taylor
e8c08c24a5 Change the source file names from arrl_digi.* to activeStations.* 2022-03-11 15:12:32 -05:00
Joe Taylor
f180d30126 More changes toward an "Active Stations" window. 2022-03-11 15:03:16 -05:00
Joe Taylor
4e96e58d57 Starting to change arrl_digi to activeStations. 2022-03-11 14:58:13 -05:00
Joe Taylor
f26b1c424f Starting to make it an "Active Stations" window. 2022-03-11 14:46:58 -05:00
Joe Taylor
658f23b813 Starting to implement a new "ARRL_Digi" window. 2022-03-11 13:11:39 -05:00
Joe Taylor
bc9e8f89bc Remove the SNR adjustment for Q65 averaged decodes. It does not seem to work as expected. 2022-03-08 11:48:54 -05:00
Joe Taylor
d6bcf9767a Replace a missing function declaration. 2022-03-08 11:48:18 -05:00
Joe Taylor
df445297d2 Merge branch 'arrl-digi-dx' of bitbucket.org:k1jt/wsjtx into arrl-digi-dx 2022-03-07 11:47:47 -05:00
Steven Franke
283d7d32e4 Fix a bounds error. 2022-03-07 11:46:29 -05:00
Uwe Risse
0b951a05e7 Add an option to disable the Tune watchdog. 2022-03-07 10:50:21 +01:00
Uwe Risse
e081c15716 Fix a typo in the ToolTip text 2022-03-06 17:45:59 +01:00
Uwe Risse
4e7d282980 Code cleanup. Remove one more line to prevent a compilation error. 2022-03-06 14:49:35 +01:00
Joe Taylor
c952bee07e Allow "CQ: Max Pts" only in "NA VHF, ARRL Digi-DX" contest mode. 2022-03-04 16:22:18 -05:00
Joe Taylor
1af4e46793 Code cleanup. We're not using any text highlighting in the CQ: comboBox. 2022-03-04 14:25:29 -05:00
Joe Taylor
ce5ecaf99d Tweak the ToolTip text. 2022-03-03 15:00:38 -05:00
Joe Taylor
7d66232ec7 Add a ToolTip for the new ComboBox selecting CQ rsponse type. 2022-03-03 14:44:28 -05:00
Joe Taylor
5e9645091d Perhaps "CQ: Max Pts" is working, now? Time for some tests. 2022-03-03 14:21:03 -05:00
Joe Taylor
16d97aad3b Now builds OK,but mods for "CQ: Max Pts"not yet finished. 2022-03-02 14:12:07 -05:00
Steven Franke
561240763c Fix a bounds error. 2022-03-02 11:15:59 -06:00
Joe Taylor
c5bc704342 Starting a test implementation of "CQ: Max Pts". More to come! 2022-03-02 07:51:51 -05:00
Steven Franke
33d3955086 Make SNR calculation for a7 decodes consistent with that of regular decodes. 2022-02-26 11:06:37 -06:00
Joe Taylor
5471cb3534 Don't attempt a7 decodes for messages with /, <, or directed CQ. 2022-02-18 14:57:56 -05:00
Joe Taylor
8e6f027c5e Oops! I committed the wrong version. 2022-02-17 10:22:18 -05:00
Joe Taylor
5e1795ff5c Fix the issue with using 'QQ0XYZ' in ft8_a7.f90. 2022-02-17 10:17:47 -05:00
Joe Taylor
5dc70b18db Reject a7 decodes of the form "CQ <std_call>" with no grid. 2022-02-15 16:28:19 -05:00
Uwe Risse
2545103ba5 Fix implicit-const-int-float-conversion error (by JG1UAA) 2022-02-11 11:00:21 +01:00
Uwe Risse
2e3cec2201 Fix "unable to find library -lwsjt_fort_omp" on OpenMP-unsupported-platform (by JG1UAA) 2022-02-11 10:52:20 +01:00
Joe Taylor
cab1bb8aed Use BIND(C) for gen65.f90, and pass strings in/out as character*1 arrays. Please test on macOS! 2022-01-31 19:18:46 -05:00
Uwe Risse
22b580af56 Use the sixth mode button for JT65 instead of FST4. 2022-01-30 17:40:26 +01:00
Joe Taylor
5b97226b33 Reinstate the cmake option for WSJT_QDEBUG_IN_RELEASE. I like having it. 2022-01-27 15:00:00 -05:00
Joe Taylor
7a6f0344da Merge branch 'feat-a7-UR' of bitbucket.org:k1jt/wsjtx into feat-a7-UR 2022-01-27 11:00:54 -05:00
Joe Taylor
d023c80109 Fix all calls from GUI to Fortran with hidden string-length arguments. 2022-01-27 10:58:04 -05:00
Joe Taylor
56414dda30 Remove jtmsg.f90 from CMakeLists.txt, it's no longer used. 2022-01-27 10:55:19 -05:00
Steven Franke
a9f895ca6b Fix the failure to auto-sequence when a decode contains a low-confidence a-priori designator, such as "? a3". 2022-01-27 09:29:36 -06:00
Steven Franke
78cd7824ae Fix the failure to auto-sequence when a decode contains a low-confidence a-priori designator, such as "? a3". 2022-01-27 09:23:32 -06:00
Steven Franke
1ca81f4610 Revert "Repair a defect where Auto Seq failed for messages with apriori code."
This reverts commit 5118e64fde9cffff7442c69c33a9b27c10752a07.
2022-01-27 09:23:00 -06:00
Joe Taylor
d3020efdef Remove prototype declaration for a function no longer used. 2022-01-27 10:19:14 -05:00
Joe Taylor
540d16302e Merge branch 'feat-a7-UR' of bitbucket.org:k1jt/wsjtx into feat-a7-UR 2022-01-27 09:01:34 -05:00
Uwe Risse
5118e64fde Repair a defect where Auto Seq failed for messages with apriori code. 2022-01-26 18:29:08 +01:00
Joe Taylor
fd6ebff4d9 Better User Guide instructions for starting WSJT-X with interface in a different language. 2022-01-26 10:32:26 -05:00
Joe Taylor
76a1dd3c44 Add Russian (ru) to the list of available user-interface languages. 2022-01-26 10:32:15 -05:00
Joe Taylor
9c58135868 Add Russian translation for user interface. Thanks to Victor Kosobokov, R3BB. 2022-01-26 10:32:00 -05:00
Joe Taylor
0c98c2d2ff Better User Guide instructions for starting WSJT-X with interface in a different language. 2022-01-26 10:21:19 -05:00
Joe Taylor
81b4659de9 Add Russian (ru) to the list of available user-interface languages. 2022-01-26 10:05:49 -05:00
Joe Taylor
b10aa136d4 Add Russian translation for user interface. Thanks to Victor Kosobokov, R3BB. 2022-01-26 09:57:38 -05:00
Uwe Risse
1ff74b2cd5 Allow auto reply for non-CQ messages when Hold Tx Freq is enabled 2022-01-24 20:17:48 +01:00
Uwe Risse
0309b4f826 Prevent self-spotting when running multiple instances 2022-01-24 17:50:43 +01:00
Uwe Risse
35df81a858 Revert "Prevent self spotting when running multiple instances"
This reverts commit 96974e0537667d88feb87c66c9455ca64a78987c.
2022-01-24 17:48:58 +01:00
Uwe Risse
8545cdb96d Change QThread from HighPriority to TimeCriticalPriority 2022-01-23 09:19:28 +01:00
Uwe Risse
fde103da2d Revert "Fix the dropped audio problems on Windows"
This reverts commit 194ad5c7b4b6e0d38a375273e562dc49aaba6a8a.
2022-01-23 09:14:39 +01:00
Uwe Risse
194ad5c7b4 Fix the dropped audio problems on Windows 2022-01-22 09:43:15 +01:00
Uwe Risse
5c09e55351 Correct highlighting of messages with myCall and 73 2022-01-21 16:49:03 +01:00
Uwe Risse
5c1b7a8d8f Adjustments for correct highlighting of messages with 73 2022-01-21 16:45:48 +01:00
Uwe Risse
c84aac0c62 Correct a minor inconsistency 2022-01-18 17:37:49 +01:00
Joe Taylor
12cbf366fe Merge branch 'feat-a7-UR' of bitbucket.org:k1jt/wsjtx into feat-a7-UR 2022-01-18 11:17:07 -05:00
Joe Taylor
a3fa2cef88 Correction to User Guide addition: use bold-face where needed. 2022-01-18 11:16:03 -05:00
Uwe Risse
4b6886cdd0 Add options to the writing of ALL.TXT 2022-01-18 17:10:41 +01:00
Joe Taylor
7081f9cf9b In User Guide, clarify that using F4 to re-transmit Tx4 requires "Alternate F1-F6 bindings". 2022-01-18 11:09:53 -05:00
Uwe Risse
151f0f0ab3 Set Tune watchdog to 120 seconds 2022-01-18 10:18:10 +01:00
Uwe Risse
47b5cc21f2 Merge remote-tracking branch 'origin/feat-UR' into feat-a7-UR
* origin/feat-UR:
  Add optional highlighting of messages with 73 or RR73
2022-01-17 21:08:48 +01:00
Uwe Risse
ea3a6b272a Merge commit '947ab4eb2570b984c2bd950ff1b518ce25d84965' into feat-a7-UR
* commit '947ab4eb2570b984c2bd950ff1b518ce25d84965':
  Add features Highlight DX Call / DX Grid and Clear DX Call / DX Grid after QSO
2022-01-17 21:08:38 +01:00
Uwe Risse
f7dd8a86a8 Merge commit 'fb4eb56508e24da65fac00e6a5892a768a4df20b' into feat-a7-UR
* commit 'fb4eb56508e24da65fac00e6a5892a768a4df20b':
  Minor tooltip cleanup
2022-01-17 21:08:20 +01:00
Uwe Risse
de2ba14ca0 Merge commit '11b23ae9cd4ec961b9a35571d428a6f27b2eef18' into feat-a7-UR
* commit '11b23ae9cd4ec961b9a35571d428a6f27b2eef18':
  A more balanced stretching
2022-01-17 21:07:56 +01:00
Joe Taylor
6266b8d80e Merge branch 'feat-a7-UR' of bitbucket.org:k1jt/wsjtx into feat-a7-UR 2022-01-11 16:01:19 -05:00
Joe Taylor
c26aa9160b Go back to original settings for sync threshold and decode acceptance criteria. 2022-01-11 11:55:26 -05:00
Joe Taylor
fc40770960 Revert "Improve ft8 decoder sensitivity for Normal and Deep settings"
This reverts commit 3e49dfacc5c495492bb327e3cc8bdc42b98aa3f6.
2022-01-11 11:54:36 -05:00
Uwe Risse
3a765e3b12 Add optional highlighting of messages with 73 or RR73 2022-01-11 14:35:15 +01:00
Uwe Risse
947ab4eb25 Add features Highlight DX Call / DX Grid and Clear DX Call / DX Grid after QSO 2022-01-11 10:51:48 +01:00
Uwe Risse
fb4eb56508 Minor tooltip cleanup 2022-01-10 20:16:54 +01:00
Uwe Risse
11b23ae9cd A more balanced stretching 2022-01-10 19:59:28 +01:00
Uwe Risse
39fecf92c9 Fix a typo (needed for compilation) 2022-01-10 19:54:04 +01:00
Joe Taylor
9d7f323231 Merge branch 'feat-UR' into feat-a7-UR 2022-01-10 11:39:53 -05:00
Uwe Risse
d992c9bbaf Correct layoutColumnStretch 2022-01-10 15:30:22 +01:00
Uwe Risse
39b63f4190 Add mode buttons to the mainwindow 2022-01-10 13:54:48 +01:00
Uwe Risse
9ffa81e59a Add tune watchdog (60s) 2022-01-10 11:26:03 +01:00
Uwe Risse
96974e0537 Prevent self spotting when running multiple instances 2022-01-10 11:20:55 +01:00
Uwe Risse
b68e90ae88 Slightly reduce number of false decodes 2022-01-10 11:04:11 +01:00
Uwe Risse
ab89d70b6a Improve ft8 decoder sensitivity 2022-01-10 10:41:23 +01:00
Uwe Risse
3e49dfacc5 Improve ft8 decoder sensitivity for Normal and Deep settings 2022-01-10 10:34:08 +01:00
Joe Taylor
5797e51fe3 Protect against a blank message. 2022-01-09 09:46:33 -05:00
Joe Taylor
d774733636 Set build_type to devel (RC 0), not RC 1. 2022-01-08 15:09:28 -05:00
Joe Taylor
500e565d77 For now, at least, revert to NFILT=4000 in subtractft8.f90. 2022-01-08 14:20:55 -05:00
Joe Taylor
99861082f2 Merge branch 'feat-ft8-q3' of bitbucket.org:k1jt/wsjtx into feat-ft8-q3 2022-01-08 10:18:03 -05:00
Joe Taylor
a3dedc81de Merge branch 'develop' into feat-ft8-q3 2022-01-07 13:07:18 -05:00
Joe Taylor
6b2df37137 Merge branch 'develop' into feat-ft8-q3 2022-01-07 11:38:10 -05:00
Joe Taylor
98b3cd9a05 W3SZ patch: Initialize AP params and set npasses=2 before first call to q65_dec0(). 2022-01-07 09:59:15 -06:00
Steven Franke
1a794c7ce9 Change version number to 2.6.0-rc1. 2022-01-07 09:53:59 -06:00
Joe Taylor
82d9ae9629 Merge branch 'master' into feat-ft8-q3 2022-01-06 11:03:32 -05:00
Uwe Risse
d28164e92a Set version number to 2.5.4 2021-12-28 10:31:58 +01:00
Uwe Risse
e2f601a01c Update Release Notes for release 2.5.4. 2021-12-28 10:23:46 +01:00
Uwe Risse
204672375b Fix the nonstandard callsign bug in v.2.5.3 2021-12-28 10:11:57 +01:00
Uwe Risse
7e8a405dc6 Revert "Fix the nonstandard callsign bug in v2.5.3."
This reverts commit b68c544ef7387c9c1659e1a6955db8d3accf37f9.
2021-12-28 10:08:48 +01:00
Joe Taylor
b68c544ef7 Fix the nonstandard callsign bug in v2.5.3. 2021-12-27 12:26:22 -05:00
Joe Taylor
d99c6adf4d Allow MAP65 "Best-fit Delta phi" solution to be displayed to the user. 2021-12-27 12:24:42 -05:00
Joe Taylor
69f9ec89d4 Update Release Notes one more time. 2021-12-07 10:33:39 -05:00
Joe Taylor
48baf47a88 Update Release Notes for release 2.5.3. 2021-12-07 10:32:11 -05:00
Joe Taylor
53b280ea53 Update CTY.DAT, tnx to AD1C 2021-12-07 10:31:02 -05:00
Joe Taylor
a12a72836a Update User Guide for the $DXCALL macro facility. 2021-12-07 10:13:48 -05:00
Joe Taylor
f66858a813 Add a G4WJS memorial to the About window. 2021-12-07 10:11:09 -05:00
Joe Taylor
a91dbe87be More edits. 2021-12-06 17:35:57 -05:00
Joe Taylor
77704621aa Tributes to Bill Somerville, G4WJS. Needs further editing. 2021-12-06 16:22:04 -05:00
Joe Taylor
e1928f3206 Add ;$ characters to message_alphabet in Configuration.cpp; move $ to end in same regexp in mainwindow.cpp. 2021-12-06 16:00:28 -05:00
Joe Taylor
adcc8c4bd7 Add pre-edited tributes to Bill. 2021-12-06 12:41:41 -05:00
Joe Taylor
43c0752140 Add the $DXCALL macro capability. 2021-12-06 11:12:10 -05:00
Bill Somerville
3e43e57858
Ensure MAIN VFO is used for Rx on rigs that require it 2021-11-12 13:26:31 +00:00
Joe Taylor
6020552473 Varioous adjustments to a7 decoding for FT8. 2021-11-11 12:28:24 -05:00
Joe Taylor
c13407612e Temporary save of changes related to a7 decodes. 2021-11-10 10:44:56 -05:00
Bill Somerville
e93cd45d19
Release note update 2021-11-10 11:00:09 +00:00
Bill Somerville
d541286ba2
Repair a defect in reporting low confidence decodes & assoc issues 2021-11-10 10:55:22 +00:00
Bill Somerville
f68a4bb1a1
Bump revision 2021-11-10 10:53:05 +00:00
Joe Taylor
21f8303511 W3SZ patch: Initialize AP params and set npasses=2 before first call to q65_dec0(). 2021-11-09 11:00:55 -05:00
Bill Somerville
669b3d972e
Remove unintended debug trace 2021-11-07 00:24:22 +00:00
Joe Taylor
9aa4786f11 Re-organize some of the FT8 a7 code. 2021-11-05 15:57:24 -04:00
Joe Taylor
4a68d3c4cf Adjustments to FT8 a7 code. Still more to come ... 2021-11-05 09:21:49 -04:00
Joe Taylor
393265a0e0 Working code for FT8 'a7' decodes. Still needs some cleanup. 2021-11-04 11:55:15 -04:00
Bill Somerville
68dc11b291
Merge branch 'release-2.5.2' 2021-11-03 23:53:01 +00:00
Bill Somerville
05f69c99b2
Updated CTY database, Big CTY 2021-10-28, tnx to Jim, AD1C 2021-11-03 23:47:29 +00:00
Bill Somerville
1f2346e969
Release note updates 2021-11-03 23:45:26 +00:00
Joe Taylor
5b406effcf Minor code cleanup. 2021-11-02 16:07:52 -04:00
Joe Taylor
77c532b1a3 Always use Deep for manual Q65 decodes (lagain==true). 2021-11-02 15:28:59 -04:00
Joe Taylor
8097f25c9c Make "Fast/Normal/Deep" a sticky setting in Q65 mode. 2021-11-02 15:28:52 -04:00
Joe Taylor
7e078c805f Fix the issue noted by N9JIM by allowing decodes near frequencies already searched, but not displaying dupes. 2021-11-02 15:17:51 -04:00
Joe Taylor
bcd42a7677 Another update to Release Notes. 2021-11-02 11:25:46 -04:00
Joe Taylor
32a3a75bb5 Revert "Add 'TNX 73 GL' to the list of possible messages for q3 decodes."
This reverts commit 8f2dc74b5254b9fb1f3ff139f095e31b41c79e31.
2021-11-02 11:08:44 -04:00
Joe Taylor
4b6ad3857a Always use Deep for manual Q65 decodes (lagain==true). 2021-11-01 14:57:52 -04:00
Joe Taylor
56ca761ac9 Make "Fast/Normal/Deep" a sticky setting in Q65 mode. 2021-11-01 14:12:32 -04:00
Joe Taylor
994e00c5d2 Adjust the and-correction numbers for averaged Q65 decodes. 2021-11-01 10:22:41 -04:00
Bill Somerville
1205acb7e0
Remove unnecessary 30 character limit if TxN line edits 2021-10-30 16:08:18 +01:00
Bill Somerville
488c42b8a2
Parse "dx-call-1 RR73; dx-call-2 <de-call> +nn" messages in regular modes 2021-10-29 22:27:32 +01:00
Joe Taylor
93ade73af7 Remove diagnostic writes. Include subtraction of a7 decodes. 2021-10-29 16:22:48 -04:00
Joe Taylor
c30b91cb69 Correct a format. 2021-10-29 15:31:22 -04:00
Joe Taylor
f13e318204 Improvements to a7 decoding for FT8. 2021-10-29 15:28:42 -04:00
Joe Taylor
48b1ad1e46 Send xdt and xsnr from ft8_dec7 to ft8_decode. 2021-10-28 15:19:40 -04:00
Joe Taylor
2b25c51169 First fully working version of 'a7' (q3-style) decoding for FT8. 2021-10-28 15:01:00 -04:00
Joe Taylor
5a0cb0f0a0 Fix a bug in gen_ft8wave.f90 that failed to update pulse and ctab when sample rate changes. 2021-10-28 11:47:00 -04:00
Bill Somerville
c0a5bad58a
Fail gracefully if network rig connection not established 2021-10-28 11:32:37 +01:00
Bill Somerville
9d31ec843e
Release note updates 2021-10-27 19:21:53 +01:00
Bill Somerville
1bb4dffb77
Auto log behaves as prompt to log when not in contest modes 2021-10-27 17:35:08 +01:00
Joe Taylor
f51a7d4f7d Correct a longstanding error in values of "nw()" returned by subroutine split77(). 2021-10-27 12:09:23 -04:00
Joe Taylor
901e9dbc38 Working program test_ft8q3 and subroutine ft8q3(). 2021-10-26 16:40:14 -04:00
Bill Somerville
5806daadc5
Add EME tip to User Guide for CW Doppler shift correction 2021-10-26 20:59:34 +01:00
Joe Taylor
384899754f Add initial version of test_ft8q3.f90. 2021-10-26 12:31:24 -04:00
Joe Taylor
0ed62e4f80 Save test routine ft8q3.f90 -- first, as a main program. 2021-10-26 12:14:32 -04:00
Bill Somerville
7483f96759
Release note updates 2021-10-26 14:29:51 +01:00
Joe Taylor
81fcd574cf First draft of Release Notes for v2.5.2. 2021-10-26 09:22:24 -04:00
Joe Taylor
a5be2fb4ef TEMPORARY: save downsampled data at f0=1500 Hz, for testing ft8q3. 2021-10-26 08:58:06 -04:00
Joe Taylor
20ef6a529a Merge branch 'release-2.5.2' of bitbucket.org:k1jt/wsjtx into release-2.5.2 2021-10-25 11:52:12 -04:00
Joe Taylor
8f2dc74b52 Add 'TNX 73 GL' to the list of possible messages for q3 decodes. 2021-10-25 11:51:11 -04:00
Bill Somerville
677971ae38
Merge branch 'release-2.5.2' of bitbucket.org:k1jt/wsjtx into release-2.5.2 2021-10-25 16:48:17 +01:00
Bill Somerville
e9e1688ad8
Updated Chinese and Hong Kong UI translations, tnx Sze-To, VR2UPU 2021-10-25 16:45:00 +01:00
Joe Taylor
c56926595a Fix a problm with q3 decodes of "<call1> call2" messages, e.g., <KA1GT> DL/G3WDG. 2021-10-25 11:14:54 -04:00
Joe Taylor
00b39c8c37 Merge branch 'release-2.5.2' of bitbucket.org:k1jt/wsjtx into release-2.5.2 2021-10-25 11:14:30 -04:00
Joe Taylor
7c90f53128 Fix three typos in User Guide. Thanks to Frode, LA6VQ! 2021-10-25 09:41:29 -04:00
Bill Somerville
356bc10d84
Repair long-standing regression where tail-ended Tx2 reports missed 2021-10-23 23:54:36 +01:00
Bill Somerville
175092f536
Environment variable to add extra data to azel.dat
The  new  environment  variable   WSJT_AZEL_EXTRA_LINES  when  set  to
positive integer value  adds up to that number of  extra data lines to
the azel.dat  file. Currently only  one extra line is  supported which
contains the following data: Dpol, MNR, Dgrd. Where the values are the
same as  displayed in the  astronomical data window. I.e.  EME spatial
polarization offset in degrees, maximum non-reciprocity of the PATH in
dB, and the estimated signal  degradation relative to best possible in
dB.
2021-10-23 12:03:33 +01:00
Bill Somerville
a7e662f227
More UI width fine tuning for macOS 2021-10-23 01:12:24 +01:00
Bill Somerville
d9bdac6bd1
Fine tuning main window width for macOS 2021-10-23 00:37:14 +01:00
Bill Somerville
ffe11cbb81
Repair excess main window width regression 2021-10-23 00:01:50 +01:00
Joe Taylor
385f0e7b62 Activate the W3SZ code for 'q5' decodes only when max_drift = 50. 2021-10-22 10:22:23 -04:00
Bill Somerville
a969f304ab
Bump version 2021-10-22 15:11:17 +01:00
Bill Somerville
f30d2c3085
Merge branch 'release-2.5.1' 2021-10-21 15:54:14 +01:00
Bill Somerville
6f29b60f09
Release date change 2021-10-21 15:37:23 +01:00
Joe Taylor
ec949b33ba Remove a near-duplicate entry from Release Notes. 2021-10-21 10:27:46 -04:00
Bill Somerville
00406acf38
Merge branch 'release-2.5.1' of bitbucket.org:k1jt/wsjtx into release-2.5.1 2021-10-21 15:23:10 +01:00
Bill Somerville
7b9f3e491d
Release note updates 2021-10-21 15:21:02 +01:00
Joe Taylor
9b765dd79f Merge branch 'release-2.5.1' of bitbucket.org:k1jt/wsjtx into release-2.5.1 2021-10-21 10:19:18 -04:00
Joe Taylor
8b157a757e Further edits of the Release Notes. 2021-10-21 10:18:41 -04:00
Bill Somerville
634943b6cf
Improve UI horizontal stretch behaviour 2021-10-21 15:16:45 +01:00
Bill Somerville
7c93215c50
User Guide updates and new contributor acknowledgement 2021-10-21 15:15:02 +01:00
Joe Taylor
3de683c03b Another tweak to Release Notes. 2021-10-21 09:54:47 -04:00
Joe Taylor
a33887ea4a Merge branch 'release-2.5.1' of bitbucket.org:k1jt/wsjtx into release-2.5.1 2021-10-21 09:22:21 -04:00
Bill Somerville
61ceb3f616
Release note for 2.5.1 2021-10-21 03:14:32 +01:00
Bill Somerville
b9836fce9c
Merge branch 'feat-Q65-aircraft-scatter-AFC' into release-2.5.1 2021-10-21 02:48:12 +01:00
Bill Somerville
f7996de670
Merge branch 'release-2.5.1' into feat-Q65-aircraft-scatter-AFC 2021-10-21 02:44:15 +01:00
Bill Somerville
d732537b59
Release prep 2021-10-21 00:43:01 +01:00
Bill Somerville
d083346597
Add new UI translation to build, Traditional Chinese 2021-10-21 00:41:49 +01:00
Bill Somerville
12c15e584b
Updated UI translation files 2021-10-20 20:33:59 +01:00
Bill Somerville
a99e0a79eb
Updated Japanese UI translations, tnx Oba-san, JA7UDE 2021-10-20 20:29:04 +01:00
Bill Somerville
8cb125ccd8
Updates Catalan UI translation, tnx Xavi, EA3W 2021-10-20 20:26:04 +01:00
Bill Somerville
f37c39df48
Traditional Chinese UI translation updates, tnx Steven, BU2EL 2021-10-20 20:25:09 +01:00
Bill Somerville
c7e2c4c9f5
Traditional Chinese UI translation, tnx Steven, BU2EL 2021-10-20 20:18:34 +01:00
Bill Somerville
07b9753726
Updated CTY database, Big CTY 2021-10-13, tnx to Jim, AD1C 2021-10-20 19:46:47 +01:00
Bill Somerville
30e11106c8
Further refinements to complex to real FFT initialization 2021-10-20 19:28:58 +01:00
Joe Taylor
05a11abbb2 First cut at Release Notes for WSJT-X 2.5.1. 2021-10-20 13:49:49 -04:00
Bill Somerville
7695b7d331
Merge branch 'release-2.5.1' of bitbucket.org:k1jt/wsjtx into release-2.5.1 2021-10-20 18:02:53 +01:00
Bill Somerville
595ef8e9db
Repair a long-standing defect that could cause access violations
This was revealed when building with gcc-fortran v11 and using
reference spectrum correction.
2021-10-20 18:00:32 +01:00
Joe Taylor
83c1a85226 In Q65 mode, allow q2 decodes when MyCall is compound or nonstandard. 2021-10-20 12:51:18 -04:00
Joe Taylor
2fb5d22e6f Fix the logic for setting ibwa, ibwb, and maxiters in Q65 "Deep" decoding attempts. 2021-10-20 11:18:31 -04:00
Joe Taylor
12efb098bb Fix the problem with q3 decodes when DxCall is compount and DxGrid is present. 2021-10-19 14:43:17 -04:00
Joe Taylor
ef438919e4 Enable q3 decoding for Q65 messages containing a nonstandard callsign. 2021-10-19 11:44:20 -04:00
Joe Taylor
089e0b9ebe Protect against NaN in savg() after switch from Q65 to JT65 mode. 2021-10-19 10:01:47 -04:00
Joe Taylor
226c59982b Fix the calls to unpack77 in q65_decode.f90 so that they set nrx=1. 2021-10-18 13:24:29 -04:00
Joe Taylor
6c3fa97185 Generate the correct Tx2 message for JT65 when one callsign is compound. 2021-10-18 11:44:03 -04:00
Bill Somerville
ece6ebae80
Repair standard message generation using non-standard calls with Q65 2021-10-18 14:32:44 +01:00
Bill Somerville
34753ca613
Repair issue with DE & DX call not being added to hash tables in Q65 2021-10-17 20:26:57 +01:00
Bill Somerville
e92ec7bf9f
Bump revision and update nag message 2021-10-12 13:19:56 +01:00
Bill Somerville
1e2ceea199
Support for 10GHz Aircraft Scatter with Q65, tnx Rex, VK7MO & Roger, W3SZ
See: Rex Moncur, VK7MO et al "10 GHz Terrestrial with Q65" DUBUS Vol
1/2021 page 64.
2021-10-11 19:56:08 +01:00
Bill Somerville
b1c272d7b6
Updated instructions to build portaudio with ASIO support 2021-10-05 19:41:39 +01:00
Joe Taylor
34a6af679a
Tweak Section 10.7 of User Guide to allow display of Wide Graph Controls. 2021-10-05 19:41:39 +01:00
Alex Lelievre
bd8992f6f2
This fixes the problem with gfortran compiler receiving the -Xclang option on Mac when it shouldn't. 2021-10-05 19:41:29 +01:00
Bill Somerville
00eb4d59ca
User Guide update removing 32-bit Intel Linux references 2021-10-05 19:41:18 +01:00
Bill Somerville
f95b59b1cd
Merge branch 'release-2.5.0' 2021-09-26 10:12:42 +01:00
Bill Somerville
c829bcfe27
Description file updates 2021-09-25 20:42:31 +01:00
Bill Somerville
76620d3e32
Release note and readme file updates 2021-09-25 17:06:41 +01:00
Bill Somerville
4cd6665ea3
Release note updates 2021-09-25 11:38:32 +01:00
Bill Somerville
59fbb6181b
Release note updates and release preparation 2021-09-25 11:19:35 +01:00
Bill Somerville
060739aa15
Updated CTY.DAT database, 6-Sept-2021 version, tnx to Jim, AD1C 2021-09-25 10:52:05 +01:00
Bill Somerville
917acbb97f
Ensure that CALL3.TXT is not deleted while updating the file
This is necessary so that symlinks that may be used to share CALL3.TXT
between WSJT-X  instances and with  and MAP65  do not get  broken when
adding new entries in either application.
2021-09-20 17:38:09 +01:00
Joe Taylor
f884f77321 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-09-14 14:11:08 -04:00
Joe Taylor
dbb9eca66e Allow msk144sim[.exe] to generate files with length 5, 10, 15, and 30 s. 2021-09-14 14:09:54 -04:00
Bill Somerville
c764a5305e
Remove a, hopefully, unnecessary unconditional CAT frequency set
this frequency  set was  causing CAT command  rejections on  some Icom
rigs when  using WSPR  auto tune-up with  the rig's  built-in auto-ATU
anabled.    The  issue   relates  to   a  PTT-set,   tune,  PTT-reset,
set-frequency sequence where  the rig's ATU is still  tuning while the
PTT is reset.  Since this should  only happen in WSPR mode where split
operating is not used it should resolve the issue.
2021-09-11 12:58:48 +01:00
Bill Somerville
d41c0bc432
Bump RC # 2021-09-07 20:13:08 +01:00
Joe Taylor
df9f7cc500 Fix MAP65's generation of Tx3 message for abs(SNR)< 10. 2021-09-06 11:11:40 -04:00
Joe Taylor
6b9cdd0071 Allow mapsim to generate SNRs greater than 0.0 dB. 2021-09-06 11:10:41 -04:00
Bill Somerville
2f24d0b47c
Merge branch 'release-2.5.0' 2021-09-04 23:56:22 +01:00
Bill Somerville
71ac45ab6e
Release note update 2021-09-04 23:50:50 +01:00
Bill Somerville
7c655c07cd
Release note updates 2021-09-04 23:49:03 +01:00
Bill Somerville
575af62f24
Updated CTY database, 31-Aug-2021 Big CTY, tnx Jim, AD1C 2021-09-04 23:45:30 +01:00
Bill Somerville
f22d501607
Repair inconsistent Spanish translation (TX 1 button label) 2021-09-04 11:51:19 +01:00
Bill Somerville
b3708f43e7
Updated Chinese and Hong Kong translations, tnx Sze-To, VR2UPU 2021-09-04 11:15:20 +01:00
Bill Somerville
a926476402
Release note updates 2021-09-03 19:13:44 +01:00
Bill Somerville
201c646bc5
Merge branch 'feat-Q65-special-ops' into release-2.5.0 2021-09-03 17:24:50 +01:00
Bill Somerville
b5a55fe615
Merge branch 'release-2.5.0' into feat-Q65-special-ops 2021-08-29 09:04:35 +01:00
Bill Somerville
a886cee8b9
Repair a regression that disabled WSPR band hopping with Tx % eq 0 2021-08-28 19:00:42 +01:00
Joe Taylor
419ccc8dab Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-08-25 10:05:25 -04:00
Bill Somerville
8794bad146
Use local 8-bit strings for paths passed to Fortran
By using  the local 8-bit character  set we can allow  local non-ASCII
characters in file paths, for example user account names on MS Windows
with characters in the default code page.
2021-08-22 13:24:03 +01:00
Bill Somerville
5bf8ba4f55
Consistent behaviour with respect to prompt to log and auto log 2021-08-18 13:38:49 +01:00
Bill Somerville
87d4ee6fa1
Make Q65 mode consistent with other slow modes with contest ops 2021-08-17 22:40:40 +01:00
Steven Franke
c40225aa1e Another change to make Q65 autosequencing work the same way as FT8. 2021-08-16 08:18:01 -05:00
Bill Somerville
84ebec424a
Support for contest operating in Q65 mode 2021-08-15 23:22:45 +01:00
Steven Franke
8cbf31ebdf Ensure that tx1 and txb1 are properly enabled/disabled when changing special operating activity. 2021-08-14 11:41:41 -05:00
Bill Somerville
82e3949b8b
Repair a file handle leak in wsprd 2021-08-11 11:19:28 +01:00
Joe Taylor
d3b079c425 Minor updates to Release_Notes.txt. 2021-08-05 11:04:49 -04:00
Bill Somerville
d13a5d04e8
Bump RC number 2021-08-05 15:31:05 +01:00
Bill Somerville
4030b0bd0c
Merge branch 'release-2.5.0' 2021-08-05 00:42:17 +01:00
Bill Somerville
7506fefe80
Updated CTY database, Big CTY 4-Aug-2021, tnx to Jim, AD1C 2021-08-05 00:10:52 +01:00
Bill Somerville
0cdde4ea6d
Release note updates 2021-08-05 00:08:57 +01:00
Joe Taylor
f11b38fb28 Suppressed duplicate decodes must also be at the same frequency. 2021-08-04 16:02:15 -04:00
Joe Taylor
2af2d8131d Don't use early decoding when data are read from disk. 2021-08-04 16:00:16 -04:00
Joe Taylor
990933024c On double-click on lower waterfall, don't change FTol if it was already < 100. 2021-08-04 15:53:26 -04:00
Joe Taylor
11d874ec37 Correct a flaw that caused some i3=4 messages to be encoded as free text. 2021-08-02 13:24:33 -04:00
Bill Somerville
5d78cb0c97
Bump RC # 2021-07-31 17:51:38 +01:00
Bill Somerville
119fe4dd4b
Merge branch 'release-2.5.0' 2021-07-31 16:28:55 +01:00
Joe Taylor
67c01de4bd Minor addition to Release Notes. 2021-07-31 09:52:57 -04:00
Bill Somerville
aa3e083b64
Updated CTY.DAT database, Big CTY 2021-Jul-29, tnx to Jim, AD1C 2021-07-31 12:11:42 +01:00
Bill Somerville
b04ad2fa20
Release note updates 2021-07-31 11:50:21 +01:00
Joe Taylor
ff5ce6ac0b Fix a typo. 2021-07-30 19:35:16 -04:00
Joe Taylor
3523d12940 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-30 15:55:26 -04:00
Joe Taylor
2b42df4809 Correct a flaw in selecting Tx# after double-clicking on a decode in JT65 mode, when contest messages are selected. 2021-07-30 15:53:47 -04:00
Bill Somerville
5446d86ff3
Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-30 20:36:55 +01:00
Bill Somerville
293f77d45d
Move RC expiry date 2021-07-30 20:26:39 +01:00
Joe Taylor
4ee17f9b88 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-30 15:26:31 -04:00
Joe Taylor
2304f5dce3 Allow use of NA VHF, EU VHF, and Field Day messages and sequencing in Q65 mode. 2021-07-30 15:25:42 -04:00
Bill Somerville
aa1225ff96
Remove local event loops from Omni-Rig interface
Using a local event loop to wait for Omni-Rig to initialize has caused
issues elsewhere, reverted to simple waits in teh hope that Omni-Rig
initializes promptly.
2021-07-30 20:21:57 +01:00
Joe Taylor
25cb82b14d Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-28 13:56:14 -04:00
Joe Taylor
8946a2c5b3 Minor additions to the User Guide. 2021-07-28 13:55:35 -04:00
k9an
ec2afd3fd2 Revert "FT8: ensure that nagain only decodes near nfqso."
This reverts commit 771f424108065eb5e160883055009f9e8bf45e9a.
2021-07-28 12:18:33 -05:00
k9an
64eed79027 Revert "Another attempt to make nagain work correctly."
This reverts commit 777126ae1eea9577c597df143bac302d1ad42192.
2021-07-28 12:17:57 -05:00
Joe Taylor
e4144b7e19 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-28 13:07:53 -04:00
Joe Taylor
4b4e78cd9d FT8 decodes with data read from disk and nagain=.true. should decode only at RxFreq. 2021-07-28 13:06:07 -04:00
k9an
777126ae1e Another attempt to make nagain work correctly. 2021-07-28 10:58:20 -05:00
Steven Franke
116f756b1a another edit to FT8 tutorial. 2021-07-28 10:11:28 -05:00
Steven Franke
771f424108 FT8: ensure that nagain only decodes near nfqso. 2021-07-28 09:54:05 -05:00
Steven Franke
57d9096d21 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-28 09:52:44 -05:00
Steven Franke
94861e04e5 minor edit to FT8 tutorial. 2021-07-28 09:52:39 -05:00
Bill Somerville
3a463c3cd8
Update sample files build script 2021-07-28 15:14:31 +01:00
Joe Taylor
1c99c2b005 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-28 09:36:13 -04:00
Steven Franke
371e9e2365 Edits to User Guide section 6. 2021-07-28 08:20:30 -05:00
Steven Franke
6a2c8d487e Remove old FT8 sample file. 2021-07-27 17:55:07 -05:00
Steven Franke
d8235a43a6 Add new FT8 sample file. 2021-07-27 17:54:28 -05:00
Steven Franke
06fee9c52a More work on User Guide, section 6. 2021-07-27 17:41:02 -05:00
Steven Franke
01990baa58 First cut at User Guide changes to section 6 to replace JT9 with FT8. 2021-07-27 09:25:18 -05:00
Joe Taylor
05503dd689 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-23 09:06:16 -04:00
Steven Franke
afcfb08072 Make incomplete messages like 'K9AN G4WJS R-' encode as free text. 2021-07-22 13:54:35 -05:00
Joe Taylor
e04c37d0c0 Further cleanup of what gets written to map65_rx.log. 2021-07-21 13:58:15 -04:00
Joe Taylor
848f3ab30f Remove an unused diagnostic write. 2021-07-20 11:47:23 -04:00
Joe Taylor
c747e98bda Include Tx mode in entries to map65_tx.log. 2021-07-20 11:45:12 -04:00
Joe Taylor
1ce78c184a Reset iRxState=0 when ihsym is less than 280. 2021-07-20 11:32:36 -04:00
Joe Taylor
27def802a0 Better logic for calling the m65 decoder and saving tf2/iq files? 2021-07-20 10:54:55 -04:00
Joe Taylor
710240c57a Only write datetime to map65_rx.log if nhsym.lt.nhsym2. 2021-07-20 10:11:27 -04:00
Joe Taylor
7881b9c79a Straighten out the extent of copy from MAP65's datcom_ to shared memory region. 2021-07-20 09:59:58 -04:00
Joe Taylor
f21ccca0bf Improved diagnostic info. 2021-07-19 11:55:44 -04:00
Joe Taylor
30286b2261 Remove more vestiges of JT9+JT65 mode. 2021-07-19 09:38:06 -04:00
Joe Taylor
8e64184183 Remove more vestiges of JT9+JT65 mode. 2021-07-19 09:26:25 -04:00
Joe Taylor
f74ad900ab Remove vestiges of JT9+JT65 mode from the User Guide. 2021-07-19 08:59:05 -04:00
Joe Taylor
3d04c767ca Protect against a bounds error when no input data. 2021-07-18 08:39:34 -04:00
Joe Taylor
b25ef318a4 Don't require the "better.ge.1.10" condition for submodes D and E. 2021-07-16 17:07:41 -04:00
Joe Taylor
ea48ae04fb Do JT65 decodes only at nhsym=280. Rewind LU 26 in m65a only at nhsym=280. 2021-07-16 16:03:09 -04:00
Joe Taylor
255d35c56e No need for the file read_tf2.f90. 2021-07-16 12:40:20 -04:00
Joe Taylor
2fe6cb617b Revert "Save a more-or-less working read_tf2()."
This reverts commit 1257b871185a7785094a8dcc05d67bae1e7f32ae.
2021-07-16 12:38:23 -04:00
Joe Taylor
2ac5518057 merged and resolved the conflict in map65/soundin.cpp 2021-07-16 11:45:12 -04:00
Joe Taylor
05ff35a1f8 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-16 11:38:54 -04:00
Joe Taylor
82de949a8c Disable a diagnostic write. 2021-07-16 11:26:17 -04:00
Joe Taylor
3a28992c7f Enable early decode with data read from disk. 2021-07-16 10:07:28 -04:00
Joe Taylor
775a204a68 Re-apply three good commits from before. 2021-07-16 09:37:37 -04:00
Bill Somerville
0491dca741
Updated macOS ReadMe.txt including how to disable App Nap for WSJT-X
Thanks to John, G4KLA, for researching this and providing the updated
instructions.
2021-07-16 14:31:21 +01:00
Joe Taylor
139478b865 Revert "Implement mock real-time input for MAP65: read data from a .tf2 file, with"
This reverts commit 60b0c5b98442d0da7529069ff2d598d345e9f89c.
2021-07-16 09:22:35 -04:00
Joe Taylor
8c62f0280d If we must bail out of an early decode, should still output its results. 2021-07-16 08:30:37 -04:00
Joe Taylor
1257b87118 Save a more-or-less working read_tf2(). 2021-07-15 14:26:35 -04:00
Joe Taylor
d3861ae281 Enable ForceCenterFreq when using mockRT input. 2021-07-15 14:25:29 -04:00
Joe Taylor
66b5fd0a2f Diasble copying of m_dateTime to datcom_.datetime, for now. 2021-07-15 14:23:57 -04:00
Joe Taylor
8ea7669494 Correct the datcom sizes in recvpkt() and symspec(). 2021-07-15 11:55:04 -04:00
Joe Taylor
66e57b5405 Add a newly required file. 2021-07-13 13:39:16 -04:00
Joe Taylor
924876e92c Correct the logic for clearing ldecoded() to all .false. 2021-07-13 13:22:10 -04:00
Joe Taylor
60b0c5b984 Implement mock real-time input for MAP65: read data from a .tf2 file, with
appropriate delays to approximate real-time data rate.
2021-07-13 12:48:28 -04:00
Joe Taylor
d34ba9010b Suppress writing duplicates (same time, same decoded message) to map65_rx.log. 2021-07-12 10:53:14 -04:00
Joe Taylor
f510f16509 Suppress duplicates (same time, same decoded message) in Messages window. 2021-07-12 10:35:49 -04:00
Joe Taylor
d53b5cbd33 Require best msg to produce ccf at least 1.10 x second-best message, for q3 decode. 2021-07-10 14:31:21 -04:00
Joe Taylor
6641f2c7bf Fixed the correction to lookup(). It's OK now. 2021-07-10 12:16:35 -04:00
Joe Taylor
1a4bd199b6 Correct a flaw in lookup(): N5OS found the locator for N5OSK. Now fixed. 2021-07-10 11:55:56 -04:00
Joe Taylor
69d375e1d2 Turn off the blue background on Decode button between Early and Final decode passes. 2021-07-09 13:37:59 -04:00
Joe Taylor
1d3025329b Merge branch 'feat-early_decode' into release-2.5.0 2021-07-09 12:13:15 -04:00
Joe Taylor
7bac215fb0 Early decode at t=52 a, final decode at t=56 s. 2021-07-09 12:06:27 -04:00
Joe Taylor
2e301b59e6 Should read 56 s of data (not 52 s) in getfile(). 2021-07-09 08:40:44 -04:00
Bill Somerville
91a840df6e
Bump RC # 2021-07-09 11:28:33 +01:00
Joe Taylor
c5ecd9fc76 Pass nhsym from GUI to m65. 2021-07-08 10:06:21 -04:00
Joe Taylor
1e4e2a714d UPdate the call to get_candidates, in case we use this test program again. 2021-07-07 14:51:22 -04:00
Joe Taylor
1af473e9a5 Don't build synctest.exe. 2021-07-07 14:48:43 -04:00
Joe Taylor
2d2951e689 No need to pre-define nhsym=302. 2021-07-07 14:32:55 -04:00
Joe Taylor
feb267e7cf Compute nhsym only once, in decode0(). 2021-07-07 14:11:34 -04:00
Joe Taylor
b0b3ba438b Increase length of .tf2 and .iq files from 52 s to 56 s. 2021-07-07 13:53:28 -04:00
Joe Taylor
dd149231e8 Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0 2021-07-07 11:00:38 -04:00
Joe Taylor
35d8e6deb3 Correct the placement of ldecoded=.false. 2021-07-07 10:49:01 -04:00
Joe Taylor
72e6cbd4e9 Suppress another type of duplicate decode. 2021-07-07 10:31:34 -04:00
Joe Taylor
3307cb2f9e Suppress duplicate decodes. 2021-07-07 10:12:36 -04:00
377 changed files with 60353 additions and 12650 deletions

View File

@ -97,7 +97,7 @@ void SoundInput::start(QAudioDeviceInfo const& device, int framesPerBuffer, Audi
m_stream->start (sink);
checkStream ();
cummulative_lost_usec_ = -1;
LOG_DEBUG ("Selected buffer size (bytes): " << m_stream->bufferSize () << " period size: " << m_stream->periodSize ());
// LOG_DEBUG ("Selected buffer size (bytes): " << m_stream->bufferSize () << " period size: " << m_stream->periodSize ());
}
else
{
@ -180,13 +180,15 @@ void SoundInput::reset (bool report_dropped_frames)
if (cummulative_lost_usec_ != std::numeric_limits<qint64>::min () && report_dropped_frames)
{
auto lost_usec = elapsed_usecs - m_stream->processedUSecs () - cummulative_lost_usec_;
if (std::abs (lost_usec) > 48000 / 5)
{
LOG_WARN ("Detected dropped audio source samples: "
<< m_stream->format ().framesForDuration (lost_usec)
<< " (" << std::setprecision (4) << lost_usec / 1.e6 << " S)");
}
else if (std::abs (lost_usec) > 5 * 48000)
// disable log warnings on dropped audio for now, as detection is not reliable
// if (std::abs (lost_usec) > 48000 / 5)
// {
// LOG_WARN ("Detected dropped audio source samples: "
// << m_stream->format ().framesForDuration (lost_usec)
// << " (" << std::setprecision (4) << lost_usec / 1.e6 << " S)");
// }
// else if (std::abs (lost_usec) > 5 * 48000)
if (std::abs (lost_usec) > 5 * 48000)
{
LOG_ERROR ("Detected excessive dropped audio source samples: "
<< m_stream->format ().framesForDuration (lost_usec)

View File

@ -111,7 +111,7 @@ void SoundOutput::restart (QIODevice * source)
}
m_stream->setCategory ("production");
m_stream->start (source);
LOG_DEBUG ("Selected buffer size (bytes): " << m_stream->bufferSize () << " period size: " << m_stream->periodSize ());
// LOG_DEBUG ("Selected buffer size (bytes): " << m_stream->bufferSize () << " period size: " << m_stream->periodSize ());
}
void SoundOutput::suspend ()

View File

@ -26,7 +26,7 @@ if (WIN32)
add_custom_command (
OUTPUT ${outfile}.h ${outfile}.cpp
COMMAND ${DUMPCPP_Executable}
ARGS ${AX_SERVER_options} -o "${outfile}" "${infile}"
ARGS ${ax_server_options} -o "${outfile}" "${infile}"
MAIN_DEPENDENCY ${infile} VERBATIM)
list (APPEND ${outfiles} ${outfile}.cpp)
endforeach()

View File

@ -45,7 +45,7 @@ if (POLICY CMP0075)
endif ()
project (wsjtx
VERSION 2.5.0.0
VERSION 2.7.0.0
LANGUAGES C CXX Fortran
)
set (PROJECT_DESCRIPTION "WSJT-X: Digital Modes for Weak Signal Communications in Amateur Radio")
@ -71,7 +71,7 @@ message (STATUS "******************************************************")
include (set_build_type)
# RC 0 or omitted is a development build, GA is a General Availability release build
set_build_type (RC 3)
set_build_type (RC 4)
set (wsjtx_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${BUILD_TYPE_REVISION}")
#
@ -80,10 +80,10 @@ set (wsjtx_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_
set (PROJECT_BUNDLE_NAME "WSJT-X")
set (PROJECT_VENDOR "Joe Taylor, K1JT")
set (PROJECT_CONTACT "Joe Taylor <k1jt@arrl.net>")
set (PROJECT_COPYRIGHT "Copyright (C) 2001-2021 by Joe Taylor, K1JT")
set (PROJECT_HOMEPAGE https://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html)
set (PROJECT_COPYRIGHT "Copyright (C) 2001-2023 by Joe Taylor, K1JT")
set (PROJECT_HOMEPAGE https://wsjt.sourceforge.io/wsjtx.html)
set (PROJECT_MANUAL wsjtx-main)
set (PROJECT_MANUAL_DIRECTORY_URL https://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/)
set (PROJECT_MANUAL_DIRECTORY_URL https://wsjt.sourceforge.io/wsjtx-doc/)
set (PROJECT_SAMPLES_URL http://downloads.sourceforge.net/project/wsjt/)
set (PROJECT_SAMPLES_UPLOAD_DEST frs.sourceforge.net:/home/frs/project/wsjt/)
@ -126,7 +126,8 @@ option (WSJT_GENERATE_DOCS "Generate documentation files." ON)
option (WSJT_RIG_NONE_CAN_SPLIT "Allow split operation with \"None\" as rig.")
option (WSJT_TRACE_UDP "Debugging option that turns on UDP message protocol diagnostics.")
option (WSJT_BUILD_UTILS "Build simulators and code demonstrators." ON)
CMAKE_DEPENDENT_OPTION (WSJT_QDEBUG_IN_RELEASE "Leave Qt debugging statements in Release configuration." OFF
"NOT is_debug_build" OFF)
CMAKE_DEPENDENT_OPTION (WSJT_ENABLE_EXPERIMENTAL_FEATURES "Enable features not fully ready for public releases." ON
is_debug_build OFF)
CMAKE_DEPENDENT_OPTION (WSJT_CREATE_WINMAIN
@ -160,7 +161,6 @@ endif ()
set (WSJT_PLUGIN_DESTINATION ${PLUGIN_DESTINATION} CACHE PATH "Path for plugins")
set (WSJT_QT_CONF_DESTINATION ${QT_CONF_DESTINATION} CACHE PATH "Path for the qt.conf file")
#
# Project sources
#
@ -189,6 +189,7 @@ set (wsjt_qt_CXXSRCS
widgets/FrequencyDeltaLineEdit.cpp
item_delegates/CandidateKeyFilter.cpp
item_delegates/ForeignKeyDelegate.cpp
item_delegates/MessageItemDelegate.cpp
validators/LiveFrequencyValidator.cpp
GetUserId.cpp
Audio/AudioDevice.cpp
@ -220,6 +221,7 @@ set (wsjt_qt_CXXSRCS
widgets/DoubleClickablePushButton.cpp
widgets/DoubleClickableRadioButton.cpp
Network/LotWUsers.cpp
Network/FileDownload.cpp
models/DecodeHighlightingModel.cpp
widgets/DecodeHighlightingListView.cpp
models/FoxLog.cpp
@ -273,6 +275,7 @@ set (wsjtx_CXXSRCS
widgets/about.cpp
widgets/astro.cpp
widgets/messageaveraging.cpp
widgets/activeStations.cpp
widgets/colorhighlighting.cpp
WSPR/WsprTxScheduler.cpp
widgets/mainwindow.cpp
@ -324,6 +327,7 @@ set (wsjt_FSRCS
lib/ft8_decode.f90
lib/ft4_decode.f90
lib/fst4_decode.f90
lib/get_q3list.f90
lib/jt9_decode.f90
lib/options.f90
lib/packjt.f90
@ -336,6 +340,7 @@ set (wsjt_FSRCS
lib/timer_module.f90
lib/wavhdr.f90
lib/qra/q65/q65_encoding_modules.f90
lib/ft8/ft8_a7.f90
# remaining non-module sources
lib/addit.f90
@ -357,6 +362,7 @@ set (wsjt_FSRCS
lib/bpdecode128_90.f90
lib/ft8/bpdecode174_91.f90
lib/baddata.f90
lib/cablog.f90
lib/calibrate.f90
lib/ccf2.f90
lib/ccf65.f90
@ -382,6 +388,8 @@ set (wsjt_FSRCS
lib/demod64a.f90
lib/determ.f90
lib/downsam9.f90
lib/echosim.f90
lib/echo_snr.f90
lib/encode232.f90
lib/encode4.f90
lib/encode_msk40.f90
@ -415,6 +423,7 @@ set (wsjt_FSRCS
lib/fmtmsg.f90
lib/foldspec9f.f90
lib/four2a.f90
lib/fspread_lorentz.f90
lib/ft8/foxfilt.f90
lib/ft8/foxgen.f90
lib/ft8/foxgen_wrap.f90
@ -460,7 +469,6 @@ set (wsjt_FSRCS
lib/inter_wspr.f90
lib/jplsubs.f
lib/jt9fano.f90
lib/jtmsg.f90
lib/libration.f90
lib/lorentzian.f90
lib/fst4/lorentzian_fading.f90
@ -484,6 +492,7 @@ set (wsjt_FSRCS
lib/msk144sim.f90
lib/mskrtd.f90
lib/nuttal_window.f90
lib/decode_msk144.f90
lib/ft4/ft4sim.f90
lib/ft4/ft4sim_mult.f90
lib/ft4/ft4_downsample.f90
@ -503,8 +512,11 @@ set (wsjt_FSRCS
lib/qra/q65/q65_ap.f90
lib/qra/q65/q65_loops.f90
lib/qra/q65/q65_set_list.f90
lib/qra/q65/q65_set_list2.f90
lib/refspectrum.f90
lib/savec2.f90
lib/save_dxbase.f90
lib/save_echo_params.f90
lib/sec0.f90
lib/sec_midn.f90
lib/setup65.f90
@ -539,6 +551,7 @@ set (wsjt_FSRCS
lib/sync9.f90
lib/sync9f.f90
lib/sync9w.f90
lib/test_snr.f90
lib/timf2.f90
lib/tweak1.f90
lib/twkfreq.f90
@ -571,6 +584,7 @@ set (wsjt_FSRCS
lib/fst4/fastosd240_74.f90
lib/fst4/get_crc24.f90
lib/fst4/fst4_baseline.f90
lib/77bit/hash22calc.f90
)
# temporary workaround for a gfortran v7.3 ICE on Fedora 27 64-bit
@ -649,6 +663,7 @@ set (wsjtx_UISRCS
widgets/echograph.ui
widgets/fastgraph.ui
widgets/messageaveraging.ui
widgets/activeStations.ui
widgets/widegraph.ui
widgets/logqso.ui
Configuration.ui
@ -884,8 +899,6 @@ find_program (RIGCTLCOM_EXE rigctlcom)
check_type_size (CACHE_ALL HAMLIB_OLD_CACHING)
check_symbol_exists (rig_set_cache_timeout_ms "hamlib/rig.h" HAVE_HAMLIB_CACHING)
find_package (Portaudio REQUIRED)
find_package (Usb REQUIRED)
#
@ -964,7 +977,10 @@ if (Fortran_COMPILER_NAME MATCHES "gfortran.*")
set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -g -fbacktrace -fbounds-check -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
### TEMPORARY: Let Fortran use RElEASE flags for DEBUG builds
#set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -g -fbacktrace -fbounds-check -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_RELEASE} -fbounds-check -funroll-all-loops -fno-f2c -ffpe-summary=invalid,zero,overflow,underflow ${General_FFLAGS}")
# FPE traps currently disabled in Debug configuration builds until
# we decide if they are meaningful, without these FP instructions
@ -1095,7 +1111,7 @@ target_link_libraries (wsjt_fort ${FFTW3_LIBRARIES})
if (${OPENMP_FOUND} OR APPLE)
add_library (wsjt_fort_omp STATIC ${wsjt_FSRCS})
target_link_libraries (wsjt_fort_omp ${FFTW3_LIBRARIES})
if (OpenMP_C_FLAGS)
if (OpenMP_C_FLAGS AND NOT APPLE)
set_target_properties (wsjt_fort_omp
PROPERTIES
COMPILE_FLAGS "${OpenMP_C_FLAGS}"
@ -1128,6 +1144,12 @@ target_link_libraries (jt65sim wsjt_fort wsjt_cxx)
add_executable (sumsim lib/sumsim.f90)
target_link_libraries (sumsim wsjt_fort wsjt_cxx)
add_executable (cablog lib/cablog.f90)
target_link_libraries (cablog)
add_executable (test_snr lib/test_snr.f90)
target_link_libraries (test_snr wsjt_fort)
add_executable (q65sim lib/qra/q65/q65sim.f90)
target_link_libraries (q65sim wsjt_fort wsjt_cxx)
@ -1161,6 +1183,9 @@ target_link_libraries (wsprcode wsjt_fort wsjt_cxx)
add_executable (encode77 lib/77bit/encode77.f90)
target_link_libraries (encode77 wsjt_fort wsjt_cxx)
add_executable (hash22calc lib/77bit/hash22calc.f90)
target_link_libraries (hash22calc wsjt_fort wsjt_cxx)
add_executable (wsprsim ${wsprsim_CSRCS})
target_link_libraries (wsprsim ${LIBM_LIBRARIES})
@ -1176,6 +1201,9 @@ target_link_libraries (ft8code wsjt_fort wsjt_cxx)
add_executable (ft4code lib/ft4/ft4code.f90)
target_link_libraries (ft4code wsjt_fort wsjt_cxx)
add_executable (echosim lib/echosim.f90)
target_link_libraries (echosim wsjt_fort wsjt_cxx)
add_executable (ft8sim lib/ft8/ft8sim.f90)
target_link_libraries (ft8sim wsjt_fort wsjt_cxx)
@ -1260,9 +1288,11 @@ set (LANGUAGES
ja # Japanese
#no # Norwegian
#pt # Portuguese
ru # Russian
#sv # Swedish
zh # Chinese
zh_HK # Chinese per Hong Kong
zh_TW # Chinese traditional
it # Italian
)
foreach (lang_ ${LANGUAGES})
@ -1404,9 +1434,10 @@ else (${OPENMP_FOUND} OR APPLE)
endif (${OPENMP_FOUND} OR APPLE)
if (WIN32)
# build map65
find_package (Portaudio REQUIRED)
add_subdirectory (map65)
endif ()
add_subdirectory (qmap)
# build the main application
generate_version_info (wsjtx_VERSION_RESOURCES
@ -1441,7 +1472,7 @@ set_target_properties (wsjtx PROPERTIES
)
target_include_directories (wsjtx PRIVATE ${FFTW3_INCLUDE_DIRS})
if (APPLE)
if ((NOT ${OPENMP_FOUND}) OR APPLE)
target_link_libraries (wsjtx wsjt_fort)
else ()
target_link_libraries (wsjtx wsjt_fort_omp)
@ -1572,7 +1603,7 @@ install (TARGETS jt9 wsprd fmtave fcal fmeasure
if(WSJT_BUILD_UTILS)
install (TARGETS ft8code jt65code jt9code jt4code msk144code
q65code fst4sim q65sim
q65code fst4sim q65sim echosim hash22calc cablog
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
)
@ -1614,6 +1645,7 @@ install (FILES
cty.dat
cty.dat_copyright.txt
contrib/Ephemeris/JPLEPH
eclipse.txt
DESTINATION ${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}
#COMPONENT runtime
)

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ class QAudioDeviceInfo;
class QDir;
class QNetworkAccessManager;
class Bands;
class FrequencyList_v2;
class FrequencyList_v2_101;
class StationList;
class QStringListModel;
class LotWUsers;
@ -100,6 +100,7 @@ public:
QString my_grid () const;
QString Field_Day_Exchange() const;
QString RTTY_Exchange() const;
QString Contest_Name() const;
void setEU_VHF_Contest();
QFont text_font () const;
QFont decoded_text_font () const;
@ -164,8 +165,8 @@ public:
Bands * bands ();
Bands const * bands () const;
IARURegions::Region region () const;
FrequencyList_v2 * frequencies ();
FrequencyList_v2 const * frequencies () const;
FrequencyList_v2_101 * frequencies ();
FrequencyList_v2_101 const * frequencies () const;
StationList * stations ();
StationList const * stations () const;
QStringListModel * macros ();
@ -181,8 +182,17 @@ public:
bool highlight_by_mode () const;
bool highlight_only_fields () const;
bool include_WAE_entities () const;
enum class SpecialOperatingActivity {NONE, NA_VHF, EU_VHF, FIELD_DAY, RTTY, WW_DIGI, FOX, HOUND};
bool highlight_73 () const;
void setSpecial_Q65_Pileup();
void setSpecial_Hound();
void setSpecial_Fox();
void setSpecial_None();
bool highlight_DXcall () const;
bool highlight_DXgrid () const;
bool Individual_Contest_Name() const;
// 0 1 2 3 4 5 6 7 8 9
enum class SpecialOperatingActivity {NONE, NA_VHF, EU_VHF, FIELD_DAY, RTTY, WW_DIGI, FOX, HOUND, ARRL_DIGI, Q65_PILEUP};
SpecialOperatingActivity special_op_id () const;
struct CalibrationParams
@ -215,8 +225,7 @@ public:
// This method queries if a CAT and PTT connection is operational.
bool is_transceiver_online () const;
// Start the rig connection, safe and normal to call when rig is
// already open.
// Start the rig connection, safe and normal to call when rig is already open.
bool transceiver_online ();
// check if a real rig is configured
@ -234,6 +243,8 @@ public:
// Close down connection to rig.
void transceiver_offline ();
void set_CTY_DAT_version(QString const& version);
// Set transceiver frequency in Hertz.
Q_SLOT void transceiver_frequency (Frequency);

File diff suppressed because it is too large Load Diff

View File

@ -6,27 +6,34 @@ you change the name in the Applications folder from WSJT-X to WSJT-X_previous
before proceeding.
I recommend that you follow the installation instructions especially if you
are moving from v2.2 to v2.3 or later, of WSJT-X or you have upgraded macOS.
are moving from v2.5 to v2.6 or later, of WSJT-X or you have upgraded macOS.
Double-click on the wsjtx-...-Darwin.dmg file you have downloaded from K1JT's web-site.
Make sure that you leave this window open for the remaining installation steps.
Now open a Terminal window by going to Applications->Utilities and clicking on Terminal.
Along with this ReadMe file there is a file: com.wsjtx.sysctl.plist which must be copied to a
system area by typing this line in the Terminal window and then pressing the Return key.
system area by typing these lines in the Terminal window and then pressing the Return key after
each line.
sudo cp /Volumes/WSJT-X/com.wsjtx.sysctl.plist /Library/LaunchDaemons
sudo chown root:wheel /Library/LaunchDaemons/com.wsjtx.sysctl.plist
you will be asked for your normal password because authorisation is needed to copy this file.
(Your password will not be echoed but press the Return key when completed.)
Now re-boot your Mac. This is necessary to install the changes. After the
reboot you should re-open the Terminal window as before and you can check that the
change has been made by typing:
IMPORTANT: Now re-boot your Mac otherwise these changes will not take effect.
After the reboot you should re-open the Terminal window as before and you can check
that the change has been made by typing:
sysctl -a | grep sysv.shm
If shmmax is not shown as 52428800 then contact me since WSJT-X will fail to load with
an error message: "Unable to create shared memory segment".
an error message: "Unable to create shared memory segment". If the value of shmmax
is shown as 20971520 then it is probable that you have download JTDX. WSJT-X and JTDX
cannot both control the shmmax paramter. Contact me for advice.
You can now close the Terminal window. It will not be necessary to repeat this procedure
again, even when you download an updated version of WSJT-X. It might be necessary if you
@ -58,8 +65,17 @@ and how to access them.
Finally, visit the Radio panel. WSJT-X is most effective when operated with CAT
control. You will need to install the relevant Mac device driver for your rig,
and then re-launch WSJT-X. Return to the Radio panel in Preferences and in
the "Serial port" panel select your driver from the list that is presented. If you
do not know where to get an appropriate driver, contact me.
the "Serial port" panel select your driver from the list that is presented.
You may need a device driver for your Mac. The USB/UART Bridge chip inside the Icom,
Yaesu and Kenwood radios is a Silicon Labs USB to UART Bridge Controller and the Mac
drivers are available here:
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Visit the SiLabs site and download v6 for a Mac. Then in WSJT-X if you use the drop-down menu
for Serial Port you should see something like /dev/tty.SLAB_USBtoUART if the driver has been
installed correctly. Make sure you read the release notes that come with the driver.
WSJT-X needs the Mac clock to be accurate. Visit System Preferences > Date & Time
and make sure that Date and Time are set automatically. The drop-down menu will
@ -87,7 +103,8 @@ simultaneously, the shmall parameter in the com.wsjtx.sysctl.plist file needs to
The shmall parameter determines the amount of shared memory which is allocated in 4096 byte pages
with 50MB (52428800) required for each instance. The shmall parameter is calculated as:
(n * 52428800)/4096 where 'n' is the number of instances required to run simultaneously.
Remember to reboot your Mac afterwards.
Replace your new version of this file in /Library/LaunchDaemons and remember to reboot your
Mac afterwards.
Note that the shmmax parameter remains unchanged. This is the maximum amount of shared memory that
any one instance is allowed to request from the total shared memory allocation and should not
@ -97,3 +114,9 @@ If two instances of WSJT-X are running, it is likely that you might need additio
audio devices, from two rigs for example. Visit Audio MIDI Setup and create an Aggregate Device
which will allow you to specify more than one interface. I recommend you consult Apple's guide
on combining multiple audio interfaces which is at https://support.apple.com/en-us/HT202000.
2. Preventing WSJT-X from being put into 'sleep' mode (App Nap).
In normal circumstances an application which has not been directly accessed for a while can be
subject to App Nap which means it is suspended until such time as its windows are accessed. If

View File

@ -11,7 +11,39 @@ extern "C" {
namespace
{
QRegularExpression words_re {R"(^(?:(?<word1>(?:CQ|DE|QRZ)(?:\s?DX|\s(?:[A-Z]{1,4}|\d{3}))|[A-Z0-9/]+|\.{3})\s)(?:(?<word2>[A-Z0-9/]+)(?:\s(?<word3>[-+A-Z0-9]+)(?:\s(?<word4>(?:OOO|(?!RR73)[A-R]{2}[0-9]{2})))?)?)?)"};
QRegularExpression tokens_re {R"(
^
(?:(?<dual>[A-Z0-9/]+)\sRR73;\s)? # dual reply DXpedition message
(?:
(?<word1>
(?:CQ|DE|QRZ)
(?:\s?DX|\s
(?:[A-Z]{1,4}|\d{3}) # directional CQ
)
| [A-Z0-9/]+ # DX call
|\.{3} # unknown hash code
)\s
)
(?:
(?<word2>[A-Z0-9/]+) # DE call
(?:\s
(?<word3>[-+A-Z0-9]+) # report
(?:\s
(?<word4>
(?:
OOO # EME
| (?!RR73)[A-R]{2}[0-9]{2} # grid square (not RR73)
| 5[0-9]{5} # EU VHF Contest report & serial
)
)
(?:\s
(?<word5>[A-R]{2}[0-9]{2}[A-X]{2}) # EU VHF Contest grid locator
)?
)?
)?
)?
)"
, QRegularExpression::ExtendedPatternSyntaxOption};
}
DecodedText::DecodedText (QString const& the_string)
@ -23,13 +55,15 @@ DecodedText::DecodedText (QString const& the_string)
, is_standard_ {false}
{
// discard appended AP info
clean_string_.replace (QRegularExpression {R"(^(.*?)(?:\?\s)?a[0-9].*$)"}, "\\1");
clean_string_.replace (QRegularExpression {R"(^(.*?)(?:\?\s)?[aq][0-9].*$)"}, "\\1");
// qDebug () << "DecodedText: the_string:" << the_string << "Nbsp pos:" << the_string.indexOf (QChar::Nbsp);
if (message_.length() >= 1)
{
message0_ = message_.left(36);
message_ = message_.left(36).remove (QRegularExpression {"[<>]"});
// remove appended confidence (?) and ap designators before truncating the message
message_ = clean_string_.mid (column_qsoText + padding_).trimmed ();
message0_ = message_.left(37);
message_ = message_.left(37).remove (QRegularExpression {"[<>]"});
int i1 = message_.indexOf ('\r');
if (i1 > 0)
{
@ -60,11 +94,13 @@ QStringList DecodedText::messageWords () const
// extract up to the first four message words
QString t=message_;
if(t.left(4)=="TU; ") t=message_.mid(4,-1);
return words_re.match(t).capturedTexts();
return tokens_re.match(t).capturedTexts();
}
// simple word split for free text messages
auto words = message_.split (' ', SkipEmptyParts);
// add whole message as item 0 to mimic RE capture list
// add whole message and two empty strings as item 0 & 1 to mimic RE
// capture list
words.prepend (QString {});
words.prepend (message_);
return words;
}
@ -94,7 +130,7 @@ bool DecodedText::isTX() const
bool DecodedText::isLowConfidence () const
{
return QChar {'?'} == string_.mid (padding_ + column_qsoText + 21, 1);
return QChar {'?'} == string_.mid (padding_ + column_qsoText + 36, 1);
}
int DecodedText::frequencyOffset() const
@ -128,31 +164,37 @@ bool DecodedText::report(QString const& myBaseCall, QString const& dxBaseCall, /
if (message_.size () < 1) return false;
QStringList const& w = message_.split(" ", SkipEmptyParts);
if (w.size ()
&& is_standard_ && (w[0] == myBaseCall
|| w[0].endsWith ("/" + myBaseCall)
|| w[0].startsWith (myBaseCall + "/")
|| (w.size () > 1 && !dxBaseCall.isEmpty ()
&& (w[1] == dxBaseCall
|| w[1].endsWith ("/" + dxBaseCall)
|| w[1].startsWith (dxBaseCall + "/")))))
int offset {0};
if (w.size () > 2)
{
QString tt="";
if(w.size() > 2) tt=w[2];
bool ok;
auto i1=tt.toInt(&ok);
if (ok and i1>=-50 and i1<50)
if ("RR73;" == w[1] && w.size () > 3)
{
report = tt;
offset = 2;
}
else
if (is_standard_ && (w[offset] == myBaseCall
|| w[offset].endsWith ("/" + myBaseCall)
|| w[offset].startsWith (myBaseCall + "/")
|| (w.size () > offset + 1 && !dxBaseCall.isEmpty ()
&& (w[offset + 1] == dxBaseCall
|| w[offset + 1].endsWith ("/" + dxBaseCall)
|| w[offset + 1].startsWith (dxBaseCall + "/")))))
{
if (tt.mid(0,1)=="R")
bool ok;
auto tt = w[offset + 2];
auto i1=tt.toInt(&ok);
if (ok and i1>=-50 and i1<50)
{
i1=tt.mid(1).toInt(&ok);
if(ok and i1>=-50 and i1<50)
report = tt;
}
else
{
if (tt.mid(0,1)=="R")
{
report = tt.mid(1);
i1=tt.mid(1).toInt(&ok);
if(ok and i1>=-50 and i1<50)
{
report = tt.mid(1);
}
}
}
}
@ -163,7 +205,7 @@ bool DecodedText::report(QString const& myBaseCall, QString const& dxBaseCall, /
// get the first text word, usually the call
QString DecodedText::call() const
{
return words_re.match (message_).captured ("word1");
return tokens_re.match (message_).captured ("word1");
}
// get the second word, most likely the de call and the third word, most likely grid
@ -175,7 +217,7 @@ void DecodedText::deCallAndGrid(/*out*/QString& call, QString& grid) const
{
msg = msg.mid (p + 2);
}
auto const& match = words_re.match (msg);
auto const& match = tokens_re.match (msg);
call = match.captured ("word2");
grid = match.captured ("word3");
if ("R" == grid) grid = match.captured ("word4");

View File

@ -443,7 +443,7 @@ void EqualizationToolsDialog::impl::plot_current ()
plot_.graph (3)->rescaleValueAxis ();
QFileInfo refspec_file_info {data_directory_.absoluteFilePath ("refspec.dat")};
std::ifstream refspec_file (refspec_file_info.absoluteFilePath ().toLatin1 ().constData (), std::ifstream::in);
std::ifstream refspec_file (refspec_file_info.absoluteFilePath ().toLocal8Bit ().constData (), std::ifstream::in);
unsigned n;
if (refspec_file >> amp_poly_low_ >> amp_poly_high_ >> n)
{
@ -499,7 +499,7 @@ void EqualizationToolsDialog::impl::plot_phase ()
, "Phase Coefficient Files (*.pcoeff)");
if (!phase_file_name.size ()) return;
std::ifstream phase_file (phase_file_name.toLatin1 ().constData (), std::ifstream::in);
std::ifstream phase_file (phase_file_name.toLocal8Bit ().constData (), std::ifstream::in);
int n;
float chi;
float rmsdiff;

36
INSTALL
View File

@ -16,8 +16,7 @@ Installing WSJT-X
Binary packages of WSJT-X are available from the project web site:
http://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html
https://wsjt.sourceforge.io/wsjtx.html
Building from Source
====================
@ -28,7 +27,7 @@ the Boost C++ libraries. For MS Windows see the section "Building
from Source on MS Windows" below. For Apple Mac see the section
"Building from Source on Apple Mac".
Qt v5, preferably v5.9 or later is required to build WSJT-X.
Qt v5, preferably v5.12 or later is required to build WSJT-X.
Qt v5 multimedia support, serial port, and Linguist is necessary as
well as the core Qt v5 components, normally installing the Qt
@ -51,15 +50,13 @@ normally you can choose not to install libusb-1.0-dev but if you have
a SoftRock USB or similar SDR that uses a custom USB interface then it
is required.
The Hamlib library is required. Currently WSJT-X needs to be built
using a forked version of the Hamlib git master. This fork contains
patches not yet accepted by the Hamlib development team which are
essential for correct operation of WSJT-X. To build the Hamlib fork
from sources something like the following recipe should suffice:
The Hamlib library is required. WSJT-X can be built with any version
of the Hamlib git master. To build Hamlib from sources something
like the following recipe should suffice:
$ mkdir ~/hamlib-prefix
$ cd ~/hamlib-prefix
$ git clone git://git.code.sf.net/u/bsomervi/hamlib src
$ git clone https://github.com/Hamlib/Hamlib src
$ cd src
$ git checkout integration
$ ./bootstrap
@ -114,13 +111,13 @@ Building from Source on MS Windows
Because building on MS Windows is quite complicated there is an
Software Development Kit available that provides all the prerequisite
libraries and tools for building WSJT-X. This SDK is called JT-SDK-QT
libraries and tools for building WSJT-X. This SDK is called HAMLIB SDK
which is documented here:
http://physics.princeton.edu/pulsar/K1JT/wsjtx-doc/dev-guide-main.html
https://sourceforge.net/projects/hamlib-sdk/
If you need to build Hamlib rather than use the Hamlib kit included in
the JT-SDK the following recipe should help. Reasons for building
the HAMLIB SDK the following recipe should help. Reasons for building
Hamlib from source might include picking up the very latest patches or
building a different branch that you wish to contribute to.
@ -144,7 +141,7 @@ In an MSYS shell:-
$ mkdir ~/hamib-prefix
$ cd ~/hamlib-prefix
$ git clone git://git.code.sf.net/u/bsomervi/hamlib src
$ git clone https://github.com/Hamlib/Hamlib src
$ cd src
$ git checkout integration
$ ./bootstrap
@ -179,10 +176,6 @@ Hamlib binary location as one of the paths in CMAKE_PREFIX_PATH.
Building from Source on Apple Mac
=================================
These instructions are adapted from my Evernote page at:
https://www.evernote.com/pub/bsomervi/wsjt-xmacbuilds
There are several ways to get the required GNU and other open source
tools and libraries installed, my preference is MacPorts because it is
easy to use and does everything we need.
@ -229,12 +222,11 @@ instructions are here:
Hamlib
------
First fetch hamlib from the repository, in this case my fork of Hamlib
3 until the official repository has all the fixes we need:
First fetch hamlib from the git master repository:
$ mkdir -p ~/hamlib-prefix/build
$ cd ~/hamlib-prefix
$ git clone git://git.code.sf.net/u/bsomervi/hamlib src
$ git clone https://github.com/Hamlib/Hamlib src
$ cd src
$ git checkout integration
$ ./bootstrap
@ -353,8 +345,8 @@ which installs the WSJT-X application bundle into ~/wsjtx-prefix
Updating and Rebuilding Hamlib
==============================
From time to time new fixes will be pushed to the Hamlib fork
repository integration branch. To pick them up type:
From time to time new fixes will be pushed to the Hamlib git
master repository. To pick them up type:
$ cd ~/hamlib-prefix/src
$ git pull

View File

@ -52,9 +52,13 @@ void register_types ()
item_editor_factory->registerEditor (qMetaTypeId<QDateTime> (), new QStandardItemEditorCreator<DateTimeEdit> ());
// Frequency list model
// V101 Frequency list model
qRegisterMetaTypeStreamOperators<FrequencyList_v2_101::Item> ("Item_v2_101");
QMetaType::registerConverter<FrequencyList_v2_101::Item, QString> (&FrequencyList_v2_101::Item::toString);
qRegisterMetaTypeStreamOperators<FrequencyList_v2_101::FrequencyItems> ("FrequencyItems_v2_101");
// V100 Frequency list model
qRegisterMetaTypeStreamOperators<FrequencyList_v2::Item> ("Item_v2");
QMetaType::registerConverter<FrequencyList_v2::Item, QString> (&FrequencyList_v2::Item::toString);
qRegisterMetaTypeStreamOperators<FrequencyList_v2::FrequencyItems> ("FrequencyItems_v2");
// defunct old versions

788
NEWS
View File

@ -9,7 +9,784 @@
\$$ \$$ \$$$$$$ \$$$$$$ \$$ \$$ \$$
Copyright 2001 - 2021 by Joe Taylor, K1JT.
Copyright 2001 - 2024 by Joe Taylor, K1JT, and the WSJT Development Team
Release: WSJT-X 2.7.0-rc4
March 11, 2024
-------------------------
WSJT-X 2.7.0 Release Candidate 4 brings some improvements for Fox-mode
operators, new features for companion program QMAP, and a number of
relatively minor enhancements and bug fixes.
QMAP enhancements -- of particular interest to EME operators:
- QMAP now decodes Q65 submodes with both 60-second and 30-second T/R
sequence lengths. Clicking on a resulting line in the WSJT-X Active
Stations window automatically sets dial frequency and working
submode as needed to call that station.
- QMAP operates in 60-second receive sequences, and its Q65 decoder
starts at t=19.5, 30.0, 49.5, and 58.5 s into the sequence. Most
decoded messages are displayed well before the end of the relevant
time slot.
- A new, more compact file format is now used for wideband data
files. A "Save decoded" option has been added to the Save menu.
- An option has been added to allow exporting a 3 kHz portion of a
wideband data file as a standard WSJT-X *.wav file.
- CTRL+click on QMAP's upper waterfall sends an integer kHz dial
frequency request to WSJT-X.
- With focus on the WSJT-X main window, hit Alt+A on the keyboard to
clear the Active Stations window.
- Many minor enhancements to the User Interface.
WSJT-X:
- Enable decoding of MSK144 from the jt9[.exe] executable.
- Several changes to reduce problems experienced when (contrary to
our recommendations) messages with short (10-bit) callsign hashes
are used in standard FT4/FT8 sub-bands.
Release: WSJT-X 2.7.0-rc3
January 1, 2024
-------------------------
WSJT-X 2.7.0 Release Candidate 3 brings some new features, as well as
numerous detail improvements and bug fixes, such as:
- Added a new "Update Hamlib" function. On Windows, it allows the user to
update Hamlib directly from the program. The previously used version is
backed up, so the user can easily revert a hamlib update.
- The Hamlib version in use is now displayed (also on Linux and macOS).
- The FT Roundup Messages protocol has been enhanced. It now allows also
the exchange of static 4-digit numbers instead of serial numbers. This
extends the usability of the FT RU protocol for other contest types.
- Improved direct switching between modes. Submode, as well as the status
of the "Sh" and "Fast" checkboxes are now saved and restored by mode.
- Some right-click events were made more intuitive and consistent.
- Right-clicking the Q65 button enables Q65 Pileup mode, a left-click
brings you back to the normal Q65 mode.
- Right-click the JT65 button to switch to JT9 mode.
- For Q65, all messages for us are now displayed in the right window.
- Message averaging is now allowed only when VHF features are
enabled, and label texts are changed to "Single Period Decodes" and
"Average Decodes" only if averaging is enabled.
- Some improvements to the Hamlib Transceiver code. Behavior is now
more stable when Rig Split has been selected.
- Prevented redundant network communication between WSJT-X and DX Lab
Suite Commander.
- Download of the LotW file now works without OpenSSL libraries.
- Made the spot counter work for WSPR.
- Prevented insertion of an individual contest name when in Fox mode.
- WAE entities are now assigned to the correct DXCC when "Include
extra WAE entities" is not selected.
- Added a utility program 'cablog' which can be used to convert the
wsjtx.log file to Cabrillo format for the ARRL EME contest.
- Minor improvements to the Active Stations window.
- The Rx/Tx frequency for Echo mode has been fixed at 1500 Hz.
- Some corrections and updates to the INSTALL instructions for Linux.
- Updated CTY.DAT file.
Release: WSJT-X 2.7.0-rc2
July 7, 2023
-------------------------
WSJT-X 2.7.0 Release Candidate 2 introduces several minor improvements
and bug fixes.
- CTRL+SHIFT+F11/F12 now changes dial frequency by 1000 Hz instead of
2000 Hz.
- Improved spotting to PSK Reporter for upcoming HamSCI Festivals of
Eclipse Ionospheric Science.
- Added optional Hungarian translation of the user interface.
- Fixed a flaw that could produce false decodes in Q65 submodes D and E.
- Fixed a flaw with the QSO start time. It is now reset when the DX
Call changes.
- Fixed a flaw that prevented contest logging of the ARRL Digi Contest.
- Right-clicking the Q65 mode button to toggle the Q65 Pileup mode on/off
now also works on macOS.
- Fixed a compilation error on macOS Ventura.
- WSPR and FST4W band hopping now works again.
- It is now ensured that "U.S.A." is displayed when using certain
cty.dat files.
- Corrected the problem with duplicated FT8 entries in ActiveStations
window.
Release: WSJT-X 2.7.0-rc1
May 12, 2023
-------------------------
WSJT-X 2.7.0 Release Candidate 1 introduces a new program called QMAP,
a new Special Operating Activity known as Q65 Pileup, and a number of
other enhancements and fixes.
- QMAP and Q65 Pileup mode are of particular interest to those
engaged in Earth-Moon-Earth (EME) communication, but other
applications may be found for them as well.
- QMAP is derived from MAP65, an older program used since 2007 for
EME, mainly on the 2 m band. QMAP provides single-polarization
receive-only capabilities for any one of the 60-second submodes
of Q65. It allows you to monitor all traffic in a 90 kHz subband
while conducting EME QSOs in the usual way with WSJT-X.
- Q65 Pileup mode is a new feature in WSJT-X that will assist DX
operators using Q65 in pileup circumstances with many
simultaneous callers and very weak signals, such as those
experienced by 6-meter EME DXpeditions.
- Further details on QMAP and Q65 Pileup mode are available in a
Quick-Start guide posted here:
https://wsjt.sourceforge.io/Quick_Start_WSJT-X_2.7_QMAP.pdf
- WSJT-X now provides more efficient spotting to PSK Reporter.
Redundant spots are omitted, and posting of spots is now spread
more widely in time. (Temporarily, in support of the HamSCI
Festivals of Eclipse Ionospheric Science, spots will be transmitted
more frequently during the upcoming solar eclipses.)
- WSJT-X is now able to process more than 100 FT8 decodes in a single
reception interval.
- Improvements to the Fox mode:
- More convenient and efficient handling of the two queues.
- Fox Log window now displays statistical data on the QSO rate.
- When the station locator is changed (e.g during portable
operations), the new locator will be sent automatically to PSK
Reporter.
- The cty.dat file can now be updated by clicking a button on the
Settings -> Colors tab.
- A new status display appears when fetching a new LotW file.
- Multi-streamed messages transmitted by MSHV are now handled
properly when WSJT-X is in Hound mode.
- Auto-sequencing now has better protection against unwanted effects
caused by late FT8 decodes.
- Fixed an inconsistency in which Contest Name was not correctly
remembered.
- Other minor bug fixes.
- Updated hyperlinks to our homepage and to our new WSJT GROUP User
Forum (https://groups.io/g/wsjtgroup/) can now also be found in the
User Guide.
- The build instructions for macOS have been clarified.
Release: WSJT-X 2.6.1
January 16, 2023
-------------------------
WSJT-X 2.6.1 is mostly a bug fix release for Q65. It has the following
changes since release 2.6.0:
- Fix a flaw in Q65 mode that prevented proper display of the T/R
period spinner.
- Correct the reference to "ARRL International Digital Contest" in the
Release Notes.
- Make the initialization of the decoded text font more robust.
- Better initialization when starting the program in FT8 Hound mode.
- Fix a compiler warning on macOS.
Release: WSJT-X 2.6.0
January 6, 2023
-------------------------
WSJT-X 2.6.0 is a General Availability (GA) release, the first since
version 2.5.4. Its major enhancements include the following:
- Mode selection buttons on main window for FT4, FT8, JT65, MSK144,
Q65, and FT8's Hound mode
- Support for the ARRL International Digital Contest
- Performance enhancements for the FT8 and Q65 modes
- New features for EME Echo mode, including calibrated SNR reports
- Several new convenience features for Fox operators
- Save/Restore capability, "Preferred" status, and effective date
ranges for mode-dependent tables of default frequencies
- Improved display features for contest log
- Improved calibration of SNR estimates for modes FST4 and FST4W
Other enhancements and bug fixes since 2.6.0-rc5 include the following:
- PSK Reporter spotting is now also possible for frequencies > 4 GHz.
This is required for QO-100, for example.
- The minimum width of the main window has been further reduced, and
such small sizes are now remembered and properly restored.
- Some further improvements for Fox operators.
- Fix the long-standing flaw that "Start new period decodes at top"
didn't work anymore after several hours.
- Fix a flaw that could cause crashes by double-clicking messages
with <...> in certain QSO situations.
- Fix a flaw that prevented the rig from initializing correctly after
switching between configurations when connected via HRD.
- Add tooltips to better explain the split operation options.
- Add some additional FT roundup exchanges which can be used for
local contests or QSO parties.
- Add an option to call CQ with an individual contest name.
- Update of some ARRL section abbreviations.
For full details on changes since WSJT-X version 2.5.4, be sure to
read the Release Notes sections for 2.6.0-rc1 through rc5, immediately
following.
Release: WSJT-X 2.6.0-rc5
November 29, 2022
-------------------------
WSJT-X 2.6.0 Release Candidate 5 brings a number of improvements as
well as some bug fixes.
In program WSJT-X:
- Better calibration for FST4/W SNR estimates.
- Upload FST4W-900 spots to wsprnet with TR code 15 instead of 16.
- Improved FT8 decoding on crowded bands.
- The Working frequency table now offers the following options:
- Better handling of more than one frequency per band.
- Set your preferred frequencies, WSJT-X always comes back to these
QRGs when changing band or mode.
- You can label your frequencies with descriptions (e.g. DXp AB0YXZ).
- Option to set Start and End Date/Time, so that the frequencies
automatically appear and disappear. Useful for contest or
DXpedition QRGs.
- Load a frequency table from a file to easily get all such data
implemented.
- In Fox mode, there are now a few additional functions that allow
operators to react even better to different QSO situations:
- A new two-column table in Tab 2 provides a better overview of
the queue and of the callsigns with QSOs in progress.
- Fox operator can now change the ordering of callsigns in the
queue so that he can react if there is only a narrow time slot
for a particular QSO due to propagation.
- Fox now responds for another two cycles to stations whose
report was not received, increasing the success rate for a
difficult QSO.
- Correct a flaw in Hound mode that sometimes prevented completion of
QSOs with non-standard calls.
- Improvements to EME Echo mode:
- New control "Avg" sets the number of Echo cycles to be averaged.
- New capability to display measurements of wideband noise power as
a function of time. This can be useful for measuring Sun noise,
antenna tracking errors, and the like.
- Several minor bug fixes
- Correct a flaw that prevented WSJT-X from always initializing
correctly when special operating activities were enabled.
- Correct a flaw that caused wrong Tx frequencies to be written to
ALL.TXT.
- The GUI has been improved regarding some details. The controls now
scale better at different font sizes and on different operating
systems.
- When in Hound mode and click the "H" button again, the frequency
is now kept. This gives the user the following two options to return
to normal FT8 mode:
- Click the "H" button again. Then you will stay on the QRG.
- Click the "FT8" button (or use the Settings menu). It brings
you back to the default FT8 QRG.
- Decodes flagged as 'a7' are now disabled when "Enable AP" is not
checked, and during the first period after a band change.
- The network address of the UDP server is now checked for errors
before being accepted.
- Some improvements to the DX Lab Suite Commander interface.
- Correct some possible flaws that could cause segfault errors in
certain unusual situations.
- Warnings on dropped audio have been disabled for now, as detection
has turned out to be not reliable enough.
- Correct a long-standing flaw which caused the "Transmit digital gain"
overlay to appear somewhere on the screen.
- "Highlight DX Call" now also works when the other station is <...>.
- CQ messages without a grid are now sent to PSK reporter.
- Several other minor corrections (tool tips, etc.).
Program MAP65 (Windows only) includes several minor bug fixes and two
tentative new features:
- an aid for measuring antenna pointing errors
- an ability to read the file wsjtx.log (kept by WSJT-X) to recognize
EME contest dupes.
Release: WSJT-X 2.6.0-rc4
September 8, 2022
-------------------------
WSJT-X 2.6.0 Release Candidate 4 provides further improvements to Echo
mode, a new File menu item, and several bug fixes.
- New features and fixes for Echo mode
- Created a new simulator echosim[.exe]
- Improved organization of output to text window
- Gain and Zero controls in Echo Graph now behave independently
- "Clear Avg" now erases the plot in Echo Graph
- Optional baseline for plots in Echo Graph
- New menu item "File | Copy main text window to WSJT-X.txt"
- Doppler tracking checkbox is made sticky
- Fix an RC2 bug that prevented normal use of JT9.
- Fix a rarely experienced failure when writing to decoded.txt
- Fix a hamlib bug caused by setting VFO B when Split is not used
- Rig control interface to Ham Radio deluxe made more robust
Release: WSJT-X 2.6.0-rc3
August 22, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 3 provides improvements to Echo mode and
several bug fixes.
- Echo mode now allows audio-frequency corrections rather than
CAT-controlled resetting of dial frequency for Doppler corrections,
when Doppler shift is less than 750 Hz. Audio-frequency
corrections are also used to correct any remaining portion of
Doppler shift caused by coarse CAT-controlled frequency setting.
- Echo mode now saves .wav files when "Save all" is selected. When
such files are opened in Echo mode, the astronomical parameters at
recording time are restored and used for processing the Echo data.
- A missing Leap Second (January 1, 2017) was added to the code that
converts UTC to UT1. This detail might matter if you want full
accuracy EME Doppler corrections.
- EME Doppler values are now rounded to nearest integer Hz.
- For backward compatibility, "Special Operating Activity"
enumerations for Fox and Hound modes are reset to their previous
values 6 and 7.
- Allow FST4W transmissions on 30m band. Ensure that correct
frequency is reported to WSPRnet for FST4W decodes with Rx Freq
spinbox not set to 1500.
- Fix a bug that could truncate WSPR transmissions early.
- Fix a bug that occasionally caused a crash when 'decoded.txt'
could not be opened.
- Fix a bug that could cause a crash if Astronomical Data window
is not active when needed.
- Fix a bug that caused a crash when "Reset Cabrillo Log" is
selected with Active Stations window not active.
Release: WSJT-X 2.6.0-rc2
July 21, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 2 brings a number of improvements as
well as some bug fixes.
- The "Measure" function in Echo mode now uses the computed Doppler
spread for DX grid, when available. This feature is especially
helpful for microwave EME tests, enabling accurate measurement of
SNR for a DX station.
- Settings for T/R period and Submode are now remembered by mode when
you switch directly between (for example) MSK144-15, Q65-60A,
JT65C, or FST4-120.
- Tx and Rx audio frequencies are remembered and restored when you
return from a mode that sets a default frequency of 1500 Hz
(MSK144, FST4W, Echo, WSPR, FreqCal) and then switching back to
FT4, FT8, Q65, JT65, or FST4.
- QSOs in the Contest Log can now be displayed in increasing or
decreasing order of logged time. By default the log is scrolled to
the latest logged QSO, ready for insertion of a new contact. The
total number of QSOs in the Contest Log is displayed at bottom left
of its window.
- Default FT8 frequency for 4m band (Region 1) is set to 70.154 MHz.
- Layout of mode buttons has been optimized for 4K screens.
- Display of Keyboard Shortcuts has been updated.
- The OK button now has default focus in the LogQSO dialog window.
You may just hit Enter to log the QSO.
- Bug fix: The Tx Freq spinbox remained red when coming back from
some Q65 submodes. Corrected.
- Hamlib bug fixes: make sure that VFOB is selected when required on
some rigs (e.g. IC7610, IC7100), and others.
Release: WSJT-X 2.6.0-rc1
June 20, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 1 introduces support for the ARRL
International Digital Contest; performance enhancements for FT8, Q65,
and EME Echo mode; new controls and options on the GUI; and several
bug fixes.
In program WSJT-X:
- Improved decoding for FT8: additional messages are marked 'a7'
- Improved decoding for Q65 when AP is in use
- Optional new "Active Stations" window and other features
supporting ARRL International Digital Contest
- Accurate SNR measurements in Echo mode, including large Doppler
spreads
- Add mode selection buttons on main window for FT4, FT8, JT65,
MSK144, and Q65
- Add a button to toggle FT8's Hound mode ON or OFF
- Add a "Clr Avg" button for Echo mode
- Add optional highlighting of DX Call and DX Grid
- Add optional highlighting of messages containing RR73 or 73
- New options for writing to ALL.TXT: split the file yearly, monthly,
or disable writing altogether
- Add Russian to available translations of user interface
- Add a 90 s Tune watchdog with optional disable
- Allow auto reply for non-CQ messages via UDP (JTAlert, etc.) when
Hold Tx Freq is enabled
- Suppress transmission of blank messages
- Suppress self-spotting when running multiple instances
- Correct the handling of messages starting with "CQ xxxx ..."
- Correct a flaw that could cause Windows to drop audio samples
- Correct a flaw that could send incorrect frequencies to ALL.TXT
and PSK Reporter after a band change
- Correct the auto-sequencing logic in several specific circumstances
- Correct a flaw in WSPR mode when handling three-character callsigns
- Correct a flaw that could cause OmniRig 1.19 or later to set
incorrect frequencies after initialization
- Clean up some ToolTips
- Fix an inconsistancy in the macOS installation package that caused
the pwr slider to behave incorrectly on macOS 12
In program MAP65 (Windows only):
- Send additional information to file azel.dat
- Allow optional scaling of digital I/Q data
- Suppress a bounds error caused by too-wide setting of display
bandwidth
Release: WSJT-X 2.5.4
Dec 28, 2021
----------------------
This is mostly a bug fix release. It has the following changes since
release 2.5.3:
WSJTX:
- Repair a defect that caused occasional crashes when in QSO with
stations using nonstandard callsigns.
MAP65:
- Allowing MAP65 "Best-fit Delta phi" solution to be displayed to the
user.
Release: WSJT-X 2.5.3
Dec 7, 2021
----------------------
This release has the following changes since release 2.5.2:
- Add a note in memory of G4WJS to the About window
- Add a simple $DXCALL macro capability for Tx messages, and update
the User Guide accordingly
- Ensure that MAIN VFO is used for receiving on rigs that require it
- Repair a defect in reporting low-confidence decodes to PskReporter
- Updated CTY.DAT database, tnx to Jim AD1C
Release: WSJT-X 2.5.2
Nov 4, 2021
----------------------
This is mostly a bug fix release. It has the following changes since
release 2.5.1:
- Repair a longstanding regression that caused signal reports from
tail-ended Tx2 messages to be omitted from logged information
- Parse "dx-call-1 RR73; dx-call-2 <de-call> +nn" messages (i3=0,
n3=1 DXpedition mode) in regular 77-bit modes
- Repair a regression associated with setting the main window width
on program startup.
- Repair a problem with Q65 decodes of type 'q3' for messages of the
form "<Call_1> Call_2"
- Execute code associated with Q65 decodes of type 'q5' only when the
Max Drift control is set to 50. This fix prevents
double-incrementing of the message averaging counter on the first
decoding sequence.
- Polarization offset 'Dpol' from the astronomical data window is now
written to file azel.dat if environment variable
WSJT_AZEL_EXTRA_LINES has been defined as 1 or greater. Dpol is
especially useful for EME on the higher microwave bands.
- The Auto Log QSO option in "Settings->Reporting" now behaves the
same as the Prompt to log QSO option when not in a special
operating context mode.
- The Fast/Normal/Deep setting in Q65 mode is now a sticky setting
and is no longer reset to Fast on program startup or when Settings
has been opened. The user selection is used for automatic decodes,
but Deep is used for any subsequent manual decode attempts.
- New hamlib code to correct minor flaws in controlling several rigs.
- Update the Chinese and Hong Kong translations of the user
interface.
- Note that since the WSJT-X v2.5.0 GA release we have not been
providing pre-built 32-bit packages for Linux on Intel CPUs, this
is due to the mainstream Linux Desktop distributions no longer
providing updates for 32-bit only systems. 32-bit WSJT-X can still
be built for Linux Intel and is supported at least until some
prerequisite package is no longer available.
Release: WSJT-X 2.5.1
Oct 21, 2021
----------------------
This release mainly contains improvements and defect repairs related
to Q65 and JT65 modes when used with non-standard and compound
calls. Also included is a new feature for microwave aircraft scatter
and repairs for defects detected since the 2.5.0 GA release.
- Improved Q65 support for 10GHz Aircraft Scatter contributed by Rex,
VK7MO, and Roger, W3SZ. (See "10 GHz Terrestrial with Q65" in DUBUS
Vol 1/2021 page 64.) Decodes of type 'q3' may now include
corrections for frequency drift.
- Repair a defect that failed to pre-load the DE and DX calls to the
hash lookup tables in the Q65 decoder.
- Repair standard message Tx4 and Tx5 generation in Q65 mode when
using a non-standard call.
- Repair a defect in generation of the standard Tx2 JT65 message in
EME mode when using a compound call.
- Repair a defect when decoding 77-bit type 4 non-standard call
message.
- Repair a defect that could cause a crash when switching from Q65 to
JT65 mode and attempting a double-click decode.
- Enable 'q3' AP decoding in Q65 mode for messages containing a
non-standard call.
- Repair a defect that required a blank DX Grid to achieve Q65 'q3'
decodes of messages containing a non-standard call.
- Repair the logic that sets parameters for Q65 "Deep" decoding.
- In Q65 mode, allow 'q2' decodes when MyCall is compound or
non-standard.
- Repair a long-standing defect that could cause a crash when
reference spectrum correction is enabled.
- Updated UI translations from Xavi, EA3W, Oba-san, JA7UDE, and a new
translation for Traditional Chinese by Steven, BU2EL.
- Updated CTY.DAT database, tnx to Jim AD1C
- Improved main window layout to ensure TxN messages are fully
visible.
Release: WSJT-X 2.5.0
Sept 27, 2021
-------------------------
WSJT-X in this release is nearly identical to that in WSJT-X 2.4.0.
The Q65 decoder has been enhanced to measure and compensate for linear
frequency drift in Q65 signals. In addition, the Windows installation
package now includes version 3.0 of application MAP65 which has Q65
support to match and improve on its existing JT65 capabilities.
See the 2.5.0 release candidate notices below for a summaries of the
other changes included in this release. WSJT-X 2.5.0 is bundled with
Hamlib version 4.3.1 which includes important regression repairs over
the earlier 4.3 release.
Other changes in the package since WSJT-X 2.5.0-rc6 include the
following enhancements and defect repairs:
MAP65:
- Ensure that CALL3.TXT is not deleted while updating the file (this
allows sharing using symlinks to work).
- Fix MAP65's generation of Tx3 message for abs(SNR)< 10.
WSJTX:
- Repair a defect that caused CAT errors when using WSPR band hopping
and auto tune-up with some Icom rigs.
- Ensure that CALL3.TXT is not deleted while updating the file (this
allows sharing using symlinks to work).
Release: WSJT-X 2.5.0-rc6
Sept 6, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc5 include the following
enhancements and defect repairs:
MAP65:
- There are no functional changes to MAP65 in this release.
WSJT-X:
- Repair a file handle leak in wsprd (tnx Phil, KA9Q).
- Better handling of the Tx1 buttons when changing special operating
modes.
- Q65 mode now supports contest special operating modes.
- Repair an issue when non-ASCII characters used in account names.
- Repair a regression that prevented WSPR band-hopping working when
the Tx percentage is zero.
Release: WSJT-X 2.5.0-rc5
Aug 5, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc4 include the following
enhancements and defect repairs:
MAP65:
- When you double-click on lower waterfall, Ftol is set to 100
only if it is currently set to a higher value.
- Early decoding pass is skipped when data are read from disk.
- Duplicate decodes are suppressed only when at the same frequency.
WSJT-X:
- Repair a regression that caused some messages involving compound
or nonstandard callsigns to be encoded as free text
Release: WSJT-X 2.5.0-rc4
Aug 2, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc3 include the following
enhancements and defect repairs:
MAP65:
- Suppress display of duplicate decodes
- Increase the length of .tf2 & .iq files to 56 s
- Implements an early decoding pass at 52 s
WSJT-X:
- Repair a defect in CALL3.TXT lookups that incorrectly matched
partial calls
- Instructions in macOS ReadMe.txt to suppress App Nap energy saving
- Revised User Guide using FT8 mode for the basic tutorial
- Allow contest and FD operating in Q65 mode
Release: WSJT-X 2.5.0-rc3
@ -34,6 +811,7 @@ WSJT-X:
messages to not be sent when no other intervening messages are
sent.
Release: WSJT-X 2.5.0-rc2
Jun 28, 2021
-------------------------
@ -74,6 +852,7 @@ WSJT-X (including the decoder for Q65 used by MAP65):
series rigs, and support for the Icom IC-575 rig.
- Updated CTY.DAT database
Release: WSJT-X 2.5.0-rc1
Jun 3, 2021
-------------------------
@ -428,7 +1207,6 @@ release candidate.
- Several updates to international UI translations.
Release: WSJT-X 2.3.0-rc2
Nov 16, 2020
-------------------------
@ -893,6 +1671,7 @@ prior v2.1.0 release.
- Fix a production issue with the macOS tool chain that generated
broken executables.
Release: WSJT-X 2.1
July 15, 2019
-------------------
@ -962,6 +1741,7 @@ feedback to guide future development.
*Note* this release is not for general public release and we request
that it is not distributed.
Release: WSJT-X 2.1.0-rc1
March 25, 2019
-------------------------
@ -1095,6 +1875,7 @@ Some details of changes since WSJT-X-rc5 include the following:
- Update the WSJT-X User Guide to v2.0 (more to come...)
- Update cty.dat
Release: WSJT-X 2.0-rc5
November 26, 2018
-----------------------
@ -1326,7 +2107,6 @@ Changes from WSJT-X Version 1.9.0-rc2 include the following:
to be CAT controlled by WSJT-X.
Release: WSJT-X Version 1.9.0-rc2
February 26, 2018
---------------------------------
@ -1496,8 +2276,6 @@ message from populating the Tx message boxes.
- Fix an issue with editing IARU regions in the working frequencies table.
Release: WSJT-X Version 1.8.0-rc2
September 2, 2017
---------------------------------

229
Network/FileDownload.cpp Normal file
View File

@ -0,0 +1,229 @@
#include "FileDownload.hpp"
#include <QCoreApplication>
#include <QUrl>
#include <QNetworkRequest>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QFileInfo>
#include <QDir>
#include <QIODevice>
#include "qt_helpers.hpp"
#include "Logger.hpp"
FileDownload::FileDownload() : QObject(nullptr)
{
redirect_count_ = 0;
url_valid_ = false;
}
FileDownload::~FileDownload()
{
}
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
void FileDownload::errorOccurred(QNetworkReply::NetworkError code)
{
LOG_INFO(QString{"FileDownload [%1]: errorOccurred %2 -> %3"}.arg(user_agent_).arg(code).arg(reply_->errorString()));
Q_EMIT error (reply_->errorString ());
destfile_.cancelWriting ();
destfile_.commit ();
}
#else
void FileDownload::obsoleteError()
{
LOG_INFO(QString{"FileDownload [%1]: error -> %3"}.arg(user_agent_).arg(reply_->errorString()));
Q_EMIT error (reply_->errorString ());
destfile_.cancelWriting ();
destfile_.commit ();
}
#endif
void FileDownload::configure(QNetworkAccessManager *network_manager, const QString &source_url, const QString &destination_path, const QString &user_agent)
{
manager_ = network_manager;
source_url_ = source_url;
destination_filename_ = destination_path;
user_agent_ = user_agent;
}
void FileDownload::store()
{
if (destfile_.isOpen())
destfile_.write (reply_->read (reply_->bytesAvailable ()));
else
LOG_INFO(QString{ "FileDownload [%1]: file is not open."}.arg(user_agent_));
}
void FileDownload::replyComplete()
{
QFileInfo destination_file(destination_filename_);
QDir tmpdir_(destination_file.absoluteFilePath());
LOG_DEBUG(QString{ "FileDownload [%1]: replyComplete"}.arg(user_agent_));
if (!reply_)
{
Q_EMIT load_finished ();
return; // we probably deleted it in an earlier call
}
QUrl redirect_url {reply_->attribute (QNetworkRequest::RedirectionTargetAttribute).toUrl ()};
if (reply_->error () == QNetworkReply::NoError && !redirect_url.isEmpty ())
{
if ("https" == redirect_url.scheme () && !QSslSocket::supportsSsl ())
{
Q_EMIT download_error (tr ("Network Error - SSL/TLS support not installed, cannot fetch:\n\'%1\'")
.arg (redirect_url.toDisplayString ()));
url_valid_ = false; // reset
Q_EMIT load_finished ();
}
else if (++redirect_count_ < 10) // maintain sanity
{
// follow redirect
download (reply_->url ().resolved (redirect_url));
}
else
{
Q_EMIT download_error (tr ("Network Error - Too many redirects:\n\'%1\'")
.arg (redirect_url.toDisplayString ()));
url_valid_ = false; // reset
Q_EMIT load_finished ();
}
}
else if (reply_->error () != QNetworkReply::NoError)
{
destfile_.cancelWriting();
destfile_.commit();
url_valid_ = false; // reset
// report errors that are not due to abort
if (QNetworkReply::OperationCanceledError != reply_->error ())
{
Q_EMIT download_error (tr ("Network Error:\n%1")
.arg (reply_->errorString ()));
}
Q_EMIT load_finished ();
}
else
{
if (!url_valid_)
{
// now get the body content
url_valid_ = true;
download (reply_->url ().resolved (redirect_url));
}
else // the body has completed. Save it.
{
url_valid_ = false; // reset
// load the database asynchronously
// future_load_ = std::async (std::launch::async, &LotWUsers::impl::load_dictionary, this, csv_file_.fileName ());
LOG_INFO(QString{ "FileDownload [%1]: complete. File path is %2"}.arg(user_agent_).arg(destfile_.fileName()));
destfile_.commit();
emit complete(destination_filename_);
}
}
if (reply_ && reply_->isFinished ())
{
reply_->deleteLater ();
}
}
void FileDownload::downloadComplete(QNetworkReply *data)
{
// make a temp file in the same place as the file we're downloading. Needs to be on the same
// filesystem as where we eventually want to 'mv' it.
QUrl r = request_.url();
LOG_INFO(QString{"FileDownload [%1]: finished %2 of %3 -> %4 (%5)"}.arg(user_agent_).arg(data->operation()).arg(source_url_).arg(destination_filename_).arg(r.url()));
#ifdef DEBUG_FILEDOWNLOAD
LOG_INFO("Request Headers:");
Q_FOREACH (const QByteArray& hdr, request_.rawHeaderList()) {
LOG_INFO(QString{ "%1 -> %2"}.arg(QString(hdr)).arg(QString(request_.rawHeader(hdr))));
}
LOG_INFO("Response Headers:");
Q_FOREACH (const QByteArray& hdr, reply_->rawHeaderList()) {
LOG_INFO(QString{ "%1 -> %2"}.arg(QString(hdr)).arg(QString(reply_->rawHeader(hdr))));
}
#endif
data->deleteLater();
}
void FileDownload::start_download()
{
url_valid_ = false;
download(QUrl(source_url_));
}
void FileDownload::download(QUrl qurl)
{
request_.setUrl(qurl);
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
if (QNetworkAccessManager::Accessible != manager_->networkAccessible ())
{
// try and recover network access for QNAM
manager_->setNetworkAccessible (QNetworkAccessManager::Accessible);
}
#endif
LOG_INFO(QString{"FileDownload [%1]: Starting download of %2 to %3"}.arg(user_agent_).arg(source_url_).arg(destination_filename_));
request_.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
request_.setRawHeader("Accept", "*/*");
request_.setRawHeader ("User-Agent", user_agent_.toLocal8Bit()); // Must have a UA for some sites, like country-files
if (!url_valid_)
{
reply_ = manager_->head(request_);
}
else
{
reply_ = manager_->get (request_);
}
QObject::connect(manager_, &QNetworkAccessManager::finished, this, &FileDownload::downloadComplete, Qt::UniqueConnection);
QObject::connect(reply_, &QNetworkReply::downloadProgress, this, &FileDownload::downloadProgress, Qt::UniqueConnection);
QObject::connect(reply_, &QNetworkReply::finished, this, &FileDownload::replyComplete, Qt::UniqueConnection);
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
QObject::connect(reply_, &QNetworkReply::errorOccurred,this, &FileDownload::errorOccurred, Qt::UniqueConnection);
#else
QObject::connect(reply_, QOverload<QNetworkReply::NetworkError>::of(&QNetworkReply::error), this, &FileDownload::obsoleteError, Qt::UniqueConnection);
#endif
QObject::connect(reply_, &QNetworkReply::readyRead, this, &FileDownload::store, Qt::UniqueConnection);
QFileInfo destination_file(destination_filename_);
QString const tmpfile_base = destination_file.fileName();
QString const &tmpfile_path = destination_file.absolutePath();
QDir tmpdir{};
if (!tmpdir.mkpath(tmpfile_path))
{
LOG_INFO(QString{"FileDownload [%1]: Directory %2 does not exist"}.arg(user_agent_).arg(tmpfile_path).arg(
destfile_.errorString()));
}
if (url_valid_) {
destfile_.setFileName(destination_file.absoluteFilePath());
if (!destfile_.open(QSaveFile::WriteOnly | QIODevice::WriteOnly)) {
LOG_INFO(QString{"FileDownload [%1]: Unable to open %2: %3"}.arg(user_agent_).arg(destfile_.fileName()).arg(
destfile_.errorString()));
return;
}
}
}
void FileDownload::downloadProgress(qint64 received, qint64 total)
{
LOG_DEBUG(QString{"FileDownload: [%1] Progress %2 from %3, total %4, so far %5"}.arg(user_agent_).arg(destination_filename_).arg(source_url_).arg(total).arg(received));
Q_EMIT progress(QString{"%4 bytes downloaded"}.arg(received));
}
void FileDownload::abort ()
{
if (reply_ && reply_->isRunning ())
{
reply_->abort ();
}
}

54
Network/FileDownload.hpp Normal file
View File

@ -0,0 +1,54 @@
#ifndef WSJTX_FILEDOWNLOAD_H
#define WSJTX_FILEDOWNLOAD_H
#include <QObject>
#include <QString>
#include <QPointer>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkReply>
#include <QTemporaryFile>
#include <QSaveFile>
class FileDownload : public QObject {
Q_OBJECT
public:
explicit FileDownload();
~FileDownload();
void configure(QNetworkAccessManager *network_manager, const QString& source_url, const QString& destination_filename, const QString& user_agent);
private:
QNetworkAccessManager *manager_;
QString source_url_;
QString destination_filename_;
QString user_agent_;
QPointer<QNetworkReply> reply_;
QNetworkRequest request_;
QSaveFile destfile_;
bool url_valid_;
int redirect_count_;
signals:
void complete(QString filename);
void progress(QString filename);
void load_finished() const;
void download_error (QString const& reason) const;
void error(QString const& reason) const;
public slots:
void start_download();
void download(QUrl url);
void store();
void abort();
void downloadComplete(QNetworkReply* data);
void downloadProgress(qint64 recieved, qint64 total);
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
void errorOccurred(QNetworkReply::NetworkError code);
#else
void obsoleteError();
#endif
void replyComplete();
};
#endif //WSJTX_FILEDOWNLOAD_H

View File

@ -16,7 +16,9 @@
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QDebug>
#include "qt_helpers.hpp"
#include "Logger.hpp"
#include "FileDownload.hpp"
#include "pimpl_impl.hpp"
#include "moc_LotWUsers.cpp"
@ -39,6 +41,7 @@ public:
, url_valid_ {false}
, redirect_count_ {0}
, age_constraint_ {365}
, connected_ {false}
{
}
@ -48,14 +51,36 @@ public:
auto csv_file_name = csv_file_.fileName ();
auto exists = QFileInfo::exists (csv_file_name);
if (fetch && (!exists || forced_fetch))
{
current_url_.setUrl(url);
if (current_url_.isValid() && !QSslSocket::supportsSsl())
{
current_url_.setUrl (url);
if (current_url_.isValid () && !QSslSocket::supportsSsl ())
{
current_url_.setScheme ("http");
}
redirect_count_ = 0;
download (current_url_);
current_url_.setScheme("http");
}
redirect_count_ = 0;
Q_EMIT self_->progress (QString("Starting download from %1").arg(url));
lotw_downloader_.configure(network_manager_,
url,
csv_file_name,
"WSJT-X LotW User Downloader");
if (!connected_)
{
connect(&lotw_downloader_, &FileDownload::complete, [this, csv_file_name] {
LOG_INFO(QString{"LotWUsers: Loading LotW file %1"}.arg(csv_file_name));
future_load_ = std::async(std::launch::async, &LotWUsers::impl::load_dictionary, this, csv_file_name);
});
connect(&lotw_downloader_, &FileDownload::error, [this] (QString const& msg) {
LOG_INFO(QString{"LotWUsers: Error downloading LotW file: %1"}.arg(msg));
Q_EMIT self_->LotW_users_error (msg);
});
connect( &lotw_downloader_, &FileDownload::progress, [this] (QString const& msg) {
Q_EMIT self_->progress (msg);
});
connected_ = true;
}
lotw_downloader_.start_download();
}
else
{
@ -67,142 +92,9 @@ public:
}
}
void download (QUrl url)
{
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
if (QNetworkAccessManager::Accessible != network_manager_->networkAccessible ())
{
// try and recover network access for QNAM
network_manager_->setNetworkAccessible (QNetworkAccessManager::Accessible);
}
#endif
QNetworkRequest request {url};
request.setRawHeader ("User-Agent", "WSJT LotW User Downloader");
request.setOriginatingObject (this);
// this blocks for a second or two the first time it is used on
// Windows - annoying
if (!url_valid_)
{
reply_ = network_manager_->head (request);
}
else
{
reply_ = network_manager_->get (request);
}
connect (reply_.data (), &QNetworkReply::finished, this, &LotWUsers::impl::reply_finished);
connect (reply_.data (), &QNetworkReply::readyRead, this, &LotWUsers::impl::store);
}
void reply_finished ()
{
if (!reply_)
{
Q_EMIT self_->load_finished ();
return; // we probably deleted it in an earlier call
}
QUrl redirect_url {reply_->attribute (QNetworkRequest::RedirectionTargetAttribute).toUrl ()};
if (reply_->error () == QNetworkReply::NoError && !redirect_url.isEmpty ())
{
if ("https" == redirect_url.scheme () && !QSslSocket::supportsSsl ())
{
Q_EMIT self_->LotW_users_error (tr ("Network Error - SSL/TLS support not installed, cannot fetch:\n\'%1\'")
.arg (redirect_url.toDisplayString ()));
url_valid_ = false; // reset
Q_EMIT self_->load_finished ();
}
else if (++redirect_count_ < 10) // maintain sanity
{
// follow redirect
download (reply_->url ().resolved (redirect_url));
}
else
{
Q_EMIT self_->LotW_users_error (tr ("Network Error - Too many redirects:\n\'%1\'")
.arg (redirect_url.toDisplayString ()));
url_valid_ = false; // reset
Q_EMIT self_->load_finished ();
}
}
else if (reply_->error () != QNetworkReply::NoError)
{
csv_file_.cancelWriting ();
csv_file_.commit ();
url_valid_ = false; // reset
// report errors that are not due to abort
if (QNetworkReply::OperationCanceledError != reply_->error ())
{
Q_EMIT self_->LotW_users_error (tr ("Network Error:\n%1")
.arg (reply_->errorString ()));
}
Q_EMIT self_->load_finished ();
}
else
{
if (url_valid_ && !csv_file_.commit ())
{
Q_EMIT self_->LotW_users_error (tr ("File System Error - Cannot commit changes to:\n\"%1\"")
.arg (csv_file_.fileName ()));
url_valid_ = false; // reset
Q_EMIT self_->load_finished ();
}
else
{
if (!url_valid_)
{
// now get the body content
url_valid_ = true;
download (reply_->url ().resolved (redirect_url));
}
else
{
url_valid_ = false; // reset
// load the database asynchronously
future_load_ = std::async (std::launch::async, &LotWUsers::impl::load_dictionary, this, csv_file_.fileName ());
}
}
}
if (reply_ && reply_->isFinished ())
{
reply_->deleteLater ();
}
}
void store ()
{
if (url_valid_)
{
if (!csv_file_.isOpen ())
{
// create temporary file in the final location
if (!csv_file_.open (QSaveFile::WriteOnly))
{
abort ();
Q_EMIT self_->LotW_users_error (tr ("File System Error - Cannot open file:\n\"%1\"\nError(%2): %3")
.arg (csv_file_.fileName ())
.arg (csv_file_.error ())
.arg (csv_file_.errorString ()));
}
}
if (csv_file_.write (reply_->read (reply_->bytesAvailable ())) < 0)
{
abort ();
Q_EMIT self_->LotW_users_error (tr ("File System Error - Cannot write to file:\n\"%1\"\nError(%2): %3")
.arg (csv_file_.fileName ())
.arg (csv_file_.error ())
.arg (csv_file_.errorString ()));
}
}
}
void abort ()
{
if (reply_ && reply_->isRunning ())
{
reply_->abort ();
}
lotw_downloader_.abort();
}
// Load the database from the given file name
@ -222,12 +114,14 @@ public:
auto pos = l.indexOf (',');
result[l.left (pos)] = QDate::fromString (l.mid (pos + 1, l.indexOf (',', pos + 1) - pos - 1), "yyyy-MM-dd");
}
// qDebug () << "LotW User Data Loaded";
}
else
{
throw std::runtime_error {QObject::tr ("Failed to open LotW users CSV file: '%1'").arg (f.fileName ()).toStdString ()};
}
LOG_INFO(QString{"LotWUsers: Loaded %1 records from %2"}.arg(result.size()).arg(lotw_csv_file));
Q_EMIT self_->progress (QString{"Loaded %1 records from LotW."}.arg(result.size()));
Q_EMIT self_->load_finished();
return result;
}
@ -241,6 +135,8 @@ public:
std::future<dictionary> future_load_;
dictionary last_uploaded_;
qint64 age_constraint_; // days
FileDownload lotw_downloader_;
bool connected_;
};
#include "LotWUsers.moc"
@ -249,6 +145,7 @@ LotWUsers::LotWUsers (QNetworkAccessManager * network_manager, QObject * parent)
: QObject {parent}
, m_ {this, network_manager}
{
}
LotWUsers::~LotWUsers ()

View File

@ -31,6 +31,7 @@ public:
bool user (QString const& call) const;
Q_SIGNAL void LotW_users_error (QString const& reason) const;
Q_SIGNAL void progress (QString const& reason) const;
Q_SIGNAL void load_finished () const;
private:

View File

@ -137,6 +137,7 @@ void MessageClient::impl::host_info_results (QHostInfo host_info)
if (QHostInfo::NoError != host_info.error ())
{
Q_EMIT self_->error ("UDP server DNS lookup failed: " + host_info.errorString ());
return;
}
else
{

View File

@ -199,6 +199,7 @@
* 5 -> WW DIGI
* 6 -> FOX
* 7 -> HOUND
* 8 -> ARRL DIGI
*
* The Frequency Tolerance and T/R period fields may have a value
* of the maximum quint32 value which implies the field is not

View File

@ -6,6 +6,8 @@
//
// Reports will be sent in batch mode every 5 minutes.
#include <fstream>
#include <iostream>
#include <cmath>
#include <QObject>
#include <QString>
@ -18,6 +20,7 @@
#include <QByteArray>
#include <QDataStream>
#include <QTimer>
#include <QDir>
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
#include <QRandomGenerator>
#endif
@ -29,19 +32,26 @@
#include "moc_PSKReporter.cpp"
#define DEBUGECLIPSE 0
namespace
{
QLatin1String HOST {"report.pskreporter.info"};
// QLatin1String HOST {"127.0.0.1"};
quint16 SERVICE_PORT {4739};
// quint16 SERVICE_PORT {14739};
int MIN_SEND_INTERVAL {15}; // in seconds
int FLUSH_INTERVAL {4 * 5}; // in send intervals
int MIN_SEND_INTERVAL {120}; // in seconds
int FLUSH_INTERVAL {MIN_SEND_INTERVAL + 5}; // in send intervals
bool ALIGNMENT_PADDING {true};
int MIN_PAYLOAD_LENGTH {508};
int MAX_PAYLOAD_LENGTH {1400};
int MAX_PAYLOAD_LENGTH {10000};
int CACHE_TIMEOUT {300}; // default to 5 minutes for repeating spots
QMap<QString, time_t> spot_cache;
}
static int added;
static int removed;
class PSKReporter::impl final
: public QObject
{
@ -83,6 +93,7 @@ public:
send_receiver_data_ = 3; // three times
}
});
eclipse_load(config->data_dir ().absoluteFilePath ("eclipse.txt"));
}
void check_connection ()
@ -167,7 +178,7 @@ public:
if (!report_timer_.isActive ())
{
report_timer_.start (MIN_SEND_INTERVAL * 1000);
report_timer_.start (MIN_SEND_INTERVAL+1 * 1000); // we add 1 to give some more randomization
}
if (!descriptor_timer_.isActive ())
{
@ -188,6 +199,8 @@ public:
void send_report (bool send_residue = false);
void build_preamble (QDataStream&);
void eclipse_load(QString filename);
bool eclipse_active(QDateTime now = QDateTime::currentDateTime());
bool flushing ()
{
@ -196,6 +209,14 @@ public:
return flush;
}
QString getStringFromQDateTime(const QString& dateTimeString, const QString& format)
{
QDateTime dateTime = QDateTime::fromString(dateTimeString, format);
return dateTime.toString();
}
QList<QDateTime> eclipseDates;
logger_type mutable logger_;
PSKReporter * self_;
Configuration const * config_;
@ -272,6 +293,69 @@ namespace
}
}
bool PSKReporter::impl::eclipse_active(QDateTime timeutc)
{
#ifdef DEBUGECLIPSE
std::ofstream mylog("/temp/eclipse.log", std::ios_base::app);
#endif
QDateTime dateNow = QDateTime::currentDateTimeUtc();
for (int i=0; i< eclipseDates.size(); ++i)
{
QDateTime check = eclipseDates.at(i); // already in UTC time
// +- 6 hour window
qint64 secondsDiff = qAbs(check.secsTo(dateNow));
if (secondsDiff <= 3600*6) // 6 hour check
{
#ifdef DEBUGECLIPSE
mylog << dateNow.toString(Qt::ISODate) << " Eclipse! " << "secondsDiff=" << secondsDiff << std::endl;
#endif
return true;
}
}
#ifdef DEBUGECLIPSE
mylog << timeutc.toString("yyyy-MM-dd HH:mm:ss") << " no eclipse" << "\n";
#endif
return false;
}
void PSKReporter::impl::eclipse_load(QString eclipse_file)
{
std::ifstream fs(qPrintable(eclipse_file));
std::string mydate,mytime,myline;
#ifdef DEBUGECLIPSE
std::ofstream mylog("c:/temp/eclipse.log");
mylog << "eclipse_file=" << eclipse_file << std::endl;
#endif
if (fs.is_open())
{
while(!fs.eof())
{
std::getline(fs, myline);
if (myline[0] != '#' && myline.length() > 2) // make sure to skip blank lines
{
//QString format = "yyyy-MM-dd hh:mm:ss";
QDateTime qdate = QDateTime::fromString(QString::fromStdString(myline), Qt::ISODate);
QDateTime now = QDateTime::currentDateTimeUtc();
// only add the date if we can cover the whole 12 hours
//if (now < qdate.toUTC().addSecs(-3600*6))
eclipseDates.append(qdate);
#ifdef DEBUGECLIPSE
//else
// mylog << "not adding " << myline << std::endl;
#endif
}
#ifdef DEBUGECLIPSE
mylog << myline << std::endl;
#endif
}
}
#ifdef DEBUGECLIPSE
if (eclipse_active(QDateTime::currentDateTime().toUTC())) mylog << "Eclipse is active" << std::endl;
else mylog << "Eclipse is not active" << std::endl;
#endif
}
void PSKReporter::impl::build_preamble (QDataStream& message)
{
// Message Header
@ -299,7 +383,7 @@ void PSKReporter::impl::build_preamble (QDataStream& message)
<< quint16 (0xffff) // Option 1 Field Length (variable)
<< quint32 (30351u) // Option 1 Enterprise Number
<< quint16 (0x8000 + 5u) // Option 2 Information Element ID (frequency)
<< quint16 (4u) // Option 2 Field Length
<< quint16 (5u) // Option 2 Field Length
<< quint32 (30351u) // Option 2 Enterprise Number
<< quint16 (0x8000 + 6u) // Option 3 Information Element ID (sNR)
<< quint16 (1u) // Option 3 Field Length
@ -423,8 +507,19 @@ void PSKReporter::impl::send_report (bool send_residue)
// Sender information
writeUtfString (tx_out, spot.call_);
tx_out
<< static_cast<quint32> (spot.freq_)
uint8_t data[5];
long long int i64 = spot.freq_;
data[0] = ( i64 & 0xff);
data[1] = ((i64 >> 8) & 0xff);
data[2] = ((i64 >> 16) & 0xff);
data[3] = ((i64 >> 24) & 0xff);
data[4] = ((i64 >> 32) & 0xff);
tx_out // BigEndian
<< static_cast<uint8_t> (data[4])
<< static_cast<uint8_t> (data[3])
<< static_cast<uint8_t> (data[2])
<< static_cast<uint8_t> (data[1])
<< static_cast<uint8_t> (data[0])
<< static_cast<qint8> (spot.snr_);
writeUtfString (tx_out, spot.mode_);
writeUtfString (tx_out, spot.grid_);
@ -505,6 +600,11 @@ void PSKReporter::reconnect ()
m_->reconnect ();
}
bool PSKReporter::eclipse_active(QDateTime now)
{
return m_->eclipse_active(now);
}
void PSKReporter::setLocalStation (QString const& call, QString const& gridSquare, QString const& antenna)
{
LOG_LOG_LOCATION (m_->logger_, trace, "call: " << call << " grid: " << gridSquare << " ant: " << antenna);
@ -531,7 +631,45 @@ bool PSKReporter::addRemoteStation (QString const& call, QString const& grid, Ra
{
reconnect ();
}
m_->spots_.enqueue ({call, grid, snr, freq, mode, QDateTime::currentDateTimeUtc ()});
// remove any earlier spots of this call to reduce pskreporter load
#ifdef DEBUGPSK
static std::fstream fs;
if (!fs.is_open()) fs.open("/temp/psk.log", std::fstream::in | std::fstream::out | std::fstream::app);
#endif
added++;
QDateTime qdateNow = QDateTime::currentDateTime().toUTC();
// we allow all spots through +/- 6 hours around an eclipse for the HamSCI group
if (!spot_cache.contains(call) || freq > 49000000 || eclipse_active(qdateNow)) // then it's a new spot
{
m_->spots_.enqueue ({call, grid, snr, freq, mode, QDateTime::currentDateTimeUtc ()});
spot_cache.insert(call, time(NULL));
#ifdef DEBUGPSK
if (fs.is_open()) fs << "Adding " << call << " freq=" << freq << " " << spot_cache[call] << " count=" << m_->spots_.count() << std::endl;
#endif
}
else if (time(NULL) - spot_cache[call] > CACHE_TIMEOUT) // then the cache has expired
{
m_->spots_.enqueue ({call, grid, snr, freq, mode, QDateTime::currentDateTimeUtc ()});
#ifdef DEBUGPSK
if (fs.is_open()) fs << "Adding # " << call << spot_cache[call] << " count=" << m_->spots_.count() << std::endl;
#endif
spot_cache[call] = time(NULL);
}
else
{
removed++;
#ifdef DEBUGPSK
if (fs.is_open()) fs << "Removing " << call << " " << time(NULL) << " reduction=" << removed/(double)added*100 << "%" << std::endl;
#endif
}
// remove cached items over 10 minutes old to save a little memory
QMapIterator<QString, time_t> i(spot_cache);
time_t tmptime = time(NULL);
while(i.hasNext()) {
i.next();
if (tmptime - i.value() > 600) spot_cache.remove(i.key());
}
return true;
}
return false;

View File

@ -31,6 +31,10 @@ public:
//
void sendReport (bool last = false);
//
// True if current time falls withing a +/- window of a solar eclipse for HamSCI use
bool eclipse_active(QDateTime now);
Q_SIGNAL void errorOccurred (QString const& reason);
private:

View File

@ -278,9 +278,10 @@ QString WSPRNet::encode_mode () const
if (m_mode == "FST4W")
{
auto tr = static_cast<int> ((TR_period_ / 60.)+.5);
if (2 == tr || 15 == tr)
// if (2 == tr || 15 == tr)
if (2 == tr)
{
tr += 1; // distinguish from WSPR-2 and WSPR-15
tr += 1; // distinguish from WSPR-2
}
return QString::number (tr);
}

51
README
View File

@ -11,28 +11,30 @@
Copyright (C) 2001 - 2021 by Joe Taylor, K1JT.
Copyright (C) 2001 - 2023 by Joe Taylor, K1JT.
WSJT-X Version 2.3 offers ten different protocols or modes: FT4, FT8,
JT4, JT9, JT65, QRA64, FST4, ISCAT, MSK144, WSPR, FST4W, and Echo. The
WSJT-X Version 2.6.1 offers eleven different protocols or modes: FT4,
FT8, JT4, JT9, JT65, Q65, FST4, MSK144, WSPR, FST4W, and Echo. The
first seven are designed for making reliable QSOs under weak-signal
conditions. They use nearly identical message structure and source
encoding. JT65 and QRA64 were designed for EME (“moonbounce”) on the
VHF/UHF bands and have also proven very effective for worldwide QRP
communication on the HF bands. QRA64 has a number of advantages over
JT65, including better performance on the very weakest signals. We
imagine that over time it may replace JT65 for EME use. JT9 was
originally designed for the LF, MF, and lower HF bands. Its submode
JT9A is 2 dB more sensitive than JT65 while using less than 10% of the
bandwidth. JT4 offers a wide variety of tone spacings and has proven
highly effective for EME on microwave bands up to 24 GHz. These four
“slow” modes use one-minute timed sequences of alternating
transmission and reception, so a minimal QSO takes four to six minutes
— two or three transmissions by each station, one sending in odd UTC
minutes and the other even. FT8 is operationally similar but four
times faster (15-second T/R sequences) and less sensitive by a few
dB. FT4 is faster still (7.5 s T/R sequences) and especially well
suited for radio contesting. On the HF bands, world-wide QSOs are
encoding. JT65 and Q65 were designed for EME (“moonbounce”), but not
limited to just that propagation path, on the VHF/UHF bands and JT65
has also proven very effective for worldwide QRP communication on the
HF bands. Q65 has a number of advantages over JT65, including better
performance on the very weakest signals and variants with different
T/R period lengths. We imagine that over time it may replace JT65 for
EME use, it has also proved to be very effective for iono-scatter
paths on 6m. JT9 was originally designed for the LF, MF, and lower HF
bands. Its submode JT9A is 2 dB more sensitive than JT65 while using
less than 10% of the bandwidth. JT4 offers a wide variety of tone
spacings and has proven highly effective for EME on microwave bands up
to 24 GHz. These four “slow” modes use one-minute timed sequences of
alternating transmission and reception, so a minimal QSO takes four to
six minutes — two or three transmissions by each station, one sending
in odd UTC minutes and the other even. FT8 is operationally similar
but four times faster (15-second T/R sequences) and less sensitive by
a few dB. FT4 is faster still (7.5 s T/R sequences) and especially
well suited for radio contesting. On the HF bands, world-wide QSOs are
possible with any of these modes using power levels of a few watts (or
even milliwatts) and compromise antennas. QSOs are possible at signal
levels 10 to 15 dB below those required for CW. FST4 has similarities
@ -48,14 +50,13 @@ once per transmission. All fast modes in WSJT-X send their message
frames repeatedly, as many times as will fit into the Tx sequence
length.
ISCAT, MSK144, and optionally submodes JT9E-H are “fast” protocols
designed to take advantage of brief signal enhancements from ionized
meteor trails, aircraft scatter, and other types of scatter
MSK144, and optionally submodes JT9E-H are “fast” protocols designed
to take advantage of brief signal enhancements from ionized meteor
trails, aircraft scatter, and other types of scatter
propagation. These modes use timed sequences of 5, 10, 15, or 30 s
duration. User messages are transmitted repeatedly at high rate (up to
250 characters per second, for MSK144) to make good use of the
shortest meteor-trail reflections or “pings”. ISCAT uses free-form
messages up to 28 characters long, while MSK144 uses the same
shortest meteor-trail reflections or “pings”. MSK144 uses the same
structured messages as the slow modes and optionally an abbreviated
format with hashed callsigns.
@ -98,7 +99,7 @@ https://wsjtx.groups.io/g/main email reflector.
Project web site:
https://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html
https://wsjt.sourceforge.io/wsjtx.html
Project mailing list (shared with other applications from the same
team):

View File

@ -42,14 +42,27 @@ namespace Radio
value = v.toDouble ();
if (ok) *ok = true;
}
if (ok && !*ok)
{
return value;
}
return frequency (value, scale, ok);
}
Frequency frequency (double value, int scale, bool * ok)
{
value *= std::pow (10., scale);
if (ok)
{
if (value < 0. || value > std::numeric_limits<Frequency>::max ())
if (value < 0. || value > static_cast<double>(std::numeric_limits<Frequency>::max ()))
{
value = 0.;
*ok = false;
}
else
{
*ok = true;
}
}
return std::llround (value);
}
@ -66,15 +79,28 @@ namespace Radio
value = v.toDouble ();
if (ok) *ok = true;
}
if (ok && !*ok)
{
return value;
}
return frequency_delta (value, scale, ok);
}
FrequencyDelta frequency_delta (double value, int scale, bool * ok)
{
value *= std::pow (10., scale);
if (ok)
{
if (value < -std::numeric_limits<Frequency>::max ()
|| value > std::numeric_limits<Frequency>::max ())
if (value < static_cast<double>(std::numeric_limits<Frequency>::min ())
|| value > static_cast<double>(std::numeric_limits<Frequency>::max ()))
{
value = 0.;
*ok = false;
}
else
{
*ok = true;
}
}
return std::llround (value);
}

View File

@ -34,10 +34,12 @@ namespace Radio
// QVariant argument is convertible to double and is assumed to
// be scaled by (10 ** -scale).
//
Frequency UDP_EXPORT frequency (QVariant const&, int scale,
Frequency UDP_EXPORT frequency (QVariant const&, int scale = 0,
bool * ok = nullptr, QLocale const& = QLocale ());
FrequencyDelta UDP_EXPORT frequency_delta (QVariant const&, int scale,
FrequencyDelta UDP_EXPORT frequency_delta (QVariant const&, int scale = 0,
bool * ok = nullptr, QLocale const& = QLocale ());
Frequency UDP_EXPORT frequency (double, int scale = 0, bool * ok = nullptr);
FrequencyDelta UDP_EXPORT frequency_delta (double, int scale = 0, bool * ok = nullptr);
//
// Frequency type formatting

View File

@ -9,7 +9,787 @@
\$$ \$$ \$$$$$$ \$$$$$$ \$$ \$$ \$$
Copyright 2001 - 2021 by Joe Taylor, K1JT.
Copyright 2001 - 2024 by Joe Taylor, K1JT, and the WSJT Development Team
Release: WSJT-X 2.7.0-rc4
March 11, 2024
-------------------------
WSJT-X 2.7.0 Release Candidate 4 brings some improvements for Fox-mode
operators, new features for companion program QMAP, and a number of
relatively minor enhancements and bug fixes.
QMAP enhancements -- of particular interest to EME operators:
- QMAP now decodes Q65 submodes with both 60-second and 30-second T/R
sequence lengths. Clicking on a resulting line in the WSJT-X Active
Stations window automatically sets dial frequency and working
submode as needed to call that station.
- QMAP operates in 60-second receive sequences, and its Q65 decoder
starts at t=19.5, 30.0, 49.5, and 58.5 s into the sequence. Most
decoded messages are displayed well before the end of the relevant
time slot.
- A new, more compact file format is now used for wideband data
files. A "Save decoded" option has been added to the Save menu.
- An option has been added to allow exporting a 3 kHz portion of a
wideband data file as a standard WSJT-X *.wav file.
- CTRL+click on QMAP's upper waterfall sends an integer kHz dial
frequency request to WSJT-X.
- With focus on the WSJT-X main window, hit Alt+A on the keyboard to
clear the Active Stations window.
- Many minor enhancements to the User Interface.
WSJT-X:
- Enable decoding of MSK144 from the jt9[.exe] executable.
- Several changes to reduce problems experienced when (contrary to
our recommendations) messages with short (10-bit) callsign hashes
are used in standard FT4/FT8 sub-bands.
Release: WSJT-X 2.7.0-rc3
January 1, 2024
-------------------------
WSJT-X 2.7.0 Release Candidate 3 brings some new features, as well as
numerous detail improvements and bug fixes, such as:
- Added a new "Update Hamlib" function. On Windows, it allows the user to
update Hamlib directly from the program. The previously used version is
backed up, so the user can easily revert a hamlib update.
- The Hamlib version in use is now displayed (also on Linux and macOS).
- The FT Roundup Messages protocol has been enhanced. It now allows also
the exchange of static 4-digit numbers instead of serial numbers. This
extends the usability of the FT RU protocol for other contest types.
- Improved direct switching between modes. Submode, as well as the status
of the "Sh" and "Fast" checkboxes are now saved and restored by mode.
- Some right-click events were made more intuitive and consistent.
- Right-clicking the Q65 button enables Q65 Pileup mode, a left-click
brings you back to the normal Q65 mode.
- Right-click the JT65 button to switch to JT9 mode.
- For Q65, all messages for us are now displayed in the right window.
- Message averaging is now allowed only when VHF features are
enabled, and label texts are changed to "Single Period Decodes" and
"Average Decodes" only if averaging is enabled.
- Some improvements to the Hamlib Transceiver code. Behavior is now
more stable when Rig Split has been selected.
- Prevented redundant network communication between WSJT-X and DX Lab
Suite Commander.
- Download of the LotW file now works without OpenSSL libraries.
- Made the spot counter work for WSPR.
- Prevented insertion of an individual contest name when in Fox mode.
- WAE entities are now assigned to the correct DXCC when "Include
extra WAE entities" is not selected.
- Added a utility program 'cablog' which can be used to convert the
wsjtx.log file to Cabrillo format for the ARRL EME contest.
- Minor improvements to the Active Stations window.
- The Rx/Tx frequency for Echo mode has been fixed at 1500 Hz.
- Some corrections and updates to the INSTALL instructions for Linux.
- Updated CTY.DAT file.
Release: WSJT-X 2.7.0-rc2
July 7, 2023
-------------------------
WSJT-X 2.7.0 Release Candidate 2 introduces several minor improvements
and bug fixes.
- CTRL+SHIFT+F11/F12 now changes dial frequency by 1000 Hz instead of
2000 Hz.
- Improved spotting to PSK Reporter for upcoming HamSCI Festivals of
Eclipse Ionospheric Science.
- Added optional Hungarian translation of the user interface.
- Fixed a flaw that could produce false decodes in Q65 submodes D and E.
- Fixed a flaw with the QSO start time. It is now reset when the DX
Call changes.
- Fixed a flaw that prevented contest logging of the ARRL Digi Contest.
- Right-clicking the Q65 mode button to toggle the Q65 Pileup mode on/off
now also works on macOS.
- Fixed a compilation error on macOS Ventura.
- WSPR and FST4W band hopping now works again.
- It is now ensured that "U.S.A." is displayed when using certain
cty.dat files.
- Corrected the problem with duplicated FT8 entries in ActiveStations
window.
Release: WSJT-X 2.7.0-rc1
May 12, 2023
-------------------------
WSJT-X 2.7.0 Release Candidate 1 introduces a new program called QMAP,
a new Special Operating Activity known as Q65 Pileup, and a number of
other enhancements and fixes.
- QMAP and Q65 Pileup mode are of particular interest to those
engaged in Earth-Moon-Earth (EME) communication, but other
applications may be found for them as well.
- QMAP is derived from MAP65, an older program used since 2007 for
EME, mainly on the 2 m band. QMAP provides single-polarization
receive-only capabilities for any one of the 60-second submodes
of Q65. It allows you to monitor all traffic in a 90 kHz subband
while conducting EME QSOs in the usual way with WSJT-X.
- Q65 Pileup mode is a new feature in WSJT-X that will assist DX
operators using Q65 in pileup circumstances with many
simultaneous callers and very weak signals, such as those
experienced by 6-meter EME DXpeditions.
- Further details on QMAP and Q65 Pileup mode are available in a
Quick-Start guide posted here:
https://wsjt.sourceforge.io/Quick_Start_WSJT-X_2.7_QMAP.pdf
- WSJT-X now provides more efficient spotting to PSK Reporter.
Redundant spots are omitted, and posting of spots is now spread
more widely in time. (Temporarily, in support of the HamSCI
Festivals of Eclipse Ionospheric Science, spots will be transmitted
more frequently during the upcoming solar eclipses.)
- WSJT-X is now able to process more than 100 FT8 decodes in a single
reception interval.
- Improvements to the Fox mode:
- More convenient and efficient handling of the two queues.
- Fox Log window now displays statistical data on the QSO rate.
- When the station locator is changed (e.g during portable
operations), the new locator will be sent automatically to PSK
Reporter.
- The cty.dat file can now be updated by clicking a button on the
Settings -> Colors tab.
- A new status display appears when fetching a new LotW file.
- Multi-streamed messages transmitted by MSHV are now handled
properly when WSJT-X is in Hound mode.
- Auto-sequencing now has better protection against unwanted effects
caused by late FT8 decodes.
- Fixed an inconsistency in which Contest Name was not correctly
remembered.
- Other minor bug fixes.
- Updated hyperlinks to our homepage and to our new WSJT GROUP User
Forum (https://groups.io/g/wsjtgroup/) can now also be found in the
User Guide.
- The build instructions for macOS have been clarified.
Release: WSJT-X 2.6.1
January 16, 2023
-------------------------
WSJT-X 2.6.1 is mostly a bug fix release for Q65. It has the following
changes since release 2.6.0:
- Fix a flaw in Q65 mode that prevented proper display of the T/R
period spinner.
- Make the initialization of the decoded text font more robust.
- Better initialization when starting the program in FT8 Hound mode.
- Fix a bug causing program crash with more than 100 decodes in a
single FT8 sequence.
- Fix a compiler warning on macOS.
- Correct the reference to "ARRL International Digital Contest" in the
Release Notes.
Release: WSJT-X 2.6.0
January 6, 2023
-------------------------
WSJT-X 2.6.0 is a General Availability (GA) release, the first since
version 2.5.4. Its major enhancements include the following:
- Mode selection buttons on main window for FT4, FT8, JT65, MSK144,
Q65, and FT8's Hound mode
- Support for the ARRL International Digital Contest
- Performance enhancements for the FT8 and Q65 modes
- New features for EME Echo mode, including calibrated SNR reports
- Several new convenience features for Fox operators
- Save/Restore capability, "Preferred" status, and effective date
ranges for mode-dependent tables of default frequencies
- Improved display features for contest log
- Improved calibration of SNR estimates for modes FST4 and FST4W
Other enhancements and bug fixes since 2.6.0-rc5 include the following:
- PSK Reporter spotting is now also possible for frequencies > 4 GHz.
This is required for QO-100, for example.
- The minimum width of the main window has been further reduced, and
such small sizes are now remembered and properly restored.
- Some further improvements for Fox operators.
- Fix the long-standing flaw that "Start new period decodes at top"
didn't work anymore after several hours.
- Fix a flaw that could cause crashes by double-clicking messages
with <...> in certain QSO situations.
- Fix a flaw that prevented the rig from initializing correctly after
switching between configurations when connected via HRD.
- Add tooltips to better explain the split operation options.
- Add some additional FT roundup exchanges which can be used for
local contests or QSO parties.
- Add an option to call CQ with an individual contest name.
- Update of some ARRL section abbreviations.
For full details on changes since WSJT-X version 2.5.4, be sure to
read the Release Notes sections for 2.6.0-rc1 through rc5, immediately
following.
Release: WSJT-X 2.6.0-rc5
November 29, 2022
-------------------------
WSJT-X 2.6.0 Release Candidate 5 brings a number of improvements as
well as some bug fixes.
In program WSJT-X:
- Better calibration for FST4/W SNR estimates.
- Upload FST4W-900 spots to wsprnet with TR code 15 instead of 16.
- Improved FT8 decoding on crowded bands.
- The Working frequency table now offers the following options:
- Better handling of more than one frequency per band.
- Set your preferred frequencies, WSJT-X always comes back to these
QRGs when changing band or mode.
- You can label your frequencies with descriptions (e.g. DXp AB0YXZ).
- Option to set Start and End Date/Time, so that the frequencies
automatically appear and disappear. Useful for contest or
DXpedition QRGs.
- Load a frequency table from a file to easily get all such data
implemented.
- In Fox mode, there are now a few additional functions that allow
operators to react even better to different QSO situations:
- A new two-column table in Tab 2 provides a better overview of
the queue and of the callsigns with QSOs in progress.
- Fox operator can now change the ordering of callsigns in the
queue so that he can react if there is only a narrow time slot
for a particular QSO due to propagation.
- Fox now responds for another two cycles to stations whose
report was not received, increasing the success rate for a
difficult QSO.
- Correct a flaw in Hound mode that sometimes prevented completion of
QSOs with non-standard calls.
- Improvements to EME Echo mode:
- New control "Avg" sets the number of Echo cycles to be averaged.
- New capability to display measurements of wideband noise power as
a function of time. This can be useful for measuring Sun noise,
antenna tracking errors, and the like.
- Several minor bug fixes
- Correct a flaw that prevented WSJT-X from always initializing
correctly when special operating activities were enabled.
- Correct a flaw that caused wrong Tx frequencies to be written to
ALL.TXT.
- The GUI has been improved regarding some details. The controls now
scale better at different font sizes and on different operating
systems.
- When in Hound mode and click the "H" button again, the frequency
is now kept. This gives the user the following two options to return
to normal FT8 mode:
- Click the "H" button again. Then you will stay on the QRG.
- Click the "FT8" button (or use the Settings menu). It brings
you back to the default FT8 QRG.
- Decodes flagged as 'a7' are now disabled when "Enable AP" is not
checked, and during the first period after a band change.
- The network address of the UDP server is now checked for errors
before being accepted.
- Some improvements to the DX Lab Suite Commander interface.
- Correct some possible flaws that could cause segfault errors in
certain unusual situations.
- Warnings on dropped audio have been disabled for now, as detection
has turned out to be not reliable enough.
- Correct a long-standing flaw which caused the "Transmit digital gain"
overlay to appear somewhere on the screen.
- "Highlight DX Call" now also works when the other station is <...>.
- CQ messages without a grid are now sent to PSK reporter.
- Several other minor corrections (tool tips, etc.).
Program MAP65 (Windows only) includes several minor bug fixes and two
tentative new features:
- an aid for measuring antenna pointing errors
- an ability to read the file wsjtx.log (kept by WSJT-X) to recognize
EME contest dupes.
Release: WSJT-X 2.6.0-rc4
September 8, 2022
-------------------------
WSJT-X 2.6.0 Release Candidate 4 provides further improvements to Echo
mode, a new File menu item, and several bug fixes.
- New features and fixes for Echo mode
- Created a new simulator echosim[.exe]
- Improved organization of output to text window
- Gain and Zero controls in Echo Graph now behave independently
- "Clear Avg" now erases the plot in Echo Graph
- Optional baseline for plots in Echo Graph
- New menu item "File | Copy main text window to WSJT-X.txt"
- Doppler tracking checkbox is made sticky
- Fix an RC2 bug that prevented normal use of JT9.
- Fix a rarely experienced failure when writing to decoded.txt
- Fix a hamlib bug caused by setting VFO B when Split is not used
- Rig control interface to Ham Radio deluxe made more robust
Release: WSJT-X 2.6.0-rc3
August 22, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 3 provides improvements to Echo mode and
several bug fixes.
- Echo mode now allows audio-frequency corrections rather than
CAT-controlled resetting of dial frequency for Doppler corrections,
when Doppler shift is less than 750 Hz. Audio-frequency
corrections are also used to correct any remaining portion of
Doppler shift caused by coarse CAT-controlled frequency setting.
- Echo mode now saves .wav files when "Save all" is selected. When
such files are opened in Echo mode, the astronomical parameters at
recording time are restored and used for processing the Echo data.
- A missing Leap Second (January 1, 2017) was added to the code that
converts UTC to UT1. This detail might matter if you want full
accuracy EME Doppler corrections.
- EME Doppler values are now rounded to nearest integer Hz.
- For backward compatibility, "Special Operating Activity"
enumerations for Fox and Hound modes are reset to their previous
values 6 and 7.
- Allow FST4W transmissions on 30m band. Ensure that correct
frequency is reported to WSPRnet for FST4W decodes with Rx Freq
spinbox not set to 1500.
- Fix a bug that could truncate WSPR transmissions early.
- Fix a bug that occasionally caused a crash when 'decoded.txt'
could not be opened.
- Fix a bug that could cause a crash if Astronomical Data window
is not active when needed.
- Fix a bug that caused a crash when "Reset Cabrillo Log" is
selected with Active Stations window not active.
Release: WSJT-X 2.6.0-rc2
July 21, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 2 brings a number of improvements as
well as some bug fixes.
- The "Measure" function in Echo mode now uses the computed Doppler
spread for DX grid, when available. This feature is especially
helpful for microwave EME tests, enabling accurate measurement of
SNR for a DX station.
- Settings for T/R period and Submode are now remembered by mode when
you switch directly between (for example) MSK144-15, Q65-60A,
JT65C, or FST4-120.
- Tx and Rx audio frequencies are remembered and restored when you
return from a mode that sets a default frequency of 1500 Hz
(MSK144, FST4W, Echo, WSPR, FreqCal) and then switching back to
FT4, FT8, Q65, JT65, or FST4.
- QSOs in the Contest Log can now be displayed in increasing or
decreasing order of logged time. By default the log is scrolled to
the latest logged QSO, ready for insertion of a new contact. The
total number of QSOs in the Contest Log is displayed at bottom left
of its window.
- Default FT8 frequency for 4m band (Region 1) is set to 70.154 MHz.
- Layout of mode buttons has been optimized for 4K screens.
- Display of Keyboard Shortcuts has been updated.
- The OK button now has default focus in the LogQSO dialog window.
You may just hit Enter to log the QSO.
- Bug fix: The Tx Freq spinbox remained red when coming back from
some Q65 submodes. Corrected.
- Hamlib bug fixes: make sure that VFOB is selected when required on
some rigs (e.g. IC7610, IC7100), and others.
Release: WSJT-X 2.6.0-rc1
June 20, 2022
----------------------
WSJT-X 2.6.0 Release Candidate 1 introduces support for the ARRL
International Digital Contest; performance enhancements for FT8, Q65,
and EME Echo mode; new controls and options on the GUI; and several
bug fixes.
In program WSJT-X:
- Improved decoding for FT8: additional messages are marked 'a7'
- Improved decoding for Q65 when AP is in use
- Optional new "Active Stations" window and other features
supporting ARRL International Digital Contest
- Accurate SNR measurements in Echo mode, including large Doppler
spreads
- Add mode selection buttons on main window for FT4, FT8, JT65,
MSK144, and Q65
- Add a button to toggle FT8's Hound mode ON or OFF
- Add a "Clr Avg" button for Echo mode
- Add optional highlighting of DX Call and DX Grid
- Add optional highlighting of messages containing RR73 or 73
- New options for writing to ALL.TXT: split the file yearly, monthly,
or disable writing altogether
- Add Russian to available translations of user interface
- Add a 90 s Tune watchdog with optional disable
- Allow auto reply for non-CQ messages via UDP (JTAlert, etc.) when
Hold Tx Freq is enabled
- Suppress transmission of blank messages
- Suppress self-spotting when running multiple instances
- Correct the handling of messages starting with "CQ xxxx ..."
- Correct a flaw that could cause Windows to drop audio samples
- Correct a flaw that could send incorrect frequencies to ALL.TXT
and PSK Reporter after a band change
- Correct the auto-sequencing logic in several specific circumstances
- Correct a flaw in WSPR mode when handling three-character callsigns
- Correct a flaw that could cause OmniRig 1.19 or later to set
incorrect frequencies after initialization
- Clean up some ToolTips
- Fix an inconsistancy in the macOS installation package that caused
the pwr slider to behave incorrectly on macOS 12
In program MAP65 (Windows only):
- Send additional information to file azel.dat
- Allow optional scaling of digital I/Q data
- Suppress a bounds error caused by too-wide setting of display
bandwidth
Release: WSJT-X 2.5.4
Dec 28, 2021
----------------------
This is mostly a bug fix release. It has the following changes since
release 2.5.3:
WSJTX:
- Repair a defect that caused occasional crashes when in QSO with
stations using nonstandard callsigns.
MAP65:
- Allowing MAP65 "Best-fit Delta phi" solution to be displayed to the
user.
Release: WSJT-X 2.5.3
Dec 7, 2021
----------------------
This release has the following changes since release 2.5.2:
- Add a note in memory of G4WJS to the About window
- Add a simple $DXCALL macro capability for Tx messages, and update
the User Guide accordingly
- Ensure that MAIN VFO is used for receiving on rigs that require it
- Repair a defect in reporting low-confidence decodes to PskReporter
- Updated CTY.DAT database, tnx to Jim AD1C
Release: WSJT-X 2.5.2
Nov 4, 2021
----------------------
This is mostly a bug fix release. It has the following changes since
release 2.5.1:
- Repair a longstanding regression that caused signal reports from
tail-ended Tx2 messages to be omitted from logged information
- Parse "dx-call-1 RR73; dx-call-2 <de-call> +nn" messages (i3=0,
n3=1 DXpedition mode) in regular 77-bit modes
- Repair a regression associated with setting the main window width
on program startup.
- Repair a problem with Q65 decodes of type 'q3' for messages of the
form "<Call_1> Call_2"
- Execute code associated with Q65 decodes of type 'q5' only when the
Max Drift control is set to 50. This fix prevents
double-incrementing of the message averaging counter on the first
decoding sequence.
- Polarization offset 'Dpol' from the astronomical data window is now
written to file azel.dat if environment variable
WSJT_AZEL_EXTRA_LINES has been defined as 1 or greater. Dpol is
especially useful for EME on the higher microwave bands.
- The Auto Log QSO option in "Settings->Reporting" now behaves the
same as the Prompt to log QSO option when not in a special
operating context mode.
- The Fast/Normal/Deep setting in Q65 mode is now a sticky setting
and is no longer reset to Fast on program startup or when Settings
has been opened. The user selection is used for automatic decodes,
but Deep is used for any subsequent manual decode attempts.
- New hamlib code to correct minor flaws in controlling several rigs.
- Update the Chinese and Hong Kong translations of the user
interface.
- Note that since the WSJT-X v2.5.0 GA release we have not been
providing pre-built 32-bit packages for Linux on Intel CPUs, this
is due to the mainstream Linux Desktop distributions no longer
providing updates for 32-bit only systems. 32-bit WSJT-X can still
be built for Linux Intel and is supported at least until some
prerequisite package is no longer available.
Release: WSJT-X 2.5.1
Oct 21, 2021
----------------------
This release mainly contains improvements and defect repairs related
to Q65 and JT65 modes when used with non-standard and compound
calls. Also included is a new feature for microwave aircraft scatter
and repairs for defects detected since the 2.5.0 GA release.
- Improved Q65 support for 10GHz Aircraft Scatter contributed by Rex,
VK7MO, and Roger, W3SZ. (See "10 GHz Terrestrial with Q65" in DUBUS
Vol 1/2021 page 64.) Decodes of type 'q3' may now include
corrections for frequency drift.
- Repair a defect that failed to pre-load the DE and DX calls to the
hash lookup tables in the Q65 decoder.
- Repair standard message Tx4 and Tx5 generation in Q65 mode when
using a non-standard call.
- Repair a defect in generation of the standard Tx2 JT65 message in
EME mode when using a compound call.
- Repair a defect when decoding 77-bit type 4 non-standard call
message.
- Repair a defect that could cause a crash when switching from Q65 to
JT65 mode and attempting a double-click decode.
- Enable 'q3' AP decoding in Q65 mode for messages containing a
non-standard call.
- Repair a defect that required a blank DX Grid to achieve Q65 'q3'
decodes of messages containing a non-standard call.
- Repair the logic that sets parameters for Q65 "Deep" decoding.
- In Q65 mode, allow 'q2' decodes when MyCall is compound or
non-standard.
- Repair a long-standing defect that could cause a crash when
reference spectrum correction is enabled.
- Updated UI translations from Xavi, EA3W, Oba-san, JA7UDE, and a new
translation for Traditional Chinese by Steven, BU2EL.
- Updated CTY.DAT database, tnx to Jim AD1C
- Improved main window layout to ensure TxN messages are fully
visible.
Release: WSJT-X 2.5.0
Sept 27, 2021
-------------------------
WSJT-X in this release is nearly identical to that in WSJT-X 2.4.0.
The Q65 decoder has been enhanced to measure and compensate for linear
frequency drift in Q65 signals. In addition, the Windows installation
package now includes version 3.0 of application MAP65 which has Q65
support to match and improve on its existing JT65 capabilities.
See the 2.5.0 release candidate notices below for a summaries of the
other changes included in this release. WSJT-X 2.5.0 is bundled with
Hamlib version 4.3.1 which includes important regression repairs over
the earlier 4.3 release.
Other changes in the package since WSJT-X 2.5.0-rc6 include the
following enhancements and defect repairs:
MAP65:
- Ensure that CALL3.TXT is not deleted while updating the file (this
allows sharing using symlinks to work).
- Fix MAP65's generation of Tx3 message for abs(SNR)< 10.
WSJTX:
- Repair a defect that caused CAT errors when using WSPR band hopping
and auto tune-up with some Icom rigs.
- Ensure that CALL3.TXT is not deleted while updating the file (this
allows sharing using symlinks to work).
Release: WSJT-X 2.5.0-rc6
Sept 6, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc5 include the following
enhancements and defect repairs:
MAP65:
- There are no functional changes to MAP65 in this release.
WSJT-X:
- Repair a file handle leak in wsprd (tnx Phil, KA9Q).
- Better handling of the Tx1 buttons when changing special operating
modes.
- Q65 mode now supports contest special operating modes.
- Repair an issue when non-ASCII characters used in account names.
- Repair a regression that prevented WSPR band-hopping working when
the Tx percentage is zero.
Release: WSJT-X 2.5.0-rc5
Aug 5, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc4 include the following
enhancements and defect repairs:
MAP65:
- When you double-click on lower waterfall, Ftol is set to 100
only if it is currently set to a higher value.
- Early decoding pass is skipped when data are read from disk.
- Duplicate decodes are suppressed only when at the same frequency.
WSJT-X:
- Repair a regression that caused some messages involving compound
or nonstandard callsigns to be encoded as free text
Release: WSJT-X 2.5.0-rc4
Aug 1, 2021
-------------------------
Remember that the WSJT-X 2.5.0 package includes MAP65 3.0.0. Changes
in the package since WSJT-X 2.5.0-rc3 include the following
enhancements and defect repairs:
MAP65:
- Suppress display of duplicate decodes
- Increase the length of .tf2 & .iq files to 56 s
- Implement an early decoding pass at 52 s
- Clean up the output written to map65_rx.log
WSJT-X:
- Repair a defect in CALL3.TXT lookups that incorrectly matched
partial calls
- Instructions in macOS ReadMe.txt to suppress App Nap energy saving
- Revised User Guide using FT8 mode for the basic tutorial
- Allow contest and FD operating in Q65 mode
Release: WSJT-X 2.5.0-rc3
@ -34,6 +814,7 @@ WSJT-X:
messages to not be sent when no other intervening messages are
sent.
Release: WSJT-X 2.5.0-rc2
Jun 28, 2021
-------------------------
@ -74,6 +855,7 @@ WSJT-X (including the decoder for Q65 used by MAP65):
series rigs, and support for the Icom IC-575 rig.
- Updated CTY.DAT database
Release: WSJT-X 2.5.0-rc1
Jun 3, 2021
-------------------------
@ -428,7 +1210,6 @@ release candidate.
- Several updates to international UI translations.
Release: WSJT-X 2.3.0-rc2
Nov 16, 2020
-------------------------
@ -461,7 +1242,6 @@ includes some new functionality that missed the RC1 cut off deadline.
choice.
Release: WSJT-X 2.3.0-rc1
Sept 28, 2020
-------------------------
@ -894,6 +1674,7 @@ prior v2.1.0 release.
- Fix a production issue with the macOS tool chain that generated
broken executables.
Release: WSJT-X 2.1
July 15, 2019
-------------------
@ -915,6 +1696,7 @@ There are numerous minor enhancements and bug fixes.
We now provide a separate installation package for 64-bit Windows 7
and later, with significant improvements in decoding speed.
Release: WSJT-X 2.1.0-rc7
June 3, 2019
-------------------------
@ -1045,6 +1827,7 @@ feedback to guide future development.
*Note* this release is not for general public release and we request
that it is not distributed.
Release: WSJT-X 2.1.0-rc1
March 25, 2019
-------------------------
@ -1178,6 +1961,7 @@ Some details of changes since WSJT-X-rc5 include the following:
- Update the WSJT-X User Guide to v2.0 (more to come...)
- Update cty.dat
Release: WSJT-X 2.0-rc5
November 26, 2018
-----------------------
@ -1407,7 +2191,6 @@ Changes from WSJT-X Version 1.9.0-rc2 include the following:
to be CAT controlled by WSJT-X.
Release: WSJT-X Version 1.9.0-rc2
February 26, 2018
---------------------------------
@ -1577,8 +2360,6 @@ message from populating the Tx message boxes.
- Fix an issue with editing IARU regions in the working frequencies table.
Release: WSJT-X Version 1.8.0-rc2
September 2, 2017
---------------------------------

View File

@ -385,7 +385,7 @@ auto DXLabSuiteCommanderTransceiver::get_mode () -> MODE
void DXLabSuiteCommanderTransceiver::simple_command (QString const& cmd)
{
Q_ASSERT (commander_);
if (!commander_) return;
CAT_TRACE (cmd);
@ -398,7 +398,7 @@ void DXLabSuiteCommanderTransceiver::simple_command (QString const& cmd)
QString DXLabSuiteCommanderTransceiver::command_with_reply (QString const& cmd)
{
Q_ASSERT (commander_);
if (!commander_) return QString {};
if (!write_to_port (cmd))
{
@ -437,15 +437,14 @@ QString DXLabSuiteCommanderTransceiver::command_with_reply (QString const& cmd)
};
}
auto result = commander_->readAll ();
// qDebug () << "result: " << result;
// for (int i = 0; i < result.size (); ++i)
// {
// qDebug () << i << ":" << hex << int (result[i]);
// }
QString result = commander_->readAll ();
if (result != NULL)
{
CAT_TRACE (cmd << " -> " << QString {result});
return result; // converting raw UTF-8 bytes to QString
}
return "";
}
bool DXLabSuiteCommanderTransceiver::write_to_port (QString const& s)

View File

@ -18,7 +18,7 @@ namespace
// some commands require a settling time, particularly "RX A" and
// "RX B" on the Yaesu FTdx3000.
int constexpr yaesu_delay {250};
int constexpr yaesu_delay {350};
}
#include "moc_HRDTransceiver.cpp"
@ -1005,7 +1005,7 @@ void HRDTransceiver::do_poll ()
QString HRDTransceiver::send_command (QString const& cmd, bool prepend_context, bool recurse)
{
Q_ASSERT (hrd_);
if (!hrd_) return QString {};
QString result;
@ -1124,7 +1124,7 @@ QByteArray HRDTransceiver::read_reply (QString const& cmd)
{
// waitForReadReady appears to be occasionally unreliable on Windows
// timing out when data is waiting so retry a few times
unsigned retries {3};
unsigned retries {30};
bool replied {false};
while (!replied && retries--)
{

View File

@ -659,7 +659,7 @@ int HamlibTransceiver::do_start ()
rmode_t mb;
pbwidth_t w {RIG_PASSBAND_NORMAL};
pbwidth_t wb;
if (m_->freq_query_works_
if (m_->freq_query_works_ && m_->mode_query_works_
&& (!m_->get_vfo_works_ || !rig_get_function_ptr (m_->model_, RIG_FUNCTION_GET_VFO)))
{
// Icom have deficient CAT protocol with no way of reading which
@ -760,7 +760,7 @@ int HamlibTransceiver::do_start ()
m_->reversed_ = RIG_VFO_B == v;
if (m_->mode_query_works_ && !(rig_get_caps_int (m_->model_, RIG_CAPS_TARGETABLE_VFO) & (RIG_TARGETABLE_MODE | RIG_TARGETABLE_PURE)))
if (m_->mode_query_works_ && !(rig_get_caps_int (m_->model_, RIG_CAPS_TARGETABLE_VFO) & RIG_TARGETABLE_MODE))
{
if (RIG_OK == rig_get_mode (m_->rig_.data (), RIG_VFO_CURR, &m, &w))
{
@ -882,7 +882,12 @@ void HamlibTransceiver::do_frequency (Frequency f, MODE m, bool no_ignore)
{
// for the 1st time as a band change may cause a recalled mode to be
// set
m_->error_check (rig_set_freq (m_->rig_.data (), RIG_VFO_CURR, f), tr ("setting frequency"));
vfo_t target_vfo = RIG_VFO_CURR;
if (!(m_->rig_->state.vfo_list & RIG_VFO_B))
{
target_vfo = RIG_VFO_MAIN; // no VFO A/B so force to Rx on MAIN
}
m_->error_check (rig_set_freq (m_->rig_.data (), target_vfo, f), tr ("setting frequency"));
update_rx_frequency (f);
if (m_->mode_query_works_ && UNK != m)
@ -890,13 +895,13 @@ void HamlibTransceiver::do_frequency (Frequency f, MODE m, bool no_ignore)
rmode_t current_mode;
pbwidth_t current_width;
auto new_mode = m_->map_mode (m);
m_->error_check (rig_get_mode (m_->rig_.data (), RIG_VFO_CURR, &current_mode, &current_width), tr ("getting current VFO mode"));
m_->error_check (rig_get_mode (m_->rig_.data (), target_vfo, &current_mode, &current_width), tr ("getting current VFO mode"));
CAT_TRACE ("rig_get_mode mode=" << rig_strrmode (current_mode) << " bw=" << current_width);
if (new_mode != current_mode)
{
CAT_TRACE ("rig_set_mode mode=" << rig_strrmode (new_mode));
m_->error_check (rig_set_mode (m_->rig_.data (), RIG_VFO_CURR, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
m_->error_check (rig_set_mode (m_->rig_.data (), target_vfo, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
// for the 2nd time because a mode change may have caused a
// frequency change
@ -905,8 +910,10 @@ void HamlibTransceiver::do_frequency (Frequency f, MODE m, bool no_ignore)
// for the second time because some rigs change mode according
// to frequency such as the TS-2000 auto mode setting
CAT_TRACE ("rig_set_mode mode=" << rig_strrmode (new_mode));
m_->error_check (rig_set_mode (m_->rig_.data (), RIG_VFO_CURR, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
m_->error_check (rig_set_mode (m_->rig_.data (), target_vfo, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
}
// set mode on VFOB too if we are in split
if (state ().split()) rig_set_mode (m_->rig_.data (), RIG_VFO_B, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting VFOB mode");
update_mode (m);
}
}
@ -1037,16 +1044,22 @@ void HamlibTransceiver::do_mode (MODE mode)
pbwidth_t current_width;
auto new_mode = m_->map_mode (mode);
vfo_t target_vfo = RIG_VFO_CURR;
if (!(m_->rig_->state.vfo_list & RIG_VFO_B))
{
target_vfo = RIG_VFO_MAIN; // no VFO A/B so force to Rx on MAIN
}
// only change when receiving or simplex if direct VFO addressing unavailable
if (!(state ().ptt () && state ().split () && m_->one_VFO_))
{
m_->error_check (rig_get_mode (m_->rig_.data (), RIG_VFO_CURR, &current_mode, &current_width), tr ("getting current VFO mode"));
m_->error_check (rig_get_mode (m_->rig_.data (), target_vfo, &current_mode, &current_width), tr ("getting current VFO mode"));
CAT_TRACE ("rig_get_mode mode=" << rig_strrmode (current_mode) << " bw=" << current_width);
if (new_mode != current_mode)
{
CAT_TRACE ("rig_set_mode mode=" << rig_strrmode (new_mode));
m_->error_check (rig_set_mode (m_->rig_.data (), RIG_VFO_CURR, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
m_->error_check (rig_set_mode (m_->rig_.data (), target_vfo, new_mode, RIG_PASSBAND_NOCHANGE), tr ("setting current VFO mode"));
}
}
@ -1128,13 +1141,13 @@ void HamlibTransceiver::do_poll ()
{
m_->error_check (rig_get_freq (m_->rig_.data (), RIG_VFO_CURR, &f), tr ("getting current VFO frequency"));
f = std::round (f);
CAT_TRACE ("rig_get_freq frequency=" << f);
CAT_TRACE ("rig_get_freq frequency=" << Radio::frequency (f));
update_rx_frequency (f);
}
if ((WSJT_RIG_NONE_CAN_SPLIT || !m_->is_dummy_)
&& state ().split ()
&& (rig_get_caps_int (m_->model_, RIG_CAPS_TARGETABLE_VFO) & (RIG_TARGETABLE_FREQ | RIG_TARGETABLE_PURE))
&& (rig_get_caps_int (m_->model_, RIG_CAPS_TARGETABLE_VFO) & RIG_TARGETABLE_FREQ)
&& !m_->one_VFO_)
{
// only read "other" VFO if in split, this allows rigs like

View File

@ -96,11 +96,11 @@ void OmniRigTransceiver::register_transceivers (logger_type *,
};
}
OmniRigTransceiver::OmniRigTransceiver (logger_type * logger,
OmniRigTransceiver::OmniRigTransceiver (logger_type * the_logger,
std::unique_ptr<TransceiverBase> wrapped,
RigNumber n, TransceiverFactory::PTTMethod ptt_type,
QString const& ptt_port, QObject * parent)
: TransceiverBase {logger, parent}
: TransceiverBase {the_logger, parent}
, wrapped_ {std::move (wrapped)}
, use_for_ptt_ {TransceiverFactory::PTT_method_CAT == ptt_type || ("CAT" == ptt_port && (TransceiverFactory::PTT_method_RTS == ptt_type || TransceiverFactory::PTT_method_DTR == ptt_type))}
, ptt_type_ {ptt_type}
@ -111,173 +111,131 @@ OmniRigTransceiver::OmniRigTransceiver (logger_type * logger,
, reversed_ {false}
{
CoInitializeEx (nullptr, 0 /*COINIT_APARTMENTTHREADED*/); // required because Qt only does this for GUI thread
CAT_TRACE ("constructed");
}
OmniRigTransceiver::~OmniRigTransceiver ()
{
CAT_TRACE ("destroying");
CoUninitialize ();
}
// returns false on time out
bool OmniRigTransceiver::await_notification_with_timeout (int timeout)
{
QEventLoop el;
connect (this, &OmniRigTransceiver::notified, &el, [&el] () {el.exit (1);});
QTimer::singleShot (timeout, Qt::CoarseTimer, &el, [&el] () {el.exit (0);});
return 1 == el.exec (); // wait for notify or timer
}
int OmniRigTransceiver::do_start ()
{
CAT_TRACE ("starting");
if (wrapped_) wrapped_->start (0);
omni_rig_.reset (new OmniRig::OmniRigX {this});
if (omni_rig_->isNull ())
try
{
CAT_ERROR ("failed to start COM server");
throw_qstring (tr ("Failed to start OmniRig COM server"));
}
if (wrapped_) wrapped_->start (0);
// COM/OLE exceptions get signaled
connect (&*omni_rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
// IOmniRigXEvent interface signals
connect (&*omni_rig_, SIGNAL (VisibleChange ()), this, SLOT (handle_visible_change ()));
connect (&*omni_rig_, SIGNAL (RigTypeChange (int)), this, SLOT (handle_rig_type_change (int)));
connect (&*omni_rig_, SIGNAL (StatusChange (int)), this, SLOT (handle_status_change (int)));
connect (&*omni_rig_, SIGNAL (ParamsChange (int, int)), this, SLOT (handle_params_change (int, int)));
connect (&*omni_rig_
, SIGNAL (CustomReply (int, QVariant const&, QVariant const&))
, this, SLOT (handle_custom_reply (int, QVariant const&, QVariant const&)));
CAT_INFO ("OmniRig s/w version: " << omni_rig_->SoftwareVersion ()
<< "i/f version: " << omni_rig_->InterfaceVersion ());
// fetch the interface of the RigX CoClass and instantiate a proxy object
switch (rig_number_)
{
case One: rig_.reset (new OmniRig::RigX (omni_rig_->Rig1 ())); break;
case Two: rig_.reset (new OmniRig::RigX (omni_rig_->Rig2 ())); break;
}
Q_ASSERT (rig_);
Q_ASSERT (!rig_->isNull ());
// COM/OLE exceptions get signaled
connect (&*rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
offline_timer_.reset (new QTimer); // instantiate here as
// constructor runs in wrong
// thread
offline_timer_->setSingleShot (true);
connect (offline_timer_.data (), &QTimer::timeout, [this] () {offline ("Rig went offline");});
if (use_for_ptt_ && (TransceiverFactory::PTT_method_DTR == ptt_type_ || TransceiverFactory::PTT_method_RTS == ptt_type_))
{
// fetch the interface for the serial port if we need it for PTT
port_.reset (new OmniRig::PortBits (rig_->PortBits ()));
Q_ASSERT (port_);
Q_ASSERT (!port_->isNull ());
omni_rig_.reset (new OmniRig::OmniRigX {this});
if (omni_rig_->isNull ())
{
CAT_ERROR ("failed to start COM server");
throw_qstring (tr ("Failed to start OmniRig COM server"));
}
// COM/OLE exceptions get signaled
connect (&*port_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
connect (&*omni_rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
CAT_TRACE ("OmniRig RTS state: " << port_->Rts ());
// IOmniRigXEvent interface signals
connect (&*omni_rig_, SIGNAL (VisibleChange ()), this, SLOT (handle_visible_change ()));
connect (&*omni_rig_, SIGNAL (RigTypeChange (int)), this, SLOT (handle_rig_type_change (int)));
connect (&*omni_rig_, SIGNAL (StatusChange (int)), this, SLOT (handle_status_change (int)));
connect (&*omni_rig_, SIGNAL (ParamsChange (int, int)), this, SLOT (handle_params_change (int, int)));
connect (&*omni_rig_
, SIGNAL (CustomReply (int, QVariant const&, QVariant const&))
, this, SLOT (handle_custom_reply (int, QVariant const&, QVariant const&)));
// remove locking because it doesn't seem to work properly
// if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
// {
// CAT_WARNING ("Failed to get exclusive use of serial port for PTT from OmniRig");
// }
CAT_INFO ("OmniRig s/w version: " << static_cast<quint16> (omni_rig_->SoftwareVersion () >> 16)
<< '.' << static_cast<quint16> (omni_rig_->SoftwareVersion () & 0xffff)
<< " i/f version: " << static_cast<int> (omni_rig_->InterfaceVersion () >> 8 & 0xff)
<< '.' << static_cast<int> (omni_rig_->InterfaceVersion () && 0xff));
// start off so we don't accidentally key the radio
if (TransceiverFactory::PTT_method_DTR == ptt_type_)
// fetch the interface of the RigX CoClass and instantiate a proxy object
switch (rig_number_)
{
port_->SetDtr (false);
case One: rig_.reset (new OmniRig::RigX (omni_rig_->Rig1 ())); break;
case Two: rig_.reset (new OmniRig::RigX (omni_rig_->Rig2 ())); break;
}
else // RTS
{
port_->SetRts (false);
}
}
rig_type_ = rig_->RigType ();
readable_params_ = rig_->ReadableParams ();
writable_params_ = rig_->WriteableParams ();
Q_ASSERT (rig_);
Q_ASSERT (!rig_->isNull ());
CAT_INFO (QString {"OmniRig initial rig type: %1 readable params=0x%2 writable params=0x%3 for rig %4"}
.arg (rig_type_)
.arg (readable_params_, 8, 16, QChar ('0'))
.arg (writable_params_, 8, 16, QChar ('0'))
.arg (rig_number_));
for (int i = 0; i < 5; ++i)
{
if (OmniRig::ST_ONLINE == rig_->Status ())
// COM/OLE exceptions get signaled
connect (&*rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
offline_timer_.reset (new QTimer); // instantiate here as constructor runs in wrong thread
offline_timer_->setSingleShot (true);
connect (offline_timer_.data (), &QTimer::timeout, [this] () {offline ("Rig went offline");});
for (int i = 0; i < 5; ++i)
{
break;
// leave some time for Omni-Rig to do its first poll
QThread::msleep (250);
if (OmniRig::ST_ONLINE == rig_->Status ())
{
break;
}
}
await_notification_with_timeout (1000);
}
if (OmniRig::ST_ONLINE != rig_->Status ())
{
throw_qstring ("OmniRig: " + rig_->StatusStr ());
}
QThread::msleep (500); // leave some time for Omni-Rig to get
// the rig status for the 1st. time
auto f = rig_->GetRxFrequency ();
for (int i = 0; (f == 0) && (i < 5); ++i)
{
await_notification_with_timeout (1000);
f = rig_->GetRxFrequency ();
}
update_rx_frequency (f);
int resolution {0};
if (OmniRig::PM_UNKNOWN == rig_->Vfo ()
&& (writable_params_ & (OmniRig::PM_VFOA | OmniRig::PM_VFOB))
== (OmniRig::PM_VFOA | OmniRig::PM_VFOB))
{
// start with VFO A (probably MAIN) on rigs that we
// can't query VFO but can set explicitly
rig_->SetVfo (OmniRig::PM_VFOA);
}
f = state ().frequency ();
if (f % 10) return resolution; // 1Hz resolution
auto test_frequency = f - f % 100 + 55;
if (OmniRig::PM_FREQ & writable_params_)
{
rig_->SetFreq (test_frequency);
}
else if (reversed_ && (OmniRig::PM_FREQB & writable_params_))
{
rig_->SetFreqB (test_frequency);
}
else if (!reversed_ && (OmniRig::PM_FREQA & writable_params_))
{
rig_->SetFreqA (test_frequency);
}
else
{
throw_qstring (tr ("OmniRig: don't know how to set rig frequency"));
}
if (!await_notification_with_timeout (1000))
{
CAT_ERROR ("do_start 1: wait timed out");
throw_qstring (tr ("OmniRig: timeout waiting for update from rig"));
}
switch (rig_->GetRxFrequency () - test_frequency)
{
case -5: resolution = -1; break; // 10Hz truncated
case 5: resolution = 1; break; // 10Hz rounded
case -15: resolution = -2; break; // 20Hz truncated
case -55: resolution = -2; break; // 100Hz truncated
case 45: resolution = 2; break; // 100Hz rounded
}
if (1 == resolution) // may be 20Hz rounded
{
test_frequency = f - f % 100 + 51;
if (OmniRig::ST_ONLINE != rig_->Status ())
{
CAT_ERROR ("rig not online");
throw_qstring ("OmniRig: " + rig_->StatusStr ());
}
if (use_for_ptt_ && (TransceiverFactory::PTT_method_DTR == ptt_type_ || TransceiverFactory::PTT_method_RTS == ptt_type_))
{
// fetch the interface for the serial port if we need it for PTT
port_.reset (new OmniRig::PortBits (rig_->PortBits ()));
Q_ASSERT (port_);
Q_ASSERT (!port_->isNull ());
// COM/OLE exceptions get signaled
connect (&*port_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
CAT_TRACE ("OmniRig RTS state: " << port_->Rts ());
// remove locking because it doesn't seem to work properly
// if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
// {
// CAT_WARNING ("Failed to get exclusive use of serial port for PTT from OmniRig");
// }
// start off so we don't accidentally key the radio
if (TransceiverFactory::PTT_method_DTR == ptt_type_)
{
port_->SetDtr (false);
}
else // RTS
{
port_->SetRts (false);
}
}
rig_type_ = rig_->RigType ();
readable_params_ = rig_->ReadableParams ();
writable_params_ = rig_->WriteableParams ();
CAT_INFO (QString {"OmniRig initial rig type: %1 readable params=0x%2 writable params=0x%3 for rig %4"}
.arg (rig_type_)
.arg (readable_params_, 8, 16, QChar ('0'))
.arg (writable_params_, 8, 16, QChar ('0'))
.arg (rig_number_));
update_rx_frequency (rig_->GetRxFrequency ());
int resolution {0};
if (OmniRig::PM_UNKNOWN == rig_->Vfo ()
&& (writable_params_ & (OmniRig::PM_VFOA | OmniRig::PM_VFOB))
== (OmniRig::PM_VFOA | OmniRig::PM_VFOB))
{
// start with VFO A (probably MAIN) on rigs that we
// can't query VFO but can set explicitly
rig_->SetVfo (OmniRig::PM_VFOA);
}
auto f = state ().frequency ();
if (f % 10) return resolution; // 1Hz resolution
auto test_frequency = f - f % 100 + 55;
if (OmniRig::PM_FREQ & writable_params_)
{
rig_->SetFreq (test_frequency);
@ -290,34 +248,78 @@ int OmniRigTransceiver::do_start ()
{
rig_->SetFreqA (test_frequency);
}
if (!await_notification_with_timeout (2000))
else
{
CAT_ERROR ("do_start 2: wait timed out");
throw_qstring (tr ("OmniRig: timeout waiting for update from rig"));
throw_qstring (tr ("OmniRig: don't know how to set rig frequency"));
}
if (9 == rig_->GetRxFrequency () - test_frequency)
switch (rig_->GetRxFrequency () - test_frequency)
{
resolution = 2; // 20Hz rounded
case -5: resolution = -1; break; // 10Hz truncated
case 5: resolution = 1; break; // 10Hz rounded
case -15: resolution = -2; break; // 20Hz truncated
case -55: resolution = -2; break; // 100Hz truncated
case 45: resolution = 2; break; // 100Hz rounded
}
if (1 == resolution) // may be 20Hz rounded
{
test_frequency = f - f % 100 + 51;
if (OmniRig::PM_FREQ & writable_params_)
{
rig_->SetFreq (test_frequency);
}
else if (reversed_ && (OmniRig::PM_FREQB & writable_params_))
{
rig_->SetFreqB (test_frequency);
}
else if (!reversed_ && (OmniRig::PM_FREQA & writable_params_))
{
rig_->SetFreqA (test_frequency);
}
if (9 == rig_->GetRxFrequency () - test_frequency)
{
resolution = 2; // 20Hz rounded
}
}
// For OmniRig v1.19 or later we need a delay between GetRxFrequency () and SetFreq (f),
// otherwise rig QRG stays at f+55 Hz. 200 ms should do job for all modern transceivers.
// However, with very slow rigs, QRG may still stay at f+55 Hz. Such rigs should use v1.18.
// Due to the asynchronous nature of Omnirig commands, a better solution would be to implement
// an event handler for OmniRig's OnParamChange event and read the frequency inside that handler.
if (OmniRig::PM_FREQ & writable_params_)
{
QTimer::singleShot (200, [=] {
rig_->SetFreq (f);
});
}
else if (reversed_ && (OmniRig::PM_FREQB & writable_params_))
{
QTimer::singleShot (200, [=] {
rig_->SetFreqB (f);
});
}
else if (!reversed_ && (OmniRig::PM_FREQA & writable_params_))
{
QTimer::singleShot (200, [=] {
rig_->SetFreqA (f);
});
}
update_rx_frequency (f);
CAT_TRACE ("started");
return resolution;
}
if (OmniRig::PM_FREQ & writable_params_)
catch (...)
{
rig_->SetFreq (f);
CAT_TRACE ("start threw exception");
throw;
}
else if (reversed_ && (OmniRig::PM_FREQB & writable_params_))
{
rig_->SetFreqB (f);
}
else if (!reversed_ && (OmniRig::PM_FREQA & writable_params_))
{
rig_->SetFreqA (f);
}
update_rx_frequency (f);
return resolution;
}
void OmniRigTransceiver::do_stop ()
{
CAT_TRACE ("stopping");
QThread::msleep (200); // leave some time for pending
// commands at the server end
@ -337,6 +339,7 @@ void OmniRigTransceiver::do_stop ()
{
rig_->clear ();
rig_.reset ();
CAT_TRACE ("rig_ reset");
}
omni_rig_->clear ();
omni_rig_.reset ();
@ -396,7 +399,6 @@ void OmniRigTransceiver::handle_status_change (int rig_number)
else
{
offline_timer_->stop (); // good to go again
Q_EMIT notified ();
}
// else
// {
@ -467,7 +469,6 @@ void OmniRigTransceiver::handle_params_change (int rig_number, int params)
if (params & OmniRig::PM_FREQ)
{
CAT_TRACE ("FREQ");
need_frequency = true;
}
if (params & OmniRig::PM_FREQA)
@ -653,7 +654,6 @@ void OmniRigTransceiver::handle_params_change (int rig_number, int params)
}
CAT_TRACE ("OmniRig params change: state after:" << state ());
}
Q_EMIT notified ();
}
void OmniRigTransceiver::handle_custom_reply (int rig_number, QVariant const& command, QVariant const& reply)
@ -710,7 +710,7 @@ void OmniRigTransceiver::do_ptt (bool on)
void OmniRigTransceiver::do_frequency (Frequency f, MODE m, bool /*no_ignore*/)
{
CAT_TRACE (f << state ());
CAT_TRACE (f << ' ' << state ());
if (!rig_ || rig_->isNull ()) return;
if (UNK != m)
{
@ -739,7 +739,7 @@ void OmniRigTransceiver::do_frequency (Frequency f, MODE m, bool /*no_ignore*/)
void OmniRigTransceiver::do_tx_frequency (Frequency tx, MODE m, bool /*no_ignore*/)
{
CAT_TRACE (tx << state ());
CAT_TRACE (tx << ' ' << state ());
if (!rig_ || rig_->isNull ()) return;
bool split {tx != 0};
if (split)
@ -804,7 +804,7 @@ void OmniRigTransceiver::do_tx_frequency (Frequency tx, MODE m, bool /*no_ignore
void OmniRigTransceiver::do_mode (MODE mode)
{
CAT_TRACE (mode << state ());
CAT_TRACE (mode << ' ' << state ());
if (!rig_ || rig_->isNull ()) return;
// TODO: G4WJS OmniRig doesn't seem to have any capability of tracking/setting VFO B mode
auto mapped = map_mode (mode);

View File

@ -44,9 +44,6 @@ public:
void do_ptt (bool on) override;
private:
bool await_notification_with_timeout (int timeout);
Q_SIGNAL void notified () const;
// Q_SLOT void timeout_check ();
Q_SLOT void handle_COM_exception (int, QString, QString, QString);
Q_SLOT void handle_visible_change ();
Q_SLOT void handle_rig_type_change (int rig_number);

View File

@ -117,6 +117,10 @@ void PollingTransceiver::do_post_ptt (bool p)
retries_ = polls_to_stabilize;
//retries_ = 0; // fast feedback on PTT
}
else
{
next_state_.ptt(p); // ensure this is initialized
}
}
bool PollingTransceiver::do_pre_update ()

View File

@ -23,6 +23,12 @@ QDebug operator << (QDebug d, Transceiver::TransceiverState const& s)
}
#endif
std::ostream& operator << (std::ostream& os, Transceiver::MODE m)
{
auto const& mo = Transceiver::staticMetaObject; \
return os << mo.enumerator (mo.indexOfEnumerator ("MODE")).valueToKey (static_cast<int> (m)); \
}
std::ostream& operator << (std::ostream& os, Transceiver::TransceiverState const& s)
{
return os

View File

@ -169,6 +169,7 @@ Q_DECLARE_METATYPE (Transceiver::TransceiverState);
QDebug operator << (QDebug, Transceiver::TransceiverState const&);
#endif
std::ostream& operator << (std::ostream&, Transceiver::MODE);
std::ostream& operator << (std::ostream&, Transceiver::TransceiverState const&);
ENUM_QDATASTREAM_OPS_DECL (Transceiver, MODE);

View File

@ -16,6 +16,8 @@ namespace
void TransceiverBase::start (unsigned sequence_number) noexcept
{
CAT_TRACE ("#: " << sequence_number);
QString message;
try
{
@ -26,10 +28,12 @@ void TransceiverBase::start (unsigned sequence_number) noexcept
}
catch (std::exception const& e)
{
CAT_TRACE ("#: " << sequence_number << " what: " << e.what ());
message = e.what ();
}
catch (...)
{
CAT_TRACE ("#: " << sequence_number);
message = unexpected;
}
if (!message.isEmpty ())
@ -41,7 +45,7 @@ void TransceiverBase::start (unsigned sequence_number) noexcept
void TransceiverBase::set (TransceiverState const& s,
unsigned sequence_number) noexcept
{
CAT_TRACE ("#: " << sequence_number << " " << s);
CAT_TRACE ("#: " << s);
QString message;
try
@ -77,8 +81,7 @@ void TransceiverBase::set (TransceiverState const& s,
}
if (s.frequency () // ignore bogus zero frequencies
&& ((s.frequency () != requested_.frequency () // and QSY
|| (s.mode () != UNK && s.mode () != requested_.mode ())) // or mode change
|| ptt_off)) // or just returned to rx
|| (s.mode () != UNK && s.mode () != requested_.mode ())))) // or mode change
{
do_frequency (s.frequency (), s.mode (), ptt_off);
do_post_frequency (s.frequency (), s.mode ());
@ -119,10 +122,12 @@ void TransceiverBase::set (TransceiverState const& s,
}
catch (std::exception const& e)
{
CAT_TRACE ("#: " << sequence_number << " what: " << e.what ());
message = e.what ();
}
catch (...)
{
CAT_TRACE ("#: " << sequence_number << " " << sequence_number);
message = unexpected;
}
if (!message.isEmpty ())
@ -133,6 +138,7 @@ void TransceiverBase::set (TransceiverState const& s,
void TransceiverBase::startup ()
{
CAT_TRACE ("startup");
QString message;
try
{
@ -144,10 +150,12 @@ void TransceiverBase::startup ()
}
catch (std::exception const& e)
{
CAT_TRACE ("startup" << " what: " << e.what ());
message = e.what ();
}
catch (...)
{
CAT_TRACE ("startup");
message = unexpected;
}
if (!message.isEmpty ())
@ -158,6 +166,7 @@ void TransceiverBase::startup ()
void TransceiverBase::shutdown ()
{
CAT_TRACE ("shutdown");
may_update u {this};
if (requested_.online ())
{
@ -177,6 +186,7 @@ void TransceiverBase::shutdown ()
}
catch (...)
{
CAT_TRACE ("shutdown");
// don't care about exceptions
}
}
@ -186,6 +196,7 @@ void TransceiverBase::shutdown ()
void TransceiverBase::stop () noexcept
{
CAT_TRACE ("stop");
QString message;
try
{
@ -193,10 +204,12 @@ void TransceiverBase::stop () noexcept
}
catch (std::exception const& e)
{
CAT_TRACE ("stop" << " what: " << e.what ());
message = e.what ();
}
catch (...)
{
CAT_TRACE ("stop");
message = unexpected;
}
if (!message.isEmpty ())
@ -211,6 +224,7 @@ void TransceiverBase::stop () noexcept
void TransceiverBase::update_rx_frequency (Frequency rx)
{
CAT_TRACE ("frequency: " << rx);
if (rx)
{
actual_.frequency (rx);
@ -220,28 +234,35 @@ void TransceiverBase::update_rx_frequency (Frequency rx)
void TransceiverBase::update_other_frequency (Frequency tx)
{
CAT_TRACE ("frequency: " << tx);
actual_.tx_frequency (tx);
}
void TransceiverBase::update_split (bool state)
{
CAT_TRACE ("state: " << state);
actual_.split (state);
}
void TransceiverBase::update_mode (MODE m)
{
CAT_TRACE ("mode: " << m);
actual_.mode (m);
requested_.mode (m); // track rig changes
}
void TransceiverBase::update_PTT (bool state)
{
CAT_TRACE ("state: " << state);
actual_.ptt (state);
}
void TransceiverBase::update_complete (bool force_signal)
{
if ((do_pre_update () && actual_ != last_) || force_signal)
CAT_TRACE ("force signal: " << force_signal);
if ((do_pre_update ()
&& actual_ != last_)
|| force_signal)
{
Q_EMIT update (actual_, last_sequence_number_);
last_ = actual_;
@ -250,6 +271,7 @@ void TransceiverBase::update_complete (bool force_signal)
void TransceiverBase::offline (QString const& reason)
{
CAT_TRACE ("reason: " << reason);
Q_EMIT failure (reason);
try
{
@ -257,6 +279,7 @@ void TransceiverBase::offline (QString const& reason)
}
catch (...)
{
CAT_TRACE ("reason: " << reason);
// don't care
}
}

View File

@ -41,7 +41,7 @@ class QWidget;
// storage using the provided QSettings object instance.
//
// A passed in Configuration object instance is used to query the
// FrequencyList_v2 model to determine working frequencies for each
// FrequencyList_v2_101 model to determine working frequencies for each
// band. The row index of this model is returned by this classes
// hopping scheduling method so it may be conveniently used to select
// a new working frequency by a client.

3962
cty.dat

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,6 @@ JT4 11101000000011000011000000000000000000
JT4/VHF 11111001001011011011110000000000000000
JT9 11101000000011100001000000000000100000
JT9/VHF 11111010100011111001000000000000000000
JT9+JT65 11101000000111100001000000000000100000
JT65 11101000000011100001000000000000100000
JT65/VHF 11111001000011011010110001000000000000
Q65 11111101011011010011100000010000000011

View File

@ -49,12 +49,11 @@ set (UG_SRCS
system-requirements.adoc
transceiver-setup.adoc
tutorial-example1.adoc
tutorial-example2.adoc
tutorial-example3.adoc
tutorial-example4.adoc
tutorial-example5.adoc
tutorial-example6.adoc
tutorial-main-window.adoc
tutorial-download-samples.adoc
tutorial-wide-graph-settings.adoc
utilities.adoc
vhf-features.adoc
@ -63,7 +62,9 @@ set (UG_SRCS
)
set (UG_IMGS
images/130610_2343-wav-80.png
images/active_stations.png
images/Add_Frequency.png
images/Add_station_info.png
images/AstroData_2.png
images/Astronomical_data.png
images/auto-seq.png
@ -72,9 +73,8 @@ set (UG_IMGS
images/colors.png
images/config-menu.png
images/decode-menu.png
images/decodes.png
images/download_samples.png
images/echo_144.png
images/Echo_1296.png
images/EME_Deep_0.png
images/EME_Deep_1.png
images/EME_Deep_2.png

View File

@ -25,16 +25,17 @@ https://www.msys2.org/wiki/MSYS2-installation/
Take particular care to restart the MSYS2 shell window when directed
to.
Once MSYS2 is installed you will find a start menu entry labelled
"MSYS2 MinGW 64-bit", use that to start a fresh MSYS2 shell window for
the rest of these instructions.
The first step is to install some prerequisite packages which contain
the tools needed to prepare and build the portaudio DLL. Execute the
following command to do that:
pacman -S make diffutils unzip mingw-w64-x86_64-gcc sed tar curl
Once MSYS2 is installed and the prerequisite packages above are
installed you will find a new Windows Start Menu entry labelled "MSYS2
MinGW 64-bit", use that to start a fresh MSYS2 shell window for the
rest of these instructions.
Then make directories to put downloaded sources in and for building:
mkdir -p ~/src ~/build/portaudio

View File

@ -49,44 +49,44 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:asciidoctor_style: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Styles Guide]
:asciidoctor_syntax: https://asciidoctor.org/docs/asciidoc-writers-guide/#delimited-blocks[AsciiDoctor Syntax Guide]
:cc_by_sa: https://creativecommons.org/licenses/by-sa/3.0/[Commons Attribution-ShareAlike 3.0 Unported License]
:debian32: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_i386.deb[wsjtx_{VERSION}_i386.deb]
:debian64: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_amd64.deb[wsjtx_{VERSION}_amd64.deb]
:raspbian: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb]
:raspbian64: https://physics.princeton.edu/pulsar/K1JT/wsjtx_{VERSION}_arm64.deb[wsjtx_{VERSION}_arm64.deb]
:debian32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_i386.deb[wsjtx_{VERSION}_i386.deb]
:debian64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_amd64.deb[wsjtx_{VERSION}_amd64.deb]
:raspbian: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_armhf.deb[wsjtx_{VERSION}_armhf.deb]
:raspbian64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx_{VERSION}_arm64.deb[wsjtx_{VERSION}_arm64.deb]
:debian: https://www.debian.org/[Debian]
:dev_guide: https://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide]
:dev_guide: https://wsjt.sourceforge.io/wsjtx-doc/wsjt-dev-guide.html[Dev-Guide]
:devsvn: https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/[Devel-SVN]
:devrepo: https://sourceforge.net/p/wsjt/wsjtx/ci/master/tree/[SourceForge]
:dimension4: http://www.thinkman.com/dimension4/[Thinking Man Software]
:download: https://physics.princeton.edu/pulsar/K1JT/wsjtx.html[Download Page]
:download: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx.html[Download Page]
:dxatlas: http://www.dxatlas.com/[Afreet Software, Inc.]
:dxlcommander: https://www.dxlabsuite.com/commander/[Commander]
:dxlsuite: https://www.dxlabsuite.com/[DX Lab Suite]
:fedora32: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-i686.rpm[wsjtx-{VERSION}-i686.rpm]
:fedora64: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-x86_64.rpm[wsjtx-{VERSION}-x86_64.rpm]
:fedora32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-i686.rpm[wsjtx-{VERSION}-i686.rpm]
:fedora64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-x86_64.rpm[wsjtx-{VERSION}-x86_64.rpm]
:fmt_arrl: https://www.arrl.org/frequency-measuring-test[ARRL FMT Info]
:fmt_group: https://groups.yahoo.com/neo/groups/FMT-nuts/info[FMT Group]
:fmt_k5cm: http://www.k5cm.com/[FMT Event Info]
:fmt_wspr: https://www.physics.princeton.edu/pulsar/K1JT/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup]
:ft4_protocol: https://physics.princeton.edu/pulsar/k1jt/FT4_Protocol.pdf[The FT4 Protocol for Digital Contesting]
:ft4_ft8_protocols: https://physics.princeton.edu/pulsar/k1jt/FT4_FT8_QEX.pdf[The FT4 and FT8 Communication Protocols]
:fmt_wspr: https://wsjt.sourceforge.io/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup]
:ft4_protocol: https://wsjt.sourceforge.io/FT4_Protocol.pdf[The FT4 Protocol for Digital Contesting]
:ft4_ft8_protocols: https://wsjt.sourceforge.io/FT4_FT8_QEX.pdf[The FT4 and FT8 Communication Protocols]
:ft8_tips: https://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide]
:ft8_DXped: https://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode]
:ft8_DXped: https://wsjt.sourceforge.io/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode]
:gnu_gpl: https://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License]
:homepage: https://physics.princeton.edu/pulsar/K1JT/[WSJT Home Page]
:homepage: https://wsjt.sourceforge.io/index.html[WSJT Home Page]
:hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe]
:jt4eme: https://physics.princeton.edu/pulsar/K1JT/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation]
:jt65protocol: https://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX]
:jt4eme: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation]
:jt65protocol: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JT65.pdf[QEX]
:jtalert: https://hamapps.com/[JTAlert]
:launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's]
:log4om: https://www.log4om.com[Log4OM]
:lunarEchoes: https://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX]
:msk144: https://physics.princeton.edu/pulsar/k1jt/MSK144_Protocol_QEX.pdf[QEX]
:lunarEchoes: https://wsjt.sourceforge.io/LunarEchoes_QEX.pdf[QEX]
:msk144: https://wsjt.sourceforge.io/MSK144_Protocol_QEX.pdf[QEX]
:msvcpp_redist: https://www.microsoft.com/en-ph/download/details.aspx?id=40784[Microsoft VC++ 2013 Redistributable]
:msys_url: https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/[MSYS Download]
:n1mm_logger: https://n1mm.hamdocs.com/tiki-index.php[N1MM Logger+]
:ntpsetup: https://www.satsignal.eu/ntp/setup.html[Network Time Protocol Setup]
:osx_instructions: https://physics.princeton.edu/pulsar/K1JT/OSX_Readme[Mac OS X Install Instructions]
:osx_instructions: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/OSX_Readme[Mac OS X Install Instructions]
:ppa: https://en.wikipedia.org/wiki/Personal_Package_Archive[PPA]
:projsummary: https://sourceforge.net/projects/wsjt/[Project Summary]
:pskreporter: https://pskreporter.info/pskmap.html[PSK Reporter]
@ -94,35 +94,37 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:sourceforge-jtsdk: https://sourceforge.net/projects/jtsdk[SourceForge JTSDK]
:ubuntu_sdk: https://launchpad.net/~ubuntu-sdk-team/+archive/ppa[Ubuntu SDK Notice]
:win_openssl_packages: https://slproweb.com/products/Win32OpenSSL.html[Windows OpenSSL Packages]
:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_1_1k.msi[Win32 OpenSSL Light Package]
:win64_openssl: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1k.msi[Win64 OpenSSL Light Package]
:win32_openssl: https://slproweb.com/download/Win32OpenSSL_Light-1_1_1s.msi[Win32 OpenSSL Light Package]
:win64_openssl: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1s.msi[Win64 OpenSSL Light Package]
:writelog: https://writelog.com/[Writelog]
:wsjtx_group: https://groups.io/g/WSJTX[WSJTX Group]
:wsjtx: https://physics.princeton.edu/pulsar/K1JT/wsjtx.html[WSJT-X]
:wspr0_guide: https://www.physics.princeton.edu/pulsar/K1JT/WSPR0_Instructions.TXT[WSPR0 Guide]
:wspr: https://physics.princeton.edu/pulsar/K1JT/wspr.html[WSPR Home Page]
:wsjtx_group: https://groups.io/g/wsjtgroup[WSJT GROUP User Forum]
:wsjtx_group2: https://groups.io/g/wsjtgroup/join[join the group]
:wsjtx: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx.html[WSJT-X]
:wspr0_guide: https://wsjt.sourceforge.io/WSPR0_Instructions.TXT[WSPR0 Guide]
:wspr: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wspr.html[WSPR Home Page]
:wsprnet: https://wsprnet.org/drupal/[WSPRnet]
:wsprnet_activity: https://wsprnet.org/drupal/wsprnet/activity[WSPRnet Activity page]
// Download Links
:cty_dat: https://www.country-files.com/cty/[Amateur Radio Country Files]
:cty_dat: https://www.country-files.com/bigcty/cty.dat/[Amateur Radio Country Files]
:jtbridge: https://jt-bridge.eller.nu/[JT-Bridge]
:jtsdk_doc: https://physics.princeton.edu/pulsar/K1JT/JTSDK-DOC.exe[Download]
:jtsdk_doc: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-DOC.exe[Download]
:jtsdk_installer: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/JTSDK-2.0.0-B2-Win32.exe/download[Download]
:jtsdk_omnirig: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/OmniRig.zip/download[Download]
:jtsdk_py: https://physics.princeton.edu/pulsar/K1JT/JTSDK-PY.exe[Download]
:jtsdk_qt: https://physics.princeton.edu/pulsar/K1JT/JTSDK-QT.exe[Download]
:jtsdk_py: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-PY.exe[Download]
:jtsdk_qt: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/JTSDK-QT.exe[Download]
:jtsdk_vcredist: https://sourceforge.net/projects/jtsdk/files/win32/2.0.0/base/contrib/vcredist_x86.exe/download[Download]
:nh6z: http://www.nh6z.net/Amatuer_Radio_Station_NH6Z/Other_Peoples_Software.html[here]
:omnirig: http://www.dxatlas.com/OmniRig/Files/OmniRig.zip[Omni-Rig]
:osx: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-Darwin.dmg[wsjtx-{VERSION}-Darwin.dmg]
:QRA64_EME: https://physics.princeton.edu/pulsar/K1JT/QRA64_EME.pdf[QRA64 for microwave EME]
:osx: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-Darwin.dmg[wsjtx-{VERSION}-Darwin.dmg]
:QRA64_EME: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/QRA64_EME.pdf[QRA64 for microwave EME]
:svn: https://subversion.apache.org/packages.html#windows[Subversion]
:win32: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe]
:win64: https://physics.princeton.edu/pulsar/K1JT/wsjtx-{VERSION}-win64.exe[wsjtx-{VERSION}-win64.exe]
:wsjt-devel: https://lists.sourceforge.net/lists/listinfo/wsjt-devel[here]
:win32: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-win32.exe[wsjtx-{VERSION}-win32.exe]
:win64: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/wsjtx-{VERSION}-win64.exe[wsjtx-{VERSION}-win64.exe]
:wsjt-devel: https://sourceforge.net/projects/wsjt/lists/wsjt-devel/[join the group]
:wsjt-devel2: https://sourceforge.net/projects/wsjt/lists/wsjt-devel/[subscribe to the list]
:wsjt_repo: https://sourceforge.net/p/wsjt/wsjt_orig/ci/master/tree/[WSJT Source Repository]
:wspr_code: https://physics.princeton.edu/pulsar/K1JT/WSPRcode.exe[WSPRcode.exe]
:wspr_code: https://sourceforge.net/projects/wsjt/files/wsjtx-{VERSION}/WSPRcode.exe[WSPRcode.exe]
:wspr_svn: https://sourceforge.net/p/wsjt/wspr/ci/master/tree/[WSPR Source Repository]
// MAIL-TO links
@ -132,7 +134,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
:dev_mail_svn: https://sourceforge.net/auth/subscriptions/[WSJT SVN Archives]
:devmail: mailto:wsjt-devel@lists.sourceforge.net[wsjt-devel@lists.sourceforge.net]
:devmail1: mailto:wsjt-devel@lists.sourceforge.net[Post Message]
:wsjtgroup_mail: mailto:WSJTX@groups.io[Post Message]
:wsjtgroup_mail: mailto:wsjtgroup@groups.io[Post Message]
:greg_beam: mailto:ki7mt@yahoo.com[KI7MT]
:joe_taylor: mailto:joe@princeton.edu[K1JT]
:stuart_rackman: mailto:srackham@gmail.com[Stuart Rackham]

View File

@ -1,23 +1,24 @@
// Status=review
The _WSJT_ project was started by *K1JT* in 2001. Since 2005 it has
been an Open Source project, which now includes the programs _WSJT_,
_MAP65_, _WSPR_, _WSJT-X_, and _WSPR-X_. *G4WJS* (since 2013), *K9AN*
(since 2015), and *IV3NWV* (since 2016) have made major contributions
to _WSJT-X_. Together with K1JT they now form the core development
team. *G4WJS* and *W9MDB* have made major contributiions to _hamlib_,
on which _WSJT-X_ depends for rig control.
been an Open Source project, and it has included the programs _WSJT_,
_MAP65_, _WSPR_, _WSJT-X_, and _QMAP_. *G4WJS* (since 2013), *K9AN*
(since 2015), *IV3NWV* (since 2016), *DG2YCB* (since 2021), and
*N9ADG* (since 2022) have made major contributions to _WSJT-X_.
Together with K1JT they now form the core development team. *G4WJS*
and *W9MDB* have made major contributions to the _hamlib_ library, on
which _WSJT-X_ depends for rig control.
All code in the _WSJT_ project is licensed under the GNU Public
License (GPL). Many users of these programs, too numerous to mention
here individually, have contributed suggestions and advice that have
greatly aided the development of _WSJT_ and its sister programs. For
_WSJT-X_ in particular, we acknowledge contributions from *AC6SL,
AE4JY, DF2ET, DJ0OT, G3WDG, G4KLA, IW3RAB, K3WYC, KA1GT, KA6MAL, KA9Q,
KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR, VE1SKY, VK3ACF, VK4BDJ,
VK7MO, W3DJS, W4TI, W4TV, and W9MDB*. Each of these amateurs has helped to
bring the programs design, code, testing, and/or documentation to its
present state.
_WSJT-X_ in particular, in addition to those mentioned above we
acknowledge contributions from *AC6SL, AE4JY, DF2ET, DJ0OT, G3WDG,
G4KLA, IW3RAB, K3WYC, KA1GT, KA6MAL, KA9Q, KB1ZMX, KD6EKQ, KI7MT,
KK1D, ND0B, PY2SDR, VE1SKY, VK3ACF, VK4BDJ, VK7MO, W3DJS, W3SZ, W4TI,
and W4TV*. Each of these amateurs has helped to bring the programs
design, code, testing, and/or documentation to its present state.
Most of the color palettes for the _WSJT-X_ waterfall were copied from
the excellent, well documented, open-source program _fldigi_, by *W1HKJ*

View File

@ -1,8 +1,10 @@
// Status=edited
Controls related to frequency selection, received audio level, the
station being called, and date and time are found in the lower, left-hand section of the
main window:
station being called, and date and time are found in the lower,
left-hand section of the main window. Buttons are provided for making
quick changes among the modes FT8, FT4, MSK144, Q65, and JT65, and
for toggling FT8 Hound mode ON or OFF.
//.Misc Controls Left
image::misc-main-ui.png[align="center",alt="Misc Menu Items"]

View File

@ -1,7 +1,7 @@
// Status=edited
The following controls appear just under the decoded text windows on
the main screen:
the main screen. Some of them are visible only in certain modes.
//.Main UI
image::main-ui-controls.png[align="center",width=650,alt="Main UI Controls"]
@ -11,7 +11,9 @@ image::main-ui-controls.png[align="center",width=650,alt="Main UI Controls"]
* *Log QSO* raises a dialog window pre-filled with known information
about a QSO you have nearly completed. You can edit or add to this
information before clicking *OK* to log the QSO. If you check *Prompt
me to log QSO* on the *File -> Settings -> Reporting* tab, the program raises the confirmation screen automatically when you send a message containing +73+. *Start Date* and *Start Time* are set when you click
me to log QSO* on the *File -> Settings -> Reporting* tab, the program
raises the confirmation screen automatically when you send a message
containing +73+. *Start Date* and *Start Time* are set when you click
to send the *Tx 2* or *Tx 3* message, and backed up by one or two
sequence lengths, respectively. (Note that the actual start time may
have been earlier if repeats of early transmissions were required.)

View File

@ -37,7 +37,18 @@ examples for configurations `FT8` and `Echo`:
==== View Menu
image::view-menu.png[align="left",alt="View Menu"]
The *SWL Mode* action reduces the _WSJT-X_ main window to a minimum
*Active Stations* displays a window that can help you to work the most
distant stations, in particular for the distance-scored ARRL
International Digital Contest. Controls are provided to set the
maximum length of the list and the maximum "`age`" of decodes in Rx
sequences. You can request display of only ready-to-be-called
stations. For the ARRL International Digital Contest the window
displays scoring rate (points in the most recent hour), total score,
and the number of band changes in the past hour.
image::active_stations.png[align="left",alt="Active Stations"]
*SWL Mode* reduces the _WSJT-X_ main window to a minimum
size with just the menus, decodes windows, and status bar visible. You
may find this useful when running multiple instances of the
application. Both size and location of the main window are saved and

View File

@ -1,10 +1,9 @@
// Status=edited
The following controls appear at the bottom of the Wide Graph window.
Decoding occurs only in the displayed frequency range; otherwise, with
the exceptions of *Start NNN Hz* and of *JT65 nnnn JT9* when operating
in JT9+JT65 mode, controls on the Wide Graph window have no effect on
the decoding process.
Decoding occurs only in the displayed frequency range; otherwise,
controls on the Wide Graph window have no effect on the decoding
process.
image::wide-graph-controls.png[align="center",alt="Wide Graph Controls"]
@ -13,11 +12,6 @@ value to 1 for the highest possible resolution, or to higher numbers
to compress the spectral display. Normal operation with a convenient
window size works well at 2 to 8 bins per pixel.
- *JT65 nnnn JT9* sets the dividing point (blue marker) for wide-band
decoding of JT65 and JT9 signals in *JT9+JT65* mode. The decoder
looks for JT65 signals everywhere, but JT9 signals only above this
frequency. This setting is stored separately for each band.
- *Start nnn Hz* sets the low-frequency starting point of the
waterfall frequency scale.

View File

@ -24,20 +24,22 @@ AP bits, with a specified level of confidence. Successful AP decodes
are labeled with an end-of-line indicator of the form `aP`, where `P`
is one of the single-digit AP decoding types listed in Table 1. For
example, `a2` indicates that the successful decode used MyCall as
hypothetically known information.
hypothetically known information. Type `a7`, used only in FT8 mode,
uses information from the previous Rx sequence.
[[FT8_AP_INFO_TABLE]]
.FST4, FT4, and FT8 AP information types
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|===============================================
|aP | Message components
|a1 | CQ &#160; &#160; ? &#160; &#160; ?
|a2 | MyCall &#160; &#160; ? &#160; &#160; ?
|a3 | MyCall DxCall &#160; &#160; ?
|a4 | MyCall DxCall RRR
|a5 | MyCall DxCall 73
|a6 | MyCall DxCall RR73
|===============================================
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|===
|aP|Message components
|a1|CQ &#160; &#160; ? &#160; &#160; ?
|a2|MyCall &#160; &#160; ? &#160; &#160; ?
|a3|MyCall DxCall &#160; &#160; ?
|a4|MyCall DxCall RRR
|a5|MyCall DxCall 73
|a6|MyCall DxCall RR73
|a7|(Call_1 or CQ) Call_2 &#160; &#160; ?
|===
If a codeword is found that is judged to have high (but not
overwhelmingly high) probability of being correct, a `?` character is
@ -53,8 +55,8 @@ is the same except that it omits the decoding attempts for AP types
[[FT8_AP_DECODING_TYPES_TABLE]]
.FT4 and FT8 AP decoding types for each QSO state
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|===========================================
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|===
|State |AP type
|CALLING STN | 2, 3
|REPORT | 2, 3
@ -62,15 +64,15 @@ is the same except that it omits the decoding attempts for AP types
|ROGERS | 3, 4, 5, 6
|SIGNOFF | 3, 1, 2
|CALLING CQ | 1, 2
|===========================================
|===
Decoding with _a priori_ information behaves slightly differently
in JT65. Some details are provided in Tables 3 and 4.
[[JT65_AP_INFO_TABLE]]
.JT65 AP information types
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|===============================================
[width="35%",cols="1h,<10m",frame=topbot,options="header"]
|===
|aP | Message components
|a1 | CQ &#160; &#160; ? &#160; &#160; ?
|a2 | MyCall &#160; &#160; ? &#160; &#160; ?
@ -79,20 +81,20 @@ in JT65. Some details are provided in Tables 3 and 4.
|a5 | MyCall DxCall 73
|a6 | MyCall DxCall DxGrid
|a7 | CQ DxCall DxGrid
|===============================================
|===
[[JT65_AP_DECODING_TYPES_TABLE]]
.JT65 AP decoding types for each QSO state
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|===========================================
[width="35%",cols="10h,<20m",frame=topbot,options="header"]
|===
|State |AP type
|CALLING STN | 2, 3, 6, 7
|REPORT | 2, 3
|ROGER_REPORT | 3, 4, 5
|ROGERS | 3, 4, 5
|SIGNOFF | 2, 3, 4, 5
|CALLING CQ | 1, 2, 6
|===========================================
|CALLING STN |2, 3, 6, 7
|REPORT |2, 3
|ROGER_REPORT |3, 4, 5
|ROGERS |3, 4, 5
|SIGNOFF |2, 3, 4, 5
|CALLING CQ |1, 2, 6
|===
=== Decoded Lines
@ -109,18 +111,18 @@ summarized in the following Table:
[[DECODED_LINES_TABLE]]
.Notations used on decoded text lines
[width="50%",cols="h,3*^",frame=topbot,options="header"]
|===========================================
|===
|Mode |Mode character|Sync character|End of line information
|FST4 | ` | | ? &#160; aP
|FT4 | + | | ? &#160; aP
|FT8 | ~ | | ? &#160; aP
|JT4 | $ | *, # | f, fN, dCN
|JT9 | @ | |
|JT65 | # | |
|JT65 VHF| # | *, # | f, fN, dCN
|Q65 | : | | qP
|MSK144 | & | |
|===========================================
|FST4 | ` | | ? &#160; aP
|FT4 | + | | ? &#160; aP
|FT8 | ~ | | ? &#160; aP
|JT4 | $ | *, # | f, fN, dCN
|JT9 | @ | |
|JT65 | # | |
|JT65 VHF| # | *, # | f, fN, dCN
|Q65 | : | | qP
|MSK144 | & | |
|===
Sync character::
`*` - Normal sync +
`#` - Alternate sync
@ -136,12 +138,13 @@ End of line information::
[[Q65_AP_INFO_TABLE]]
.Q65 end-of-line codes
[width="45%",cols="h10,<m20",frame=topbot,options="header"]
|===============================================
| | Message components
|q0 | ? &#160; &#160; ? &#160; &#160; ?
|q1 | CQ &#160; &#160; ? &#160; &#160; ?
|q2 | MyCall &#160; &#160; ? &#160; &#160; ?
|q3 | MyCall DxCall &#160; &#160; ?
|q4 | MyCall DxCall &#160; &#160; [<blank> \| RRR \| RR73 \| 73]
|===============================================
[width="50%",cols="1h,<10m",frame=topbot,options="header"]
|===
|qP|Message components
|q0|? &#160; &#160; ? &#160; &#160; ?
|q1|CQ &#160; &#160; ? &#160; &#160; ?
|q2|MyCall &#160; &#160; ? &#160; &#160; ?
|q3|MyCall DxCall &#160; &#160; ?
|q4|MyCall DxCall &#160; &#160; [<blank> \| RRR \| RR73 \| 73]
|q5|MyCall DxCall &#160; &#160; ? &#160; &#160; &#160; &#160; (*Max Drift* = 50)
|===

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -10,12 +10,6 @@ with the release for details of the targeted Linux distributions and
versions. If the binary package is not compatible with your Linux
distribution or version, you must build the application from sources.
* 32-bit Intel/AMD: {debian32}
- To install:
+
[example]
sudo dpkg -i wsjtx_{VERSION}_i386.deb
* 64-bit Intel/AMD: {debian64}
- To install:
+
@ -45,24 +39,18 @@ You may also need to execute the following command in a terminal:
sudo apt install libgfortran5 libqt5widgets5 libqt5network5 \
libqt5printsupport5 libqt5multimedia5-plugins libqt5serialport5 \
libqt5sql5-sqlite libfftw3-single3 libgomp1 libboost-all-dev \
libusb-1.0-0
libusb-1.0-0 libportaudio2
....
Fedora, CentOS, Red Hat, and other rpm-based systems:
* 32-bit: {fedora32}
- To install:
+
[example]
sudo rpm -i wsjtx-{VERSION}-i686.rpm
* 64-bit: {fedora64}
- To install:
+
[example]
sudo rpm -i wsjtx-{VERSION}-x86_64.rpm
* Uninstall for either of the above platforms:
* Uninstall:
+
[example]
sudo rpm -e wsjtx
@ -72,5 +60,5 @@ You may also need to execute the following command in a terminal:
....
sudo dnf install libgfortran fftw-libs-single qt5-qtbase \
qt5-qtmultimedia qt5-qtserialport qt5-qtsvg \
qt5-qtserialport libgomp boost libusbx
qt5-qtserialport libgomp boost libusbx portaudio
....

View File

@ -1,8 +1,8 @@
// Status=edited
Download and execute the package file {win32} (Win 7,
Win 8, Win10, 32-bit) or {win64} (Win 7, Win 8, Win10, 64-bit)
following these instructions:
Download and execute the package file {win32} (Windows 7 or later,
32-bit) or {win64} (Windows 7 or later, 64-bit) following these
instructions:
* Install _WSJT-X_ into its own directory, for example `C:\WSJTX` or `C:\WSJT\WSJTX`, rather than the conventional location `C:\Program
Files ...\WSJTX`.

View File

@ -1,5 +1,13 @@
=== Documentation Conventions
We include screen shots that illustrate many of the settings and
features of _WSJT-X_. Keep in mind that _WSJT-X_ is a multi-platform
application: the detailed appearance of windows and user controls may
be significantly different in Windows, Linux, or macOS environments.
The underlying functionality is the same on all operating systems,
however. Where desirable we call special attention to important
platform differences.
In this manual the following icons call attention to particular types
of information:
@ -14,9 +22,14 @@ consequences.
=== User Interface in Other Languages
The _WSJT-X_ user interface is now available in many languages. When
a translated user interface is available for the computer's default
System Language, it will appear automatically on program startup.
The _WSJT-X_ user interface (UI) is now available in many languages.
When a translated UI is available for the computer's default System
Language, it will appear automatically on program startup. The UI
language may be overridden if desired by starting _WSJT-X_ with a
command line option. For example, to start _WSJT-X_ with its user
interface in Spanish, enter this command at the prompt: +
`wsjtx --language es`
=== How You Can Contribute

View File

@ -7,7 +7,9 @@ K1**JT**,`" while the suffix "`*-X*`" indicates that _WSJT-X_ started
as an extended branch of an earlier program, _WSJT_, first released in
2001. Bill Somerville, G4WJS, Steve Franke, K9AN, and Nico Palermo,
IV3NWV, have been major contributors to development of _WSJT-X_ since
2013, 2015, and 2016, respectively.
2013, 2015, and 2016, respectively. Bill Somerville died suddenly and
unexpectedly in December 2021; Uwe Risse, DG2YCB, joined the core
development team soon afterward, and Brian Moran, N9ADG, in 2022.
_WSJT-X_ Version {VERSION_MAJOR}.{VERSION_MINOR} offers eleven
different protocols or modes: *FST4*, *FT4*, *FT8*, *JT4*, *JT9*,
@ -70,7 +72,8 @@ provides a mapping facility, archival storage, and many other
features.
*Echo* mode allows you to detect and measure your own station's echoes
from the moon, even if they are far below the audible threshold.
from the moon and to make other measurements useful for optimizing
your EME station's performance.
_WSJT-X_ provides spectral displays for receiver passbands as wide as
5 kHz, flexible rig control for nearly all modern radios used by
@ -89,3 +92,11 @@ Release candidates should be used _only_ during a short testing
period. They carry an implied obligation to provide feedback to the
program development group. Candidate releases should not be used on
the air after a full release with the same number is made.
A companion program _MAP65_, written by K1JT, is designed for EME
communication using the JT65 and Q65 protocols. When used with RF
hardware providing coherent signal channels for two orthogonal
polarizations, the program provides automatic polarization-matched
reception for every JT65 or Q65 signal in a 90 kHz passband. On the
Windows platform, _MAP65_ is installed automatically along with
_WSJT-X_.

View File

@ -69,9 +69,9 @@ Check *Auto Seq* on the main window to enable this feature:
image::auto-seq.png[align="center",alt="AutoSeq"]
When calling CQ you may also choose to check the box *Call 1st*.
_WSJT-X_ will then respond automatically to the first decoded
responder to your CQ.
When calling CQ you may choose to select *CQ: First* to reply
automatically to the first decoded responder, or *CQ: Max Dist*
to reply to the most distant responder.
NOTE: When *Auto-Seq* is enabled, the program de-activates *Enable Tx*
at the end of each QSO. It is not intended that _WSJT-X_ should make
@ -83,14 +83,14 @@ operator replacement.
The FT4, FT8, and MSK144 protocols support special messages optimized
for *NA VHF* and *EU VHF* contests. FT4 and FT8 also support messages
for *ARRL Field Day*, *ARRL RTTY Roundup*, and the *WW Digi* contest.
for *ARRL Field Day*, *FT Roundup*, and the *WW Digi* contest.
The decoders recognize and decode these messages at any time.
Configure the program to automatically generate the required message
types for contest exchanges and carry out suitable auto-sequencing by
selecting a supported operating activity on the *Settings | Advanced*
tab. Model QSOs then proceed as follows, for each event type:
*NA VHF Contest*
*NA VHF Contest* and *ARRL International Digital Contest*
CQ TEST K1ABC FN42
K1ABC W9XYZ EN37
@ -98,8 +98,9 @@ tab. Model QSOs then proceed as follows, for each event type:
K1ABC W9XYZ RRR
W9XYZ K1ABC 73
Either callsign (or both) may have /R appended. You can use RR73 in
place of RRR, and the final 73 is optional.
Either callsign (or both) may have /R appended to signify a Rover in a
VHF contest. You can use RR73 in place of RRR, and the final 73 is
optional.
*EU VHF Contest*
@ -124,7 +125,7 @@ to upgrade _WSJT-X_ if you will use *EU VHF Contest* messages.
W9XYZ K1ABC R 2B EMA
K1ABC W9XYZ RR73
*ARRL RTTY Roundup*
*FT Roundup*
CQ RU K1ABC FN42
K1ABC W9XYZ 579 WI
@ -144,7 +145,7 @@ station's log and not the supposed QSO partner's. To avoid Not-in-Log
(NIL) penalties for yourself and others, we recommend the following
guidelines for contest logging with FT4, FT8, and MSK144:
- Activate and learn to use the alternate F1-F6 bindings selectable
- Activate and learn to use the *Alternate F1-F6 bindings* selectable
on the *Settings | General* tab.
- Always log a QSO when you have received RRR, RR73, or 73 from a
@ -153,8 +154,9 @@ guidelines for contest logging with FT4, FT8, and MSK144:
- Log a QSO when you send RR73 or 73 if you are reasonably confident
it will be copied. But be sure to watch for any indication that it
was not copied, and then take appropriate action. For example, if
you receive the Tx3 message (R plus contest exchange) again, hit F4
to re-send your RR73.
you receive the Tx3 message (R plus contest exchange) again, and if
you have activated the *Alternate F1-F6 bindings*, hit *F4* to
re-send your RR73.
[[COMP-CALL]]
=== Nonstandard Callsigns

View File

@ -70,7 +70,7 @@ and slope of a straight line to the whole sequence of calibration
measurements, as shown for these measurements in the graph plotted
below. Software tools for completing this task are included with the
_WSJT-X_ installation, and detailed instructions for their use are
available at https://physics.princeton.edu/pulsar/k1jt/FMT_User.pdf.
available at https://wsjt.sourceforge.io/FMT_User.pdf.
Using these tools and no specialized hardware beyond your
CAT-interfaced radio, you can calibrate the radio to better than 1 Hz

View File

@ -1,27 +1,60 @@
[[NEW_FEATURES]]
=== New in Version {VERSION}
=== New in Version {VERSION_MAJOR}.{VERSION_MINOR}
_WSJT-X 2.5.0_ introduces an enhanced Q65 decoder that measures and
compensates for linear frequency drifts of Q65 signals. Activate this
feature by setting a spinner control *Max Drift* on the _WSJT-X_ main
window to a number greater than 0. We suggest a setting of 10 for
submode Q65-60A, the recommended submode for EME on 50 and 144 MHz,
which will accommodate drift rates up to 20 Hz/minute. Similarly, we
suggest *Max Drift* = 40 for submode Q65-15C, used for for 10 GHz QSOs
(up to 900 km) via aircraft scatter and drift rates up to about 20
Hz/s.
_WSJT-X 2.7_ introduces a new program called *QMAP*, a new Special
Operating Activity *Q65 Pileup*, an option to *Update Hamlib* at the
click of a button, and a number of other enhancements and bug fixes.
- QMAP and Q65 Pileup mode are of particular interest to those engaged
in Earth-Moon-Earth (EME) communication, but other applications may
be found for them as well. QMAP is currently available for Windows
only; it is derived from MAP65, an older program used since 2007 for
EME. QMAP provides single-polarization receive-only capabilities for
any one of the 60-second submodes of Q65. It allows you to monitor
all traffic in a 90 kHz sub-band while conducting EME QSOs in the
usual way with _WSJT-X_. Q65 Pileup mode helps DX operators using
Q65 in pileup circumstances with many simultaneous callers and very
weak signals, such as those experienced by 6-meter EME DXpeditions.
Further details on QMAP and Q65 Pileup mode are available in a
Quick-Start guide posted here:
https://wsjt.sourceforge.io/Quick_Start_WSJT-X_2.7_QMAP.pdf
- A button *Update Hamlib* now appears on the *Settings -> Radio* tab.
On Windows it allows the user to automatically download and install
the latest version of the rig-control features in Hamlib. The
previously used version is backed up, so you can easily revert the
procedure if necessary. Names and dates of the active and backup
versions are clearly displayed.
- Spotting to *PSK Reporter* has been made more efficient. Redundant
spots are omitted, and all posts are spread more widely in time. If
your station locator is changed, for example during portable
operations, your new locator will be sent automatically to PSK
Reporter.
- *Fox* mode now provides more convenient handling of the two callsign
queues, and Fox's Log window displays statistical data on recent QSO
rate. Multi-streamed messages transmitted by _MSHV_ are now handled
properly when _WSJT-X_ is in *Hound* mode.
- The cty.dat file can now be updated by clicking a button on the
*Settings -> Colors* tab.
- The FT Roundup message protocol now allows the exchange of static
4-digit numbers in place of serial numbers. This extends the
usability of the FT RU protocol for other contest types.
- Features for main-window switching between modes have been enhanced
so that submode and status of the *Sh* and *Fast* checkboxes are
saved and restored by mode. Right-click events were made more
intuitive and consistent. Right-clicking the Q65 button enables Q65
Pileup mode, and a left-click brings you back to the normal Q65
mode. Right-click on the JT65 button switches to JT9 mode.
- Message averaging is now allowed only when *VHF features* are
enabled. Main window text box labels are changed to read "`Single
Period Decodes`" and "`Average Decodes`" when averaging is enabled.
Further details on minor changes can be found in the Release Notes,
accessible from the _WSJT-X_ *Help* menu.
On the Windows platform only, _WSJT-X 2.5.0_ installations now include
an early version of _MAP65 3.0_. This program works together with
suitable hardware that converts RF to baseband. The hardware/software
combination implements a wideband, highly optimized receiver for the
Q65 and JT65 protocols, with matching transmitting features that
require a standard SSB transceiver. _MAP65_ is effective in both
single-polarization and dual-polarization systems. If two
polarization channels are available, _MAP65_ determines and matches
the linear polarization angle of each decodable signal. This
capability provides a major advantage for efficient EME communication
on bands up to 432 MHz. A single-channel _MAP65_ system works
extremely well for EME on 1296 MHz and higher bands, displaying all
signals in a 90 kHz sub-band and decoding all the Q65 and JT65
signals.

View File

@ -263,8 +263,8 @@ which the probability of decoding is 50% or higher.
[[SLOW_TAB]]
.Parameters of Slow Modes
[width="100%",cols="3h,^3,^2,^1,^2,^2,^2,^2,^2,^2",frame=topbot,options="header"]
|===============================================================================
[width="100%",cols="3h,^3,^2,^1,6*^2",frame=topbot,options="header"]
|===
|Mode |FEC Type |(n,k) | Q|Modulation type|Keying rate (Baud)|Bandwidth (Hz)
|Sync Energy|Tx Duration (s)|S/N Threshold (dB)
|FST4-15 |LDPC | (240,101)| 4| 4-GFSK| 16.67 | 66.7 | 0.25| 9.6 | -20.7
@ -289,7 +289,7 @@ which the probability of decoding is 50% or higher.
|FST4W-300 |LDPC | (240,74)| 4| 4-GFSK| 0.558 | 2.2 | 0.25| 286.7 | -36.8
|FST4W-900 |LDPC | (240,74)| 4| 4-GFSK| 0.180 | 0.72 | 0.25| 887.5 | -41.7
|FST4W-1800 |LDPC | (240,74)| 4| 4-GFSK| 0.089 | 0.36 | 0.25| 1792.0| -44.8
|===============================================================================
|===
LDPC = Low Density Parity Check
RS = Reed Solomon
@ -304,7 +304,7 @@ comparable to tone spacing.
[[SLOW_SUBMODES]]
.Parameters of Slow Submodes JT4, JT9, and JT65 with Selectable Tone Spacings
[width="50%",cols="h,3*^",frame=topbot,options="header"]
|=====================================
|===
|Mode |Tone Spacing |BW (Hz)|S/N (dB)
|JT4A |4.375| 17.5 |-23
|JT4B |8.75 | 30.6 |-22
@ -324,18 +324,18 @@ comparable to tone spacing.
|JT65A |2.692| 177.6 |-25
|JT65B |5.383| 352.6 |-25
|JT65C |10.767| 702.5 |-25
|=====================================
|===
.Parameters of Q65 Submodes
[width="100%",cols="h,5*^",frame=topbot,options="header"]
|=====================================
|===
|T/R Period (s) |A Spacing Width (Hz)|B Spacing Width (Hz)|C Spacing Width (Hz)|D Spacing Width (Hz)|E Spacing Width (Hz)
|15|6.67 &#160; &#160; 4.33|13.33 &#160; &#160; 867|26.67 &#160; &#160; 1733|N/A|N/A
|30|3.33 &#160; &#160; 217|6.67 &#160; &#160; 433|13.33 &#160; &#160; 867| 26.67 &#160; &#160; 1733| N/A
|60|1.67 &#160; &#160; 108|3.33 &#160; &#160; 217|6.67 &#160; &#160; 433|13.33 &#160; &#160; 867|26.67 &#160; &#160; 1733
|120|0.75 &#160; &#160; 49|1.50 &#160; &#160; 98|3.00 &#160; &#160; 195|6.00 &#160; &#160; 390| 12.00 &#160; &#160; 780
|300|0.29 &#160; &#160; 19|0.58 &#160; &#160; 38|1.16 &#160; &#160; 75|2.31 &#160; &#160; 150|4.63 &#160; &#160; 301
|=====================================
|===
[[FAST_MODES]]
=== Fast Modes
@ -390,8 +390,8 @@ and your QSO partner ± 200 Hz.
==== Summary
.Parameters of Fast Modes
[width="90%",cols="3h,^3,^2,^1,^2,^2,^2,^2,^2",frame="topbot",options="header"]
|=====================================================================
[width="90%",cols="3h,^3,^2,^1,5*^2",frame="topbot",options="header"]
|===
|Mode |FEC Type |(n,k) | Q|Modulation Type|Keying rate (Baud)
|Bandwidth (Hz)|Sync Energy|Tx Duration (s)
|JT9E |K=32, r=1/2|(206,72)| 8| 9-FSK| 25.0 | 225 | 0.19| 3.400
@ -400,4 +400,4 @@ and your QSO partner ± 200 Hz.
|JT9H |K=32, r=1/2|(206,72)| 8| 9-FSK|200.0 | 1800 | 0.19| 0.425
|MSK144 |LDPC |(128,90)| 2| OQPSK| 2000 | 2400 | 0.11| 0.072
|MSK144 Sh|LDPC |(32,16) | 2| OQPSK| 2000 | 2400 | 0.20| 0.020
|=====================================================================
|===

View File

@ -38,15 +38,14 @@ with twice or four times the normal tone spacing. This feature is
intended for use with specialized LF/MF transmitters that divide
generated frequencies by 2 or 4 as part of the transmission process.
_Special Operating Activity: Generation of FT4, FT8, and MSK144
messages_
_Special Operating Activity_
- Check this box and select the type of activity to enable
auto-generation of special message formats for contesting and
DXpeditions. For *ARRL Field Day*, enter your operating Class and
ARRL/RAC section; for *ARRL RTTY Roundup*, enter your state or province.
ARRL/RAC section; for *FT Roundup*, enter your state or province.
Use “DX” for section or state if you are not in the US or Canada. In
the RTTY Roundup, Stations in Alaska and Hawaii should enter “DX”.
the FT Roundup, Stations in Alaska and Hawaii should enter “DX”.
- Check *Fox* if you are a DXpedition station operating in FT8
DXpedition Mode. Check *Hound* if you wish to make QSOs with such a

View File

@ -10,15 +10,17 @@ preference; you can modify the frequency table as desired.
image::settings-frequencies.png[align="center",alt="Frequency Screen"]
- To change an existing entry, double-click to edit it, type a desired
frequency in MHz or select from the drop down list of options, then
hit *Enter* on the keyboard. The program will format your changed
entry appropriately.
frequency in MHz or select from the drop-down list of options, then
hit *Enter* on the keyboard. You can mark an entry as Preferred,
provide a descriptive label, and indicate starting and ending dates
and times for it to be displayed on the band-select control. The
program will format your changed entries appropriately.
- To add a new entry, right-click anywhere on the frequency table and
select *Insert*. Enter a frequency in MHz in the pop-up box and
select the desired mode (or leave the Mode selection as *All*). Then
click *OK*. The table may include more than one frequency for a given
band.
select *Insert*. Enter your desired information and click *OK*. The
table may include more than one frequency for a given mode and band.
image::Add_Frequency.png[align="center",alt="Add Frequency window"]
- To delete an entry, right-click it and select *Delete*, multiple
entries can be deleted in a single operation by selecting them before

View File

@ -31,7 +31,7 @@ image::RadioTab.png[align="center",alt="Radio Tab"]
suitable.
* _CAT Control_: To have _WSJT-X_ control the radio directly rather
than though another program, make the following settings:
than through another program, make the following settings:
** Select the *Serial Port* or *Network Server* including the service
port number used to communicate with your radio.
@ -39,7 +39,7 @@ image::RadioTab.png[align="center",alt="Radio Tab"]
+
NOTE: A special value of *USB* is available for custom USB devices
like those used by some SDR kits. This is not the same a virtual
like those used by some SDR kits. This is not the same as the virtual
serial port provided by USB connected transceivers and CAT
interfaces, for those use the COM or serial port name that
refers to them.

View File

@ -7,8 +7,11 @@ messages such as the examples shown below.
image::tx-macros.png[align="center",alt="Tx Macros Screen"]
- To add a new message to the list, enter the desired text (up to 13
characters) in the entry field at top, then click *Add*.
- To add a new message to the list, enter the desired text in the
entry field at top, then click *Add*.
- Remember that a transmitted free-text message is limited to 13
characters, including blanks.
- To remove an unwanted message, click on the message and then on
*Delete*.
@ -18,3 +21,7 @@ new order will be preserved when _WSJT-X_ is restarted.
- Messages can also be added from the main window's *Tx5*
field. Simply hit [Enter] after the message has been entered.
- If the first word of a message is $DXCALL (or the shortened form
$DX), that word will be replaced on transmission by the base callsign
in the *DxCall* field.

View File

@ -2,19 +2,17 @@
The best source of help in setting up your station or configuring
_WSJT-X_ is the {wsjtx_group} at email address
wsjtx@groups.io. The chances are good that someone with
wsjtgroup@groups.io. The chances are good that someone with
similar interests and equipment has already solved your problem and
will be happy to help. To post messages here you will need to join
the group.
will be happy to help. To post messages here you will need to
{wsjtx_group2}.
=== Bug Reports
One of your responsibilities as a _WSJT-X_ user is to help the
volunteer programmers to make the program better. Bugs may be
reported to the WSJTX forum on Groups.io {wsjtgroup_mail} or the WSJT
Developers list (wsjt-devel@lists.sourceforge.net). Again, you will
need to join the group or subscribe to the list. You can register for
the list {wsjt-devel}.
reported preferably to the WSJT Developers email list
(wsjt-devel@lists.sourceforge.net). You will need to {wsjt-devel2}.
To be useful, bug reports should include at least the following
information:

View File

@ -0,0 +1,16 @@
// Status=review
[[DOWNLOAD_SAMPLES]]
=== Download Samples
The following steps will download sample audio Wave files that were originally recorded
by WSJT-X. These files can be read in and processed by WSJT-X to simulate realtime
operation.
- Select *Download samples...* from the *Help* menu.
- Download some or all of the available sample files using checkboxes
on the screen shown below. For this tutorial you will need at least
the FT8 files.
image::download_samples.png[width=400,align="center",alt="Download Samples"]

View File

@ -1,121 +0,0 @@
// Status=review
.Main Window:
- Select *JT9+JT65* on the *Mode* menu.
- Toggle the *Tx mode* button to read *Tx JT65 #*, and set the Tx and Rx
frequencies to 1718 Hz.
- Double-click on *Erase* to clear both text windows.
.Wide Graph Settings:
- *Bins/Pixel* = 7
- *JT65 .... JT9* = 2500
- Adjust the width of the Wide Graph window so that the upper
frequency limit is approximately 4000 Hz.
.Open a Wave File:
- Select *File | Open* and navigate to +...\save\samples\JT9+JT65\130610_2343.wav+.
The waterfall should look something like this:
//.130610_2343.wav Decode
[[X14]]
image::130610_2343-wav-80.png[align="left",alt="Wide Graph Decode 130610_2343"]
The position of the blue marker on the waterfall scale is
set by the spinner control *JT65 nnnn JT9*, where nnnn is an audio
frequency in Hz. In *JT9+JT65* mode the program will automatically
decode JT9 signals only above this frequency. JT65 signals will be
decoded over the full displayed frequency range.
JT9 signals appear in the *Cumulative* spectrum as nearly rectangular
shapes about 16 Hz wide. They have no clearly visible sync tone like
the one at the low-frequency edge of all JT65 signals. By convention
the nominal frequency of both JT9 and JT65 signals is taken to be that
of the lowest tone, at the left edge of its spectrum.
This sample file contains 17 decodable signals — nine in JT65 mode
(flagged with the character # in the decoded text windows), and eight
in JT9 mode (flagged with @). On multi-core computers the decoders
for JT9 and JT65 modes run simultaneously, so their results will be
interspersed. The *Band Activity* window contains all decodes (you
might need to scroll back in the window to see some of them). A
signal at the frequency specified by the green marker is given
decoding priority, and its message is displayed also in the *Rx
Frequency* window.
[[FigDecodes]]
image::decodes.png[align="center"]
- Confirm that mouse-click behavior is similar to that described
earlier, in <<TUT_EX1,Example 1>>. _WSJT-X_ automatically determines
the mode of each JT9 or JT65 message.
+
TIP: When you double-click on a signal in the waterfall it will be
properly decoded even if on the "`wrong`" side of the *JT65 nnnn JT9*
marker. The Tx mode automatically switches to that of the decoded
signal and the Rx and Tx frequency markers on the waterfall scale
resize themselves accordingly. When selecting a JT65 signal, click on
the sync tone at its left edge.
- Double-click on the waterfall near 815 Hz: a JT65 message
originating from W7VP will be decoded and appear in the *Rx Frequency*
window. Between the *UTC* and *Freq* columns on the decoded text line
you will find *dB*, the measured signal-to-noise ratio, and *DT*, the
signal's time offset in seconds relative to your computer clock.
[width="80%",align="center",cols="^10,2*^8,2*^10,54",options="header"]
|===
|UTC|dB|DT|Freq|Mode|Message
|+2343+|+-7+|+0.3+|+815+|+#+|+KK4DSD W7VP -16+
|===
- Double-click on the waterfall at 3196 Hz. The program will decode a
JT9 message from IZ0MIT:
[width="80%",align="center",cols="^10,2*^8,2*^10,54",options="header"]
|===
|UTC|dB|DT|Freq|Mode|Message
|+2343+|+-8+|+0.3+|+3196+|+@+|+WB8QPG IZ0MIT -11+
|===
- Scroll back in the *Band Activity* window and double-click on the
message `CQ DL7ACA JO40`. The program will set *Tx mode* to JT65 and
the Rx frequency to that of DL7ACA, 975 Hz. If you hold down the
*Ctrl* key, both Rx and Tx frequencies will be moved. If you had
checked *Double-click on call sets Tx Enable* on the *Setup* menu, the
program would configure itself to begin a transmission and start a QSO
with DL7ACA.
- Hold *Ctrl* down and double-click on the decoded JT65 message `CQ
TA4A KM37`. The program will set Tx mode to JT9 and the Rx and Tx
frequencies to 3567 Hz. The program is now configured properly for a
JT9 QSO with TA4A.
.Reopen the First Sample File:
- Select *File | Open* and navigate to `...\save\samples\130418_1742.wav`.
Taking full advantage of the wide-band, dual-mode capability of
_WSJT-X_ requires a receiver bandwidth of at least 4 kHz. These
data were recorded with a much narrower Rx bandwidth, roughly 200 to
2400 Hz. If you have no Rx filter wider than about 2.7 kHz, you will
be using data like this. For best viewing, adjust *Bins/Pixel* and the
width of the Wide Graph so that only the active part of the spectrum
shows, say 200 to 2400 Hz. Re-open the example file after any change of
*Bins/Pixel* or Wide Graph width, to refresh the waterfall.
The signals in this file are all JT9 signals. To decode them
automatically in *JT9+JT65* mode youll need to move the *JT65 nnnn JT9*
delimiter down to 1000 Hz or less.
.Waterfall Controls
Now is a good time to experiment with the *Start* control and the
sliders controlling gain and zero-point of the waterfall and spectrum
plots. *Start* determines the frequency displayed at the left side of
the waterfall scale. Sliders set the baseline level and gain for the
waterfall and the several types of spectra. Good starting values
should be close to mid-scale. You might want to uncheck *Flatten*
when adjusting the sliders. Re-open the wave file after each change,
to see the new results.

View File

@ -1,27 +1,92 @@
// Status=review
.Main Window:
- Select *FT8* on the *Mode* menu.
- Click the *Stop* button on the main window to halt any data acquisition.
- Select *FT8* from the *Mode* menu and *Deep* from the *Decode* menu.
- Double-click on *Erase* to clear both text windows.
.Wide Graph Settings:
- *Bins/Pixel* = 5, *Start* = 100 Hz, *N Avg* = 2
- Adjust the width of the Wide Graph window so that the upper
frequency limit is approximately 3300 Hz.
.Open a Wave File:
- Select *File | Open* and navigate to
+...\save\samples\FT8\181201_180245.wav+. The waterfall and Band
Activity window should look something like the following screen shots.
(This recording was made during the "FT8 Roundup" contest, so most
transmissions happen to be using *RTTY Roundup* message formats.)
- Select *File | Open log directory* and navigate to
+...\save\samples\FT8\210703_133430.wav+. The waterfall and Band
Activity/Rx Frequency windows should look something like the following screen shots:
- You may want to pretend you are K1JT
by entering that callsign temporarily as *My Call* on the
*Settings | General* tab. Your results should then be identical to
those shown in the screen shot below. Don't forget to change *My Call*
back to your own call when you are done!
[[X15]]
image::FT8_waterfall.png[align="left",alt="Wide Graph Decode 170709_135615"]
image::FT8_waterfall.png[align="left",alt="Wide Graph Decode 210703_133430"]
image::ft8_decodes.png[align="left"]
.Decoding Overview
Decoding takes place at the end of a receive sequence. With *Decode* set
to *Deep*, three decoding passes will be done and the *Decode* button on the
mainwindow will illuminate three times, once for each pass.
The first decoding attempt in each decoding pass is done at the selected Rx frequency,
indicated by the U-shaped green marker on the waterfall frequency
scale. All decodes appear in the left (*Band Activity*) window. The right
(*Rx Frequency*) text window displays any decodes obtained at the current
Rx frequency along with any decodes addressed to *My Call* (K1JT in this case).
The red marker on the waterfall scale indicates your
Tx frequency.
Twenty-one FT8 signals are decoded from the example file. The number
of decodes is shown in a box at the bottom of the main window.
When this file was recorded HA5WA was finishing a QSO with K1JT, and
his 73 message is shown in red because it is addressed to *My Call* (in this case K1JT).
By default, lines containing `CQ`
are highlighted in green, and lines with *My Call* (K1JT)
in red. Notice that K1JT has two callers; HA0DU and EA3AGB.
[[X13]]
.Decoding Controls
To gain some feeling for controls frequently used when making QSOs,
try double-clicking with the mouse on the decoded text lines and on the
waterfall spectral display. You should be able to confirm the
following behavior:
- Double-click on one of the decoded *CQ* messages highlighted in
green. These actions produce the following results:
** Callsign and locator of the station calling CQ are copied to the *DX
Call* and *DX Grid* entry fields.
** Messages are generated for a standard minimal QSO.
** The *Tx even* box is checked or cleared appropriately, so that you
will transmit in the proper (odd or even) minutes.
** The Rx frequency marker is moved to the frequency of the CQing
station.
** You can modify the double-click behavior by holding down the
*Shift* key to move only the Tx frequency or the *Ctrl* key to move
both Rx and Tx frequencies. (On a Mac computer, use the *command* key
instead of *Ctrl*).
** In addition, if *Double-click on call sets Tx enable* is checked on the
*Settings | General* tab then *Enable Tx* will be activated
so that a transmission will start automatically at the proper time.
+
NOTE: You can prevent your Tx frequency from being changed by checking the
box *Hold Tx Freq*.
- Double-click on the decoded message `K1JT HA0DU KN07`, highlighted
in red. Results will be similar to those in the previous step. The Tx
frequency (red marker) is not moved unless *Shift* or *Ctrl* is held
down. Messages highlighted in red are usually in response to your own
CQ or from a tail-ender, and you probably want your Tx frequency to
stay where it was.
- Click with the mouse anywhere on the waterfall display. The green Rx
frequency marker will jump to your selected frequency, and the Rx
frequency control on the main window will be updated accordingly.
@ -38,11 +103,12 @@ things just described and also invokes the decoder in a small range
around the Rx frequency. To decode a particular signal, double-click
near the left edge of its waterfall trace.
- Now double-click on any of the lines of decoded text in the Band
Activity window. Any line will show the same behavior, setting
Rx frequency to that of the selected message and leaving Tx frequency
unchanged. To change both Rx and Tx frequencies, hold *Ctrl* down
when double-clicking.
- Ctrl-double-click on a signal to set both Rx and Tx frequencies and
decode at the new frequency.
- Click *Erase* to clear the right window.
- Double-click *Erase* to clear both text windows.
TIP: To avoid QRM from competing callers, it is usually best
to answer a CQ on a different frequency from that of the CQing
@ -53,6 +119,11 @@ box *Hold Tx Freq*.
TIP: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy
way to move your Tx frequency down or up in 60 Hz steps.
TIP: Sliders and spinner controls respond to *Arrow* key presses
and *Page Up/Down* key presses, with the *Page* keys moving the
controls in larger steps. You can also type numbers directly into
the spinner controls or use the mouse wheel.
TIP: An online {ft8_tips} by ZL2IFB offers many additional tips on
operating procedures.

View File

@ -19,7 +19,7 @@ frequency limit is approximately 3300 Hz.
+...\save\samples\FT4\200514_182053.wav+. The waterfall and Band
Activity window should look something like the following screen shots.
This sample file was recorded during a practice contest test session, so
most of the decoded messages use the *RTTY Roundup* message formats.
most of the decoded messages use the *FT Roundup* message formats.
[[X16]]
image::ft4_waterfall.png[align="left",alt="Wide Graph Decode FT4"]
@ -34,7 +34,7 @@ frequency control on the main window will be updated accordingly.
frequency marker and its associated control on the main window will
follow your frequency selections.
- Do the same thing with the *Ctrl* key held down. Now the both colored
- Do the same thing with the *Ctrl* key held down. Now both colored
markers and both spinner controls will follow your selections.
- Now double-click on any of the lines of decoded text in the Band
@ -56,7 +56,7 @@ and treat it as if you had double-clicked on that line of decoded
text. Here "best potential QSO partner" means "New Multiplier" (1st
priority) or "New Call on Band" (2nd priority). "New Multiplier" is
currently interpreted to mean "New DXCC"; a more broadly defined
multiplier category (for the ARRL RTTY Roundup rules) will be
multiplier category (for the FT Roundup rules) will be
implemented in due course. We may provide additional priority
rankings, for example “New Grid on Band” (useful for North American
VHF contests), sorting by signal strength, etc.
@ -66,7 +66,7 @@ supposed to mean. This is done by configuring suitable options on the
*Settings | Colors* tab. Selection and ordering of color-highlighting
options determines what potential QSO partners will be chosen by the
"Best S+P" feature. Optimum choices will be different for different
contests. In a contest using RTTY Roundup rules we recommend
contests. In a contest using FT Roundup rules we recommend
activating *My Call in message*, *New DXCC*, *New Call on Band*, *CQ
in message* and *Transmitted message*, reading from top to bottom.

View File

@ -31,7 +31,7 @@ image::FST4_center.png[align="center"]
It's best to keep the decoding range fairly small, since QRM and
transmissions in other modes or sequence lengths will slow down the
decoding process (and of course will be undecodable). By checking
*Single decode* on the the *File | Settings | General* tab, you can
*Single decode* on the *File | Settings | General* tab, you can
further limit the decoding range to the setting of *F Tol* on
either side of *Rx Freq*.

View File

@ -1,25 +0,0 @@
// Status=review
- Click the *Stop* button on the main window to halt any data acquisition.
- Select *JT9* from the *Mode* menu and *Deep* from the *Decode* menu.
- Set the audio frequencies to *Tx 1224 Hz* and *Rx 1224 Hz*.
+
TIP: Sliders and spinner controls respond to *Arrow* key presses
and *Page Up/Down* key presses, with the *Page* keys moving the
controls in larger steps. You can also type numbers directly into
the spinner controls or use the mouse wheel.
[[DOWNLOAD_SAMPLES]]
=== Download Samples
- Select *Download samples...* from the *Help* menu.
- Download some or all of the available sample files using checkboxes
on the screen shown below. For this tutorial you will need at least
the JT9 and JT9+JT65 files.
image::download_samples.png[align="center",alt="Downlod Samples"]

View File

@ -1,13 +1,46 @@
// Status=review
- *Bins/Pixel* = 4
- *Start* = 200 Hz
- *N Avg* = 5
- *Palette* = Digipan
- *Flatten* = checked
- Select *Cumulative* for data display
- *Gain* and *Zero* sliders for waterfall and spectrum set near midscale
- *Spec* = 25%
The WSJT-X Wide Graph window displays the frequency spectrum of the received audio. Usually, the
upper portion of the window shows a waterfall plot of the frequency spectrum (a spectrogram) and
a line plot of the current or average spectrum. Controls at the bottom of the window are used to
set up the displayed audio frequency range, color palette, and scaling of the spectrum displays.
A control on the bottom right of the Wide Graph (displayed as *Spec nn%*) lets you control
the vertical fraction of the window occupied by the spectrum line plot.
It is important to set appropriate lower and upper
audio frequency limits for the Wide Graph because these limits define the FT8 decoder's search window.
For this tutorial, the limits will be set to cover 100-3300 Hz:
- Set *Start* = 100 Hz.
- Set *Bins/Pixel* = 5. Smaller/larger values make the Wide Graph cover a smaller/larger
frequency range.
- Use the mouse to grab the left or right edge of the *Wide Graph*, and
adjust its width so that the upper frequency limit is about 2400 Hz.
adjust its width so that the upper frequency limit is about 3300 Hz.
The *N Avg* setting controls how many spectra are averaged to produce each line in the spectrogram.
Smaller values make the spectrogram update more frequently, resulting in signals being more spread
out in the vertical (time) direction.
On the other hand, larger values make it easier to detect very weak signals:
- Set *N Avg* = 2.
The *Palette* setting controls the color scheme used for the spectrogram:
- Set *Palette* = Fldigi
When *Flatten* is checked, WSJT-X attempts to correct for slope or curvature in the receiver's
passband shape.
- *Flatten* = checked
The line plot can be set to display the current (un-averaged) spectrum or the cumulative (averaged)
spectrum:
- Select *Cumulative* for data display
- Set the *Gain* and *Zero* sliders for the waterfall and spectrum to near midscale
The *Spec nn%* setting determines what fraction of the vertical extent of the Wide Graph will
be used for the line plot of the spectrum. Setting *Spec* to 0 will eliminate the line plot and
a setting of 100 will eliminate the spectrogram and show only the line plot:
- Set *Spec* = 50%

View File

@ -26,7 +26,7 @@ on bands above 1.2 GHz.
To activate the VHF-and-up features:
- On the *Settings | General* tab check *Enable VHF/UHF/Microwave
- On the *Settings | General* tab check *Enable VHF and submode
features* and *Single decode*.
- For EME, check *Decode after EME delay* to allow for extra path
@ -280,37 +280,45 @@ being readable by anyone listening in.
=== Echo Mode
*Echo* mode allows you to make sensitive measurements of your own
lunar echoes even when they are too weak to be heard. Select *Echo*
from the *Mode* menu, aim your antenna at the moon, pick a clear
frequency, and toggle click *Tx Enable*. _WSJT-X_ will then cycle
through the following loop every 6 seconds:
*Echo* mode provides tools for two types of measurements: echoes of
your transmitted signal from the Moon, and broadband noise power
received from the Sun, Moon, and possibly other sources including
nearby ground. In each case the system noise temperature (noise power
referred to the antenna terminals, expressed in Kelvin degrees) serves
as the reference noise level. Such measurements are widely used for
optimizing a station's capabilities for Earth-Moon-Earth (EME)
communication.
1. Transmit a 1500 Hz fixed tone for 2.3 s
2. Wait about 0.2 s for start of the return echo
3. Record the received signal for 2.3 s
4. Analyze, average, and display the results
5. Repeat from step 1
For lunar echoes, _WSJT_ generates short fixed-frequency transmissions
that alternate with reception intervals at the appropriate
Doppler-shifted frequency. Be sure that *Enable VHF and submode
features* has been checked on the *Settings | General* tab. With
*Split Operation* set to *Rig* or *Fake It* on the *Settings | Radio*
tab, check *Doppler tracking* and *Own Echo* on the Astronomical Data
window. Point your antenna at the Moon and click *Enable Tx* on the
main window to start a sequence of echo measurements. Each cycle
takes 6 seconds. If strong enough, echoes will be visible in the
waterfall. Their average spectrum will be displayed in the Echo Graph
window, and numerical parameters of the measurements appear in the
main window:
To make a sequence of echo tests:
image::Echo_1296.png[align="center",alt="Echo 144 MHz"]
- Select *Echo* from the *Mode* menu.
At the end of each echo cycle a line of data in the main text window
displays the following information:
- Check *Doppler tracking* and *Constant frequency on the Moon* on the
Astronomical Data window.
UTC Time in hhmmss format
Hour UTC in hours and decimal fraction
Level Relative received noise power (dB)
Doppler EME Doppler shift at center of lunar disk
Width EME Doppler spread over full lunar disk
N Number of accumulated echo or monitor cycles
Q Estimated quality of averaged data on a 0 10 scale
DF Offset of spectral peak from 1500 Hz
SNR Average signal-to-noise ratio (dB/2500 Hz)
dBerr Estimated uncertainty of SNR
- Be sure that your rig control has been set up for _Split Operation_,
using either *Rig* or *Fake It* on the *Settings | Radio* tab.
- Click *Enable Tx* on the main window to start a sequence of 6-second
cycles.
- _WSJT-X_ calculates and compensates for Doppler shift automatically.
As shown in the screen shot below, when proper Doppler corrections
have been applied your return echo should always appear at the center
of the plot area on the Echo Graph window.
image::echo_144.png[align="center",alt="Echo 144 MHz"]
... more to come ...
=== Tips for EME
@ -333,6 +341,27 @@ correlation algorithm. JT65 and Q65 offer _a priori_ (AP)
decoding, which takes advantage of naturally accumulating information
during a QSO.
For CW mode on SHF and microwave EME WSJT-X can be used to do Doppler
shift correction if desired:
- Check the *Settings -> Radio -> Mode -> None* option, this stops _WSJT-X_
from trying to set the mode of your rig.
- Put you rig into CW mode as normal.
- Before transmitting press *Tune* in _WSJT-X_, no tones will be
transmitted as the rig is in CW mode, but importantly WSJT-X knows
your are transmitting and adjusts the Doppler shift correction as
needed for the currently selected Doppler shift correction mode in
transmit.
- When you have finish transmitting CW press *Tune* again to revert to
receive mode and the correct Doppler shift correction for receiving.
NOTE: The above assumes you are already set up for _WSJT-X_
<<VHF_SETUP,Doppler shift correction>> with working CAT control, and
*Monitor* enabled etc..
////
The following tutorial aims to familiarize you with
these program features, all of which are of special interest for EME

View File

@ -141,31 +141,20 @@ include::transceiver-setup.adoc[]
== Basic Operating Tutorial
This section introduces the basic user controls and program behavior
of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes.
of _WSJT-X_, with particular emphasis on the FT8 mode.
We suggest that new users should go through the full HF-oriented
tutorial, preferably while at your radio. Note that as of late 2018,
digital usage on the HF bands has mostly moved from JT65 and JT9 to FT8. So
you may wish to pay particular attention to *FT8*, in Section 6.6.
tutorial, preferably while at your radio.
Subsequent sections cover additional details on <<MAKE_QSOS,Making
QSOs>>, <<WSPR,WSPR mode>> and <<VHF_AND_UP,VHF+ Features>>.
[[TUT_MAIN]]
=== Main Window Settings
include::tutorial-main-window.adoc[]
[[TUT_SAMPLES]]
include::tutorial-download-samples.adoc[]
[[TUT_WIDE_GRAPH]]
=== Wide Graph Settings
include::tutorial-wide-graph-settings.adoc[]
[[TUT_EX1]]
=== JT9
include::tutorial-example1.adoc[]
[[TUT_EX2]]
=== JT9+JT65
include::tutorial-example2.adoc[]
[[TUT_EX3]]
=== FT8
include::tutorial-example3.adoc[]

28
eclipse.txt Normal file
View File

@ -0,0 +1,28 @@
# Some test dates added for PSKReporter testing#
2023-06-10T21:30:00Z
2023-06-15T18:00:00Z
2023-07-01T18:00:00Z
2023-07-15T18:00:00Z
2023-08-01T18:00:00Z
2023-08-15T18:00:00Z
2023-09-01T18:00:00Z
2023-09-15T18:00:00Z
2023-10-01T18:00:00Z
# From https://eclipse.gsfc.nasa.gov/SEdecade/SEdecade2021.html
2023-10-14T18:00:40Z
2024-04-08T18:18:29Z
2024-10-02T18:46:13Z
2025-03-29T10:48:36Z
2025-09-21T19:43:04Z
2026-02-17T12:13:05Z
2026-08-12T17:47:05Z
2027-02-06T16:00:47Z
2027-08-02T10:04:49Z
2028-01-26T15:08:58Z
2028-07-22T02:56:39Z
2029-01-14T17:13:47Z
2029-06-12T04:06:13Z
2029-07-11T15:37:18Z
2029-12-05T15:03:57Z
2030-06-01T06:29:13Z
2030-11-25T06:51:37Z

569
g4wjs.txt Normal file
View File

@ -0,0 +1,569 @@
Joe Taylor, K1JT:
I am very sorry to convey the sad news that Bill Somerville,
G4WJS, died suddenly and unexpectedly a few days ago. He was only
about 65 years old.
Bill was a dear friend and very close colleague, though (as is often
the case with worldwide ham radio friendships) we had met in person
only a few times. In 2013 he was the first to join me in forming a
core development group for WSJT-X, which at that time was at program
version 0.99. Bill has been closely involved with WSJT-X and related
software projects ever since.
Our free, open-source software could not have achieved its extensive
worldwide popularity and influence in ham radio without Bill's
essential contributions. In addition to writing code for important
portions of the Qt-based user interface for WSJT-X, Bill helped to
bring the overall program structure more nearly up to professional
standards. Moreover, he devoted countless hours to program support,
patiently answering user's questions on WSJT-related forums.
I have only started to think about the many ways in which I will miss
Bill -- not no mention how we all will miss his immense and positive
impact on WSJT-X and related projects. For more than eight years Bill
and I communicated closely and regularly on ham radio topics,
sometimes many times per day. Perhaps I will be able to write more
about it in the near future.
Rest in peace, dear friend G4WJS.
Stan Gammons, KM4HQE:
So sad to hear that Joe. Bill will be greatly missed.
Prayers for his family and friends.
Rest in peace Bill
Colin Haig, VE3MSC:
Joe, this is truly sad news. Bill has been a wonderful resource and
supported all of us. Please pass condolences to his family.
PA3GCU:
May he rest in peace.
Philip Hazelton, G8PJH
This is shocking news, he was such talent, he will be sorely missed,
condolences to his family.
Philip Rose, GM3ZZA
You have provided an excellent service to the WSJT-X community. I
think your last post was a couple of days ago. We will all miss you,
and your incisive resolution of all our problems.
Requiescat in pace.
Dave, AA6YQ:
A huge loss for all of us. Bill always took the time to provide a
friendly, accurate, and helpful answer to any question that came his
way. He set one good example after another.
Reino Talarmo, OH3MA:
RIP Bill, We will miss your kind advice.
Tom V. Segalstad, LA4LN:
The silent key of Bill is very sad news.
Bill has been extremely helpful for radio amateurs to make WSJT-X fit
their different radios and computers. We have seen E-mail answers from
him coming at all times during borh day and night. And we wonder if he
ever got time to sleep or eat, in-between his good answers and advices
to radio amateurs world wide.
So rest in peace Bill, and thank you very much for all the help you
have provided to radio amateurs world wide, for making their digital
radio amateur activity very successful.
John, VE7KKQ:
So long, Bill, condolences to his family.
Tom, M0LTE:
Unreal. Deeply shocking.
Heartfelt condolences from us all at the Reading club, where Bill was
a member.
Борис Романов (Boris Romanov), UX8IW:
Sad news. Condolences to Bill's family and friends.
Ken Cox, WA8OMR:
Sorry to hear about Bill's passing. I will miss reading his answers to
the many questions posted. I have learned a lot from them.Ken WA8OMR.
Gary Trock:
Very Sad.
Ive been reading his posts since I joined.
RIP.
Dave Sellars, KB4JB:
Very sad news indeed. Amateur Radio worldwide has lost a tremendous
ham and friend. His contributions to WSJT-X and this group will never
be forgotten.
Lynn Mears, K0CLM:
Extremely sad news. I havent been involved with WSJT that long, but
it was obvious that Bill donated a lot of time and effort towards WSJT
and helping in many different ways. He will be missed greatly.
Peter, M0PWX:
Sad news indeed, Bill was a great resource and font of so much
knowledge, as well as having the patience of a saint when dealing with
some members / questions
Will be greatly missed on here
Russ Ravella:
Incredibly sad news. What a wonderful, valuable and kind man Bill
was. How much better the world would be with more Bills in it.
Thank you and Rest In Peace Bill Somerville.
Sam Birnbaum, W2JDB:
So very sorry to hear this sad news. Bill has been very extremely
helpful to me in providing the information that allowed me to provide
a complimentary program for WSJT-X so that visually impaired/blind
hams can also partake in this fantastic program and its modes.
Rest In Peace Bill, you will be sorely missed by all.
Jack Trampler, N2JT
I never worked Bill. Did he even have time to operate? I never met
Bill. But I would have liked to. I never sent him an email, either
personal or on this group. I wish I had.
I enjoyed my daily (actually several times a day) reading of the
messages posted in this group and his replies. I learned a lot from
them. This man had so much knowledge and the fact that he took the
time to deal with almost every post in this group and share that
knowledge, its truly a testament to this man. I for one will surely
miss him.
I wish I knew him better. Rest in Peace, Bill.
Pete Smith, N4ZR:
Terrible news. Though I'm not a great devotee of the digital modes
(except CW), without Bill I'm convinced I would not have made a single
QSO using WSJT-X. My sympathy to his family and friends.
Neil Zampella, KN3ILZ:
I agree. Bill was patient with everyone, even me when I replied to a
post and chewed my foot up to the ankle.
His passing will affect much done within WSJT-X, as well as Hamlib.
He was a font of knowledge and 'corporate' memory.
We may not see his like again.
Jim Brown, K9YC:
If Bill had done nothing more than provide what seemed like 24/7
support here, his contribution would have been monumental. Thanks
Bill, RIP.
Jeff, K3JRZ:
Wow. Very sad to hear.
I had sent many emails to him looking for help with WSJT-X when I
first started having my first issues with it when I started with the
software and then again after several macOS updates. Always a great
guy to get help from. He will surely be missed. My condolences to his
family and to all that knew him.
Lance Collister, W7GJ:
Our heart-felt condolences to you, Joe, and to all the folks like me
whom he so patiently helped over the years. He was an amazing member
of the WSJT-X team, and I found myself always amazed at how in the
world he was able to answer all the questions posed to him by users of
WSJT-X on such a myriad of different rigs with different software. His
contributions will be long remembered, and very much appreciated. So
sad to see someone go who gave so much so freely to our
community. RIP, Bill.
Klaus Werner, G7RTI:
Thanks to Bills helpful explanations I was able to get going on
WSJTX.
I didnt know him or anything about him except what has been written
in previous comments.
May he rest in peace.
Wayne Rash, N4HCR:
This is so sad. Bill always showed great patience with my dumb
questions. He played a big role in making WSJTX a joy to use. Ham
radio owes him a huge debt.
Rest In Peace, Bill.
Dave:
Very sad to hear. He will live in our memories and our operating.
Ed Radlo, AJ6V:
Bill always answered the various online queries vey quickly, and his
vast knowledge helped many of us get on track with all of these new
digital modes.
A great loss to ham radio.
Bob Bownes: (?)
Very sad to hear. May his memory be a blessing to his family and all
who knew him.
In the Law Enforcement, Fire and Emergency Medical Services, the
passing on of one such is often marked with a 'Last Call' or 'Final
Dispatch' in which the departed's call sign is requested thrice for
one last time. Usually at a pre-arranged or significant time. Seems
appropriate in this case as well. Perhaps you could do that for us
Joe.
Rick, I2BRT:
Very sad news and a great loss for our cumunity. Thanks for all the
effort and friendship Bill. Rest in peace.
Andy, GD0TEP:
I never worked Bill. Did he even have time to operate?
Yes, I worked him on 15m in August just gone, and on 6m back in
May. Both on FT8 of course.
Gwen, KI5PXQ:
I also worked him, 1600Z on the 24th of October, 15 meters, FT8.
Ria, N2RJ:
This is truly awful news. Bill will certainly be missed.
Walter, OE6IWG:
VY sad News :-(
Bill was a GREAT helper - also for me. My condolences to his family
and friends.
Ed Wilson, K0KC:
This is a tremendous loss to the amateur radio community, but as
someone who lost his brother only a few weeks ago, I know that the
loss is much greater to his family and close friends...my condolences
to each of them. RIP, Bill...
Amos Sobel, 4X4MF:
Me and the WSJT-X community mourn the departure of Bill Somerville
Bob, K4RCG:
I deeply regret not sending Bill a "personal thank you" e-mail for his
support of our hobby. I had planned on doing so, but didn't want to
add traffic to his in-box admin! He will be missed, but fondly
remembered.
Hamish, G0GLG:
Very sad day for amateur radio.
Paul Welford, G4YKQ:
A Tribute to my dearest friend Bill Somerville G4WJS.
I apologize for length of this post. This might answer a few previous
posts Knowing Bill he will be still reading all these posts from a
better place.
I thank you for your speedy post Joe.
Bill G4WJS was one of my dearest friends living just 4 miles apart.We
spoke 2/3 times a week and at times several times a day.
After a 20 year plus break Bill spurred me on to come back into the
radio family. I OWE HIM A LOT. Thanks to him my major interest in the
last 10 years has been WSJT-X. Bill also had a passion for Photography
and me being a Photographer for The Sun Newspaper In London before I
retired had another common interest we liked to have a good natter but
I often came off the worst.Bill lived on his own so we kept a close
eye on each other.
Bill had a degree in Chemistry but as I understand was self taught in
computing and electronics.Please see his QRZ page.
He was a whizz. He was a great natural teacher and Joe I think this was
one of the reasons he got on so well with you and the group.He
remarked to me many times "I never mind helping anyone provided they
help themselves" At times glaring at me muttering under his breath
"Read the notes and the posts" Sometimes it so annoyed him when I
could not keep a straight face..we all know the story.Bill always
willing to help with a computer grafted to his hand. Over the last
ten years he has like others in the group spent hours and hours
involved with WSJX-X.He had a great admiration for open source
programs.Made many friends within the digital community and a big
respect for Dxlabs {Dave] JTalert [Laurie] among others. I was always
giving him praise for taking a break and TXing winding up this 4 ele
,of late not often[Bill head in PC} every day I would have a crafty
check on his PSK. Bill was very much in favour of Using L.O.T.W but
never collected awards,but on receiving a trophy for technical
achievement announced at Dayton when he told me there was no emotion
but I knew Bill just to well he was chuffed !
Sadly last Friday after never responding to my calls I found Bill
seated in his shack at peace surrounded by the things he loved most.
I am still total shock!!!
Such a loss of a talented and loyal friend and as I have said he shall
be greatly missed by many in our radio family.
R.I.P.William [Bill ] G4WJS.
God Bless you and till we meet again 73.................. Cheers mate!
Ronnie Hull:
I am greatly saddened to hear this news.
Keith Wood, W4RPE:
Great tribute to a wonderful man.
Carlos, OE3JAG:
May I also do my sadly condolences to his family and his friends ! He
will surely be missed by all the hams. Thanks for got in touch with
you, dear Bill.
Good luck in your new place, Bill, I miss you,
William Hensley, WG8S:
A great tribute, Paul! I'm sorry you were the one to find him, yet I
sense you would both want it that way. I did not know Bill, but he
made a tremendous contribution to the WSJT-X community. He will be
missed.
RIP, Bill. Thank you, Paul.
Bernd, KB7AK:
Thank you for your tribute Paul, we will all miss Bill dearly.
Philip Rose, GM3ZZA:
As far as I can see we as amateurs who have been helped by Bill,
should keep up his good work. I know I cant alone.
His advice was definitive. Others not so.
Jim Brown, K9YC:
Thanks very much, Paul, for this lovely and loving post. As you and
Joe have so eloquently written, Bill exemplified the best of the ham
spirit, by giving and sharing far more than he received.
Erik, VA7QI:
Very sorry to hear about Bill. I enjoyed reading his comments and
very much appreciate his contribution for WSTJ-X.
His name and callsign will be remembered for a long time as a shining
light of the ham radio community.
73 de va7qi, ....Erik.
Marco, PY1ZRJ:
My God! Whats terrible news is this!
Bill helped me in many occasions with WSJT-X always with a very pure
"ham-spirit" and availability.
My very sincere condolence to all his family and friends, I will miss
him a lot despite I never had the pleasure to meet him.
Martin Davies, G0HDB:
That is truly unwelcome and most distressing news, Joe; I'm sure the
vast amounts of time and effort that Bill devoted to the development
and support of WSJT-X will be very sorely missed by everyone in the
community, whether or not they had ever had any direct dealings with
Bill.
Please convey all our sympathies and our deepest condolences to Bill's
relatives and friends.
John Nelson, G4KLA:
I am saddened to learn of your news. This is blow to the WSJT-X
community.
In the early days of Bills involvement with WSJT he often logged into
my Macs at home to test his software modifications on a Mac until he
got a VM working. He and I had numerous discussions while testing new
versions on various Mac OS. He was generous with his time in helping
folks with problems either running the codes or attempting to build
the software on various platforms. The multitude of emails to the
development list is a tribute to his commitment to ensure that the
various programs operated flawlessly.
His involvement with the development of WSJT-X code especially with
modernising the structure of the whole program has been immense. I
will certainly miss his advice.
A sad day…
Alan, G0TLK:
Shocking and saddening news, he will be greatly missed.
My condolences to his family and friends, and RIP Bill.
Robin, G8DQX:
I only knew Bill through his contributions to the WSJT lists. Those
contributions were sharp, radical, and usually encouraging. He was a
clearly essential part of a team that is helping Amateur Radio to
grow, expand and develop, far beyond what you and I knew when,
soldering iron in hand, we first played with radio, all those years
ago.
My condolences to his family and friends. We shall all miss him.
Robin, G8DQX
Charlie Suckling, G3WDG/DL3WDG:
We were also shocked and very sorry to hear of Bill's sudden
passing. I never had the pleasure of meeting him in person. Like Bob,
he attended the same University and read the same degree.
We are so grateful for his contributions over many years to
WSJT-X. His support for users was first class, and he even joined the
EME reflectors to give support to EME users during the roll-out of
Q65, despite not being active himself on EME. He was contributing
there regularly, and some of his last efforts were to support the use
of WSJT-X for Doppler control on CW on the microwave bands.
He was also a very patient and diligent teacher, tutoring and helping
those who wished to make small contributions to the project. I am very
grateful for the time he spent in such ways.
Bill will surely be greatly missed, and sincere condolences to his
family and many friends.
RIP Bill.
James Shaver, N2ADV:
I had the pleasure of talking to Bill over Skype a few times during
the development of 1.7 and later 1.8 to chase down some CAT control
gremlins with several radios I happen to own. His patience and
intelligence was incredible. Such a huge loss to us all.
My sincerest condolences to his family and friends.
He will definitely be missed but his contributions to the advancement
of amateur radio will live on indefinitely.
Alessandro Gorobey, IK2
Very sad news and a great loss.
A great teacher.
My sincerest condolences to his family and friends.
Jim Preston, N6VH:
This is definitely very sad news. Bill was a very important part of
the WSJT team. He will be missed very much.
My condolences to his family.
Gary Lane, VK4OO
Very sad news, my condolences to Bills friends and family….
Bob Atkins, KA1GT:
I was shocked and saddened by the news of Bill's passing. We chatted
on line quite often though we never met in person. He attended the
same university as I didn't, reading the same subjects, but was a hear
of two behind me, so we never met their either. Bill will be greatly
missed and I send my condolences to his friends and family.
RIP Bill.
Dave Schmocker, KJ9I:
This is incredibly sad news. Bill was always so helpful, highly
responsive, and on-target with deep technical solutions.
What a wonderful asset Bill was to the hobby and to all with whom he
interfaced.
Jim, WB4CGS:
I am very sorry for this loss.
Conrad Farlow, Jim WB4GCS
Joe I am absolutely lost for words. What a terrible shock. I cannot
imagine him not being there. My condolences to you, Bill's family and
well the whole dev team. We will all miss him Most of all I am sorry
that you lost such a good friend.
Sam Jewell, G4DDK:
So sad to hear this news. One of the team who have revolutionised ham
radio operation, popularised digital and helped realise what we
thought should be possible.
Vale Bill.
Nick, NN3Y:
R I. P. Bill. He'll be missed. My sincere condolences to his family
and friends.
Jay, KA9CFD:
Shocking and very sorry news. RIP Bill.
Mirek, OK2AQ:
Very sad news for us WSJT-X users. R.I.P. Bill
OH6KTL, Lasse:
ge and sad to hear about Bill

View File

@ -0,0 +1,26 @@
//
// Moved from Configuration.cpp
//
#include "MessageItemDelegate.hpp"
#include <QLineEdit>
#include <QRegExpValidator>
//
// Class MessageItemDelegate
//
// Item delegate for message entry such as free text message macros.
//
MessageItemDelegate::MessageItemDelegate(QObject *parent): QStyledItemDelegate{parent}
{
}
QWidget *MessageItemDelegate::createEditor(QWidget *parent, QStyleOptionViewItem const &, QModelIndex const &) const
{
QRegularExpression message_alphabet{"[- @A-Za-z0-9+./?#<>;$]*"};
auto editor = new QLineEdit{parent};
editor->setFrame(false);
editor->setValidator(new QRegularExpressionValidator{message_alphabet, editor});
return editor;
}

View File

@ -0,0 +1,20 @@
//
//
//
#ifndef WSJTX_MESSAGEITEMDELEGATE_H
#define WSJTX_MESSAGEITEMDELEGATE_H
#include <QStyledItemDelegate>
class MessageItemDelegate: public QStyledItemDelegate
{
Q_OBJECT
public:
explicit MessageItemDelegate(QObject *parent = nullptr);
QWidget *createEditor(QWidget *parent, QStyleOptionViewItem const & /* option*/
, QModelIndex const & /* index */
) const override;
};
#endif //WSJTX_MESSAGEITEMDELEGATE_H

42
lib/77bit/hash22calc.f90 Normal file
View File

@ -0,0 +1,42 @@
program hash22calc
! Given a valid callsign, calculate and print its 22-bit hash.
use packjt77
character*13 callsign
character*1 c
character*6 basecall
logical cok
nargs=iargc()
if(nargs.ne.1) then
print*,'Given a valid callsign, print its 22-bit hash.'
print*,'Usage: hash22calc <callsign>'
print*,' e.g. hash22calc W9ABC'
go to 999
endif
call getarg(1,callsign)
! convert to upper case
ilen=len(trim(callsign))
do i=1, ilen
c=callsign(i:i)
if(c.ge.'a' .and. c.le.'z') c=char(ichar(c)-32) !Force upper case
callsign(i:i)=c
enddo
! check for a valid callsign
call chkcall(callsign,basecall,cok)
if(.not.cok) then
print*,'Invalid callsign'
print*,'Usage: hash22calc <callsign>'
goto 999
endif
! calculate the hash
n22 = ihashcall(callsign,22)
write(*,'(a,i7.7)') callsign,n22
999 end program hash22calc
include '../chkcall.f90'

View File

@ -94,3 +94,7 @@ KA1ABC/VEX 37
<W3CCX/P> <K1JT> 590001 FN20QI
<W3CCX/P> <K1JT/P> 590001 FN20QI
<W3CCX/QRP> <K1JT/QRO> 590001 FN20QI
CQ OE21FTDMC
K9AN K1JT R-
K9AN K1JT R+
K1AN K1JT WXY

Some files were not shown because too many files have changed in this diff Show More