Commit Graph

61 Commits

Author SHA1 Message Date
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
Steven Franke 8f6663b0d7 Remove some experimental code. 2020-05-06 07:17:42 -05:00
Joe Taylor d4d37c49ab Silence compiler warnings. 2020-03-19 12:04:56 -04:00
Steven Franke e936a863a8 Fix some bugs related to osd decoding in msk144 and disable it for now. 2020-02-13 14:25:36 -06:00
Steven Franke 08baa50a01 Experimental change to enable OSD decoding for MSK144 when ntol .le. 50 Hz 2020-02-13 08:48:51 -06:00
Steve Franke 4e2d61204f cosmetic: remove comment-out statement. 2018-12-21 10:59:30 -06:00
Steve Franke 7a40bf2e4b Use separate hash tables for 10, 12, and 22 bit hashes. Make unpacking i3=4 messages depend on whether unpack is being done on a received message, or a to-be-transmitted message. Give mycall13 priority over hash table entries in certain contexts. 2018-12-20 15:08:29 -06:00
Steve Franke 096a459ae8 Make sure that msksignalquality is not called on Sh decodes to avoid contamination of recent_calls array and resulting poor SWL performance in MSK144 mode. 2018-10-20 13:55:02 -05:00
Steve Franke 7b67550183 Make sure that msk144signalquality is not called for Sh decodes. 2018-10-06 15:09:58 -05:00
Steve Franke 173737e1d9 Fix Tx1 problem with extended callsigns in MSK144. Make sure that mycall is in the hashtable. 2018-10-06 11:14:57 -05:00
Steve Franke dd9bdc6d1f Fix bug that prevented generation of MSK144 Sh messages with extended callsign. Change all MSK144 Sh code to use 12-char mycall and hiscall and 37-char messages. Hash full extended callsigns (not just base call) and print full callsigns, e.g. <KP4/K1JT K9AN> RRR 2018-10-05 20:56:22 -05:00
Joe Taylor ab137b37e7 Do not display end-of line numbers for MSK144 decodes. 2018-09-26 10:02:45 -04:00
Steve Franke af1be084d4 Make MSK144 SWL mode work. Needs testing\! 2018-09-24 15:10:57 -05:00
Steve Franke 45031738bf Fix some message-length incompatibilities involving MSK144 Sh messages. SWL mode is broken for the time being, because it relied on the old extractmessage144 routine to keep track of recent callsigns. That routine is no longer used. 2018-09-24 12:31:17 -05:00
Joe Taylor d95d2df5b6 Old-style "NA VHF Contest" mode removed from all Fortran routines. 2018-07-10 15:09:42 -04:00
Steve Franke fd0ad33028 MSK144: Wholesale changeover to (128,90) code with 77-bit messages. Compiles and doesn't crash, but communication between two instances has not been tested. 2018-07-07 10:35:59 -05:00
Joe Taylor e514af2339 Correct a flaw in handling a warning about NA Contest Mode. This fix should go also to the v1.8.1 tag.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8314 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-12-11 14:15:31 +00:00
Joe Taylor ed95b6d373 Remove unused arguments from the call to fix_contest_msg().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7962 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-27 18:57:53 +00:00
Bill Somerville 407eb2c514 Correct issues with UDP messages and screen layout for MSK144 and FT8 modes
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7830 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-10 00:01:20 +00:00
Bill Somerville 2131414791 Add reference spectrum to equalization plots and more plotting enhancements
Use  a header  format for  polynomial coefficients  that includes  the
valid  X  range  in  scaled  terms  and  a  count  of  the  number  of
coefficients.

Use double  precision consistently  for polynomial  coefficients. This
includes formatting with sufficient DPs when writing to files.

Many changes to the equalization plots, more to come.

Add  error   handling  for   reading  coefficient,  plot   and  filter
files.  This  includes  being  backward  compatible  for  old  format
refspec.dat files with no header.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7578 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-23 16:21:26 +00:00
Steven Franke d62dacd7e2 Swap mode symbols for MSK144 so that & is the normal symbol.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7574 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-21 20:57:49 +00:00
Steven Franke 208e7e2d0b Simplify equalization logic - still need to fix & vs ^ display.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7573 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-21 20:13:36 +00:00
Bill Somerville cecc098924 First attempt at a UI phase compensation tool for MSK144
This builds on the static phase compensation in the MSK144 decoder and
the phase  analysis and  polynomial fitting  capabilities also  in teh
MSK144 decoder,  by allowing  captured data to  be selected  for phase
equalization from the WSJT-X UI.

Reads  captured phase  compensation  curve  estimate files  containing
fitted  polynomial coefficients  and measured  phase data  from MSK144
receptions. Intent  is to select a  compensation curve that is  from a
known transmitter like  an SDR which have good  phase linearity. Phase
plots and compensation polynomials may be viewed and compared with the
current compensation polynomial. A  suitable polynomial can be applied
to be use in all further decoding of MSK144 signals.

Plots of  the currently  selected polynomial  and its  modified higher
order terms  polynomial which is  actually used in  equalization (this
plot may  be dropped - it  is just for  kicks at the moment).   When a
captured phase analysis file is loaded plots of the measured phase and
the proposed best fit polynomial are shown.

Basic  maintenance  is also  included  allowing  clearing and  loading
captured  plots and  an option  to revert  to a  flat no  equalization
curve.

More to come on this as  amplitude equalization is also possible, this
will probably  be similar, maybe even  plotted on the same  graph with
dual  axes  for phase  and  amplitude.   Amplitude correction  from  a
measured  reference   spectrum  could  be  viewed   and  selected  for
equalization for all modes. TBC...

This   change    also   introduces    the   QCustomPlot    3rd   party
widget. Currently this  is statically linked from a  qcp library built
by the WSJT-X CMake script. This will probably be migrated to a shared
object (DLL) build as a CMake external project, once some CMake script
re-factoring  has been  completed,  which  is more  in  line with  the
QCustomPlot author's  intentions. This  will allow efficient  reuse in
other tools shipped with WSJT-X.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7570 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-21 02:13:13 +00:00
Steven Franke e45f7eaf67 After measuring phase response, write pcoeff file to the data directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7551 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-22 03:20:46 +00:00
Steven Franke c3d83a207a First steps to enable user control of phase calibration.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7504 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-15 21:43:40 +00:00
Steven Franke f0e7bf8033 Only train on DX Call when Rx Equalization is checked.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7502 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-15 18:39:18 +00:00
Steven Franke 5fb051e3cb Never apply dynamic phase coeffs. Measure phase response for DX Call and write coeffs, as before. Rx Equalization is still hardwired for K9AN's TS2000.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7501 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-15 18:25:54 +00:00
Joe Taylor 2698fc02c6 Re Sh and SWL: allow either or neither, but not both.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7459 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-06 19:01:29 +00:00
Joe Taylor 9866400c1b Minor code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-05 22:45:36 +00:00
Steven Franke fcaff0b9d1 Tuning NSHMEM - number of Sh/SWL decodes to remember and test against.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7450 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-05 03:35:33 +00:00
Steven Franke c47403642e More progress on SWL mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7449 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-05 02:26:55 +00:00
Steven Franke 47f782dbe3 Improve SWL mode performance.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7445 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-03 20:55:10 +00:00
Steven Franke b8cc894a57 More progress on SWL mode. Needs testing.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7437 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-01 16:34:20 +00:00
Steven Franke 077ac1d77b Progress toward SWL capability. Not finished and not tested.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7434 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-31 02:05:51 +00:00
Steven Franke 02a4cb95a4 Add an option on advanced time to enable MSK144 Rx filter equalizer. Other changes necessary to accommodate coexistence of static (Rx Filter) and dynamic (QSO partner-dependent) phase corrections.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7421 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-22 17:21:23 +00:00
Steven Franke e4c5811ac3 Changes needed to accommodate channel equalization implemented in the new msk144signalquality.f90. Warning - msk144signalquality writes to the executable directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7412 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-20 03:01:43 +00:00
Joe Taylor 3220578bc4 In MSK144, if a received grid is not in one's own hemisphere display it
as "R grid2", where grids2 is the antipodes -- even if the receiver is
not in Contest mode.  This seems safe enough...


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7396 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-18 02:54:23 +00:00
Joe Taylor 33af88a41b Complete the implementation of MSK144 contest mode. Needs testing!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7393 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-12-17 21:18:47 +00:00
Steven Franke eac7d17233 Remove old bandaid.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7205 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-19 20:45:47 +00:00
Joe Taylor ae9183a4c1 Improved noise estimate to account for data gap at start of MSK144 sequence.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7167 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-12 17:33:49 +00:00
Joe Taylor bda40d5c5d Send MyCall, HisCall, and state of Sh checkbox to mskrtd, to enable MSK144 Sh messages with the realtime decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7150 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-04 14:01:02 +00:00
Steven Franke 7ae8cadd81 Simplify/unify determination of navgd.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7148 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-03 22:57:20 +00:00
Joe Taylor a852efc33f Always use "&" for MSK144 decodes. Add single digit at end of line to indicate number of frames coherently averaged. THIS REVISION IS NOT INTENDED FOR USE ON THE AIR.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7146 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-03 20:28:27 +00:00
Steven Franke d9e4b7eede More progress on MSK40 decoder. THIS REVISION IS NOT INTENDED FOR USE ON THE AIR.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7145 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-03 20:18:53 +00:00
Joe Taylor 6dcdee836e Further speed improvements for MSK144 RT decoding. Fiz what I broke in the "click-on-CQ-message" logic.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7144 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-03 17:08:02 +00:00
Steven Franke 6c7f112384 Delete unused nav(6) array in mskrtd. Minor fix to command-line tool msk144d2.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7131 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-01 00:05:20 +00:00
Bill Somerville c7c50830bf Fix a crash which appears to be a stack size limitation
This issue was probably triggered  by OpenMP forcing some large arrays
onto the  stack where  Fortran might normally  make them  static.  The
change  that  seemed to  make  the  difference  was putting  cdat2  in
msk144_freq_search into  static storage. I  am not convinced  that the
problem is really solved but it works for now.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7130 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-30 23:32:01 +00:00
Joe Taylor bee5ea4c71 Minor cleanup; add some !$OMP stuff to msk144sync.f90, but it's not yet functional.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7119 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-29 16:39:14 +00:00
Steven Franke 9d49b88ca8 Revise some comments. No code changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7118 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-29 15:35:45 +00:00
Joe Taylor 7664a29fb6 Minor code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7117 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-29 14:46:12 +00:00