Commit Graph

204 Commits

Author SHA1 Message Date
Bill Somerville
8215f3412b Priorities for decoded message highlighting and new worked before internal database
Settings option to highlight not worked before entities/grids/calls by
mode. Fix issues with highlighting  decodes and generally refactor the
internal  workings  of  ADIF  and  QSO  recording  for  worked  before
detection.
2018-10-25 00:00:19 +01:00
Joe Taylor
60d6942cbe First cut at removing from GUI anything to do with legacy FT8 mode.
Note that calls to Fortran routines have not been changed.
2018-10-21 14:18:46 -04:00
Bill Somerville
873b1d1c43 Updated decode highlighting and LotW user's data file management
Includes a new settings facility  with the highlighting being contrled
by a new model class and a  modified QListView to display the data for
editing. Edits  include enable and  disable check boxes,  a contextual
pop-up menu to adjust backkground and foreground colours.

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

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

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

Debug trace is slightly modified to make better use of the Qt built in
facilities to format and synchronize cross thread messaging.
2018-10-17 00:26:04 +01:00
Joe Taylor
5e9297bb74 Fox/Hound must use 77-bit msgs. Generate "CQ TEST" and "CQ HUND" msgs. 2018-10-04 09:55:50 -04:00
Joe Taylor
c9cb15052c Option to AutoLog in contests; display to "Fox and Contest Log" window. 2018-10-03 20:08:47 +01:00
Joe Taylor
0451d10b25 Implement a QValidator for the Field Day and RTTY exchanges. 2018-10-03 19:35:38 +01:00
Bill Somerville
dd25dc3ad0 Fix omitted conflict 2018-10-03 19:33:10 +01:00
Joe Taylor
6d096db6d5 Implement a validator for FD and RTTY exchange entries. 2018-10-03 19:32:05 +01:00
Bill Somerville
617b845a85 Move LotW users file management to Configuration implementation 2018-10-01 22:43:13 +01:00
Joe Taylor
ab2708aa44 Fox/Hound mode does not yet use 77-bit messages, so we disallow them. 2018-09-13 13:42:58 -04:00
Joe Taylor
2c6344cdfa Switch automatically to EU VHF contest messages, with notification to user. 2018-09-05 11:07:27 -04:00
Joe Taylor
410cd2b9a1 Allow user choice of "Not in LoTW" highlighting color. 2018-09-01 15:42:02 -04:00
Joe Taylor
47078e997f One more try at the NewCall default color. 2018-08-03 21:19:33 -04:00
Joe Taylor
337981b6d3 Another tweak of a default color. 2018-08-03 18:40:25 -04:00
Joe Taylor
a607d55907 Tweak the default color for New Call. 2018-08-03 17:24:05 -04:00
Joe Taylor
800e29d4db Fix two potential crash spots in packjt77. Add "Reset Defaults" to Colors tab. 2018-08-03 08:53:02 -04:00
Joe Taylor
7df048d10a Extend color options to include New DXCC, call, and grid by band. 2018-08-02 14:35:55 -04:00
Joe Taylor
0359414bfa Complete many details of contest-mode auto-sequencing. More testing needed! 2018-07-30 13:23:23 -04:00
Joe Taylor
7482f27220 Contest modes force 77-bit messages. Fix a bug I introduced in auto-seq. Code cleanup. 2018-07-28 15:29:07 -04:00
Joe Taylor
b252c11815 Bright red label to flag Fox, Hound, or use of new 77-bit message styles. 2018-07-09 14:33:56 -04:00
Joe Taylor
b6cd4fba41 Add widgets for input of contest exchanges. 2018-07-06 14:29:36 -04:00
Joe Taylor
2963e8c19a Add a m_config.bNoSpecial() function. 2018-07-03 10:38:50 -04:00
Joe Taylor
394efcae71 Add radio buttons for None, FieldDay, RTTYroundup, NA_VHF_Contest, and EU_VHF_Contest. 2018-07-02 15:58:55 -04:00
Joe Taylor
ed7f2a2aa6 Add checkboxes for use of 77-bit messages. 2018-07-02 15:19:17 -04:00
Joe Taylor
a8524c6183 Case-insensitive sort for the list of Rig types. Tnx to W9MDB for the patch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8655 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-05-10 16:59:55 +00:00
Bill Somerville
181bc8cc7c Add default options for Hamlib CAT serial data bits, stop bits, and handshaking
Hamlib has  deafult values  for these options  that are  nearly always
correct so we  can offer a default  option in WSJT-X which  in turn is
the defaulty option.

Thanks to Mike, W9MDB, for the builk of this contribution.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8568 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-03-16 22:00:33 +00:00
Joe Taylor
da7da823cb Remove the "single-click" patch, it appears to have problems.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8465 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-06 21:49:57 +00:00
Joe Taylor
ebd7f465fd As a trial: single-click on a decode to select a new DX Call; double-click to also Enable Tx.
Thanks to W9MDB for this patch, which also removes the option *Double-click on
call sets Tx Enable*.  Please test and report any perceived issues!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8462 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-06 20:27:00 +00:00
Bill Somerville
3c384f7cbb Add UDP message to set temporary Maidenhead locator
When "Auto  Grid" is  checked in  "Settings->General" UDP  messages of
type "Location" will update a temporary  DE grid square. The intent is
to  allow  an external  application  joining  the WSJT-X  UDP  message
protocol to dynamically update the DE grid during mobile operation.

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

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

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

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8454 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-04 22:42:35 +00:00
Joe Taylor
ec644ae5f6 Implement optional x4 tone spacing for FT8, JT9, WSPR. Also some code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8447 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2018-02-02 15:18:39 +00:00
Bill Somerville
7268d6d430 Make fox and hound exclusive
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8313 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-12-09 20:43:10 +00:00
Joe Taylor
053a83dc52 Option to display principal prefix instead of country name.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8287 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-12-04 17:55:24 +00:00
Joe Taylor
bc31f581bd Broadcast logged QSOs to N1MM Logger+. Mostly thanks to Brian, N9ADG. Needs testing!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8269 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-11-29 21:05:27 +00:00
Joe Taylor
8b1ec72b1f Operator field for DXpeditions and other Multi-Op events.
Operator callsign is sent to DIF log if not empty.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8267 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-11-29 19:43:27 +00:00
Joe Taylor
3e5f703ed2 Starting to experiment with FoxCalls.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8197 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-30 15:18:54 +00:00
Bill Somerville
6424b4986f Improved frequency calibration
Measure check  box added to FreqCal  mode, check to record  to fmt.all
with  current  calibration correction  disabled,  uncheck  to see  the
impact of the current calibration parameters.

The  fmt.all  file  is  now  optionally  renamed  to  fmt.bak  when  a
calibration solution  is accepted.  This allows  users to  preserve an
fmt.all file that they might have edited for best fit.

A calibration procedure might proceed thus:-

1) select FreqCal mode,

2) step through suggested  calibration test frequencies deleting those
that have no usable signal,

3) enable "Menu->Tools->Execute frequency calibration cycle" and check
that suitable signals are present,

4) select a suitable FTol and T/R period,

5) check  "Measure" and let the  cycle complete a few  times to gather
data,

6) uncheck "Measure" to complete the data capture, optionally tidy the
fmt.all file with your favourite editor,

7) push "Menu->Tools->Solve for  calibration parameters" and accept if
you like what you see,

8) sit back and admire your accurately frequency calibrated station.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8167 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-13 22:34:21 +00:00
Bill Somerville
a9a1ac1d7a Fix an issue with editing IARU regions in the working frequencies table
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8166 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-13 22:34:10 +00:00
Bill Somerville
592316fc42 Add an accessor method to Configuration to get the current calibration parameters
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8163 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-06 16:18:17 +00:00
Bill Somerville
a3bdea0a21 Add "Apply" button to calibration solution message box
Make calibration  solution application iterative so  that calibrations
can be applied sequentially if desired.

Tidy up calibration solution messages boxes and make i18n friendly.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8153 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-10-01 21:44:15 +00:00
Joe Taylor
d7baae12f8 Another try at optimizing the GUI for simplex and split behavior. Details below:
1. Checkbox "Double-click on call sets Tx and Rx freqs" has been removed
from the Settings -> General tab.

2. Checkbox "Lock Tx Freq" on main window is relabled "Hold Tx Freq".

3. Behavior now defaults to the "simplex" behavior in use up to code
revision r8123.  In particular, double-clicking on decoded mesages
that do not contain your own call moves both Rx and Tx frequencies.
If the first callsign is your own call, only Rx freq moves.

4. If "Hold Tx Freq" is checked, double-clicking on decoded messages
moves the Rx frequency; Tx frequency is moved only if CTRL was held
down.

5. Clicking on the waterfall moves Rx and Tx frequencies as before:
Rx only on a simple click, Tx only on SHIFT-click, and both on
CTRL-click.  This happens even if "Hold Tx Freq" is checked (which
is why this box is no longer labeled "Lock Tx Freq").


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8146 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-30 17:48:46 +00:00
Joe Taylor
5c8458de35 Add an option to enforce simplex operation (moving both Tx and Rx frequency) when double-clicking on a decoded text line.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8144 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-29 17:40:30 +00:00
Joe Taylor
0b7d77589e As an experiment, move "NA VHF Contest Mode" checkbox to main screen and
query operator if d>10000 km.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8100 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-20 19:11:04 +00:00
Bill Somerville
c8dc00320f Fix initialization issue with user modified application font
The main  window font  has to  be set  after main  window construction
otherwise the menu bar font does not get set.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8077 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-09-09 19:34:54 +00:00
Bill Somerville
9f1cd9defd Fix issue with v1.8.0 trashing v1.7 working frequencies
Note  that  reverting  to  v1.7  will  invalidate  any  saved  working
frequencies  from v1.8  but proceeding  to v1.8  again will  present a
reset set of working frequencies i.e. any user defined entries in v1.8
will be lost of a v1.8 -> v1.7 -> v1.8 transition is made.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8018 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-08-09 16:06:17 +00:00
Bill Somerville
e910277ebe Force Settings tab to Radio tab when navigating there from a rig error message
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7947 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-26 01:38:37 +00:00
Bill Somerville
c71b72c824 Fixes the issue with the IARU Region setting not being saved and restored correctly
Use proper QDataStream insertor  and extractor for IARURegions::Region
enum. Unfortunately  this requires that  all will have to  reset their
region one more time even if it was working and correct.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7867 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-13 18:02:07 +00:00
Bill Somerville
817d4d98c7 Use model row to express region rather than name string
For some  unknown reason on some  machines the string version  of the
name does not match the model IARURegions names.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7848 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-11 01:59:19 +00:00
Bill Somerville
94cec5bdc1 IARU region specific working frequencies
Working  frequencies can  be for  all regions  or for  individual IARU
regions. This allows each mode band  tuple to have one or more working
frequencies which  can include local  ones only offered when  the user
configures their IARU region.

Change  working  frequency  default   suggestions  to  better  fit  in
FT8. General  rule is FT8  is at JT65 -2kHz  except where that  is not
possible e.g. where  that would fall into a segment  not allocated for
narrow band data modes. For tight  bands like top band sqeeze existing
JT65 and JT allocations to allow space for FT8.

NOTE: this change changes the WSPR frequency on 80m to allow access to
JA stations that currently have no allocation where it was placed.

ALSO NOTE: the JT65 and JT9 frequencies for 80m move down 6 kHz, again
to  accommodate region  3  users. Other  appliactions  not within  our
control should be asked to move in step when 1.8.0 is released.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7810 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-07-07 23:11:41 +00:00
Joe Taylor
91fbeff072 Many GUI adjustments for FT8.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7736 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-06-26 15:24:56 +00:00
Bill Somerville
bd925c9228 Add some extra diagnostic trace for available audio devices
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7667 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-05-07 15:14:33 +00:00
Bill Somerville
0e214efb9c Rework install locations for better flexibility
Using the  CMake module  GNUInstallDirs to  set up  standard locations
which allows  better customisation for packagers  building for various
distributions.

The change does change some internal package file paths and will leave
some  files  in  old   locations  in  Windows  installations.  Running
uninstall  is probably  wise  on Windows  before  installing this  new
package layout if future clean uninstalls are desired.

Linux and other  *nix package maintainers can use  the CMake variables
CMAKE_INSTALL_xxx to vary the install paths of various components. See
the  CMake GNUInstallDirs  module documentation  for more  details. An
example might be for Slackware where package documents are expected to
be                            installed                           into
<install-prefix>/doc/<package-name>-<package-version>/ whereas the GNU
default         is         to        install         them         into
<install-prefix>/share/doc/<package-name>/.  To achieve  this set  the
CMake variable CMAKE_INSTALL_DOCDIR as follows when configuring:

cmake -D CMAKE_INSTALL_DOCDIR:PATH=doc/wsjtx-1.7.1 -D CMAKE_INSTALL_PREFIX= ...

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-03-28 13:03:48 +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
Bill Somerville
26a581a482 Ensure that Mode=None is enforced when setting or resetting PTT
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7557 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-31 19:47:51 +00:00
Bill Somerville
ee7aa0d31e Track rig mode
I can't remember exactly why mode tracking was disabled but it doesn't
seem to be necessary  to do so. I am expecting  some fallout from this
change, when I discover why it was  necessary to ignore the rig mode I
will find a better way to do this.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7548 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-01-21 12:16:16 +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
Joe Taylor
8cf4fd2f8e No longer any need for the checkbox labeled "Rx frequency offset with CQ nnn" on the Settings -> General tab.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7343 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-28 16:20:57 +00:00
Joe Taylor
0441986ccc Add the W9MDB patch (very slightly modified) for band-by-band memory
of power settings for Transmit and Tune.  Also an interim update of
v1.7_Features.txt.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7229 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-25 20:24:09 +00:00
Joe Taylor
995fcf5359 1. Gray-out "Include averaging" and "Include Deep Search" if not in JT4 or JT65 mode.
2. Make the "MSK144 Realtime decode" checkbox invisible, in preparation for removing it entirely.
3. Always use RealTime decoding in MSK144 mode.  (For now, at least, click-to-decode works as before.)


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7168 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-12 18:21:45 +00:00
Joe Taylor
3b97ae7417 Implement real-time decoding in MSK144 mode, for testing.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7097 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-20 16:25:25 +00:00
Joe Taylor
73612cf6a5 Add MSK144 "Contest mode" option to skip Tx2 and Tx3. Needs checking!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7070 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-09 18:37:00 +00:00
Joe Taylor
d3182f4161 Remove the "Robust sync" option.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7059 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-07 17:26:05 +00:00
Joe Taylor
ec281f93c4 Add a user control for Tx Delay, on the Advanced tab.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7058 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-06 23:18:48 +00:00
Bill Somerville
424ed88645 Take advantage of the forthcommng DX Lab Commander enhancement
V12.2.6 of  teh DX Lab Suite  Commander finally has a  way to suppress
mode rationalization  when setting  the split  Tx frequency.  This now
means that we  can now honor the  radio setting to not  change the rig
modulation mode. This  should help with a number of  rigs that require
different modes  on teh Tx and  Rx VFOs for optimal  wide band digital
operation.  This   will  also  help   with  some  rig   and  interface
combinations that lock  up or otherwise misbehave when  setting the Tx
VFO mode at certain times with respect to other rig control commands.

This change also improves mode  setting in general hopefully closing a
few corner case issues when starting  up and when transmitting for the
first time in a session.

Included  is  the  latest  DX  Lab  Suite  Commander  TCP/IP  commands
documentation correct for v12.2.6.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7030 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-08-13 23:33:54 +00:00
Joe Taylor
289ba66119 1. Fix cause of "frozen UTC" bug in MSK144 mode. (Could there be more than one cause?)
2. Fix failure to remember Ftol setting in MSK144 mode.
3. Remove obsolete controls from Advanced tab.
4. Add control for "x 2 Tone spacing" on Advanced tab.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6981 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-08-01 19:46:19 +00:00
Bill Somerville
c586204d75 Add proper Qt validation for callsigns and grids
Two      new     validator      classes     CallsignValidator      and
MaidenheadLocatorValidator   are   introduced    and   used   in   the
Configuration and MainWindow implementations.

MaidenheadLocatorValidator  supports  different  lengths  and  minimum
required  lengths  with  a  default of  subsquare  with  square  being
required.

The  message_aggregator  application has  been  enhanced  to show  the
current DX call and DX grid as shown in the WSJT-X main window.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6903 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-10 22:20:30 +00:00
Bill Somerville
3f1ea9d10c Make message boxes more platform independent with a wrapper
Instead  of  using the  Qt  QMessageBox  class  directly a  new  class
MessageBox  (MessageBox.hpp)  has been  added  to  deal with  platform
independence issues like the title not being shown on Mac OS X.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6861 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-03 20:31:19 +00:00
Bill Somerville
cca1a17607 First attempt at a time based Tx watchdog
The watchdog configuration is now a spin box of minutes with a special
first value of disabled. WSJT-X counts  down minutes on the minute, if
the countdown  reaches zero  any attempt to  transmit is  aborted. The
countdown is  reset by any mouse  press or key press  event inside the
main window or if the Tx message changes (auto sequencing).

The  status  bar  now  shows  the  Tx  watchdog  countdown  if  it  is
active. This  information is shown  to the  right of the  progress bar
text.

The warning message boxes triggered  within the GUI update routine now
no longer block the GUI updates.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6840 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-01 11:36:59 +00:00
Bill Somerville
a3ab57bea7 Ensure rig calibration parameter changes are used immediately
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6782 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-19 17:36:15 +00:00
Bill Somerville
8e43af11e5 Fix numerous memory leaks and uses of uninitialized variables
These were discovered when running under teh valgrind MemCheck tool. I
have also  checked in a suppressions  file (wsjtx-valgrind.linux.supp)
suitable for use on Linux when running the valgrind MemCheck tool.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6755 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-06-10 15:54:16 +00:00
Bill Somerville
2bb851d164 Correct defect in configuration rig invariant enforcement
The port  type (serial, network, usb,  none) was not tracking  the rig
type.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6703 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-05-25 23:06:04 +00:00
Bill Somerville
d8350bd35e Fix re-initialization issue in Configuration
Do not use a static scope  variable where a class instance variable is
needed.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6660 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-30 23:24:19 +00:00
Bill Somerville
d9e4d5f25f Improve font handling when resetting configurations and when restarting
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6649 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-26 20:06:36 +00:00
Bill Somerville
1cae0b8aa9 Move temporary directory creation and deletion outside of MainWindow
Changing configuration causes  WSJT-X and JTAlert to get  into a fight
for the temporary directory. By moving the creation and clearup of the
temporary directory outside  of the configurations loop  this issue is
minimized to no worse than before multiple configurations were added.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6630 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-20 21:59:22 +00:00
Bill Somerville
e6c59a42b5 Ensure that WSPR band hopping is disabled when Rig is None
Also added  a new configuration query  method to check if  Rig is None
i.e. a dummy rig.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6629 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-20 20:22:23 +00:00
Bill Somerville
3b46e140af Disable Internet spotting when rig control is not working
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6628 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-20 19:33:33 +00:00
Bill Somerville
f7b02f8296 Ensure that rig control split and mode are only changed when allowed
Only when split  operating is not none should split  be touched on the
rig, likewise only  when Settings->Radio->Mode is not  none should the
rig mode be touched.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6597 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-07 18:39:46 +00:00
Bill Somerville
2cfbb15b4f Rig control overhaul to implement generic Doppler shift tracking
The  concept of  a nominal  receive  and transmit  frequency has  been
introduced. This is  used as a base frequency  for Doppler correction,
frequency setting  and reporting. The  start up frequency is  now zero
which is  updated by the first  rig control status report.  This needs
more  work to  accommodate  calling frequency  plus working  frequency
operation as is used for random MS operation etc..

The  main  window  frequency  display  now  shows  the  transmit  dial
frequency while transmitting.

The mode changing logic sequence has been changed such that the rig is
correctly put  into and  taken out  of split mode  as required  by the
target mode.  This also  avoids the "other"  VFO having  its frequency
changed when  entering a mode that  does not use split  operating like
WSPR.

The main window  band combo box edit  may now be used to  input an kHz
offset  from the  current MHz  dial  frequency. This  is intended  for
setting  a sked  or working  frequency on  the VHF  and up  bands. For
example the working frequency for 23cms  might be set to 1296MHz and a
working  frequency of  1296.3MHz would  be selected  by selecting  the
23cms band  with the combo box  drop down list and  then entering 300k
into the band combo box edit widget.

When using JT4 modes a CTRL+Click on the waterfall adjusts the nominal
frequency such  that the frequency  clicked on  becomes the Tx  and Rx
frequency using  the fixed 1000Hz  DF that  JT4 modes use.   This will
probably be extended to all QSO modes when used in VHF & up mode. This
assumes that 1000Hz is an optimal DF  for both Tx and Rx and therefore
one  can "net"  to an  off frequency,  but visible  on the  waterfall,
caller with one click.

Improvements to OmniRig  rig control including use of  the serial port
control lines RTS or DTR, on the  CAT serial port used by OmniRig, for
PTT control.

Incrementing transaction sequence numbers added to messages to and from
the rig control  thread. This enables round trip status  to be tracked
and associated with a request. For  example a command that might cause
several  asynchronous  status  updates  can  now  be  tracked  in  the
originating thread such  that it is clear which updates  are caused by
executing the  request. This in turn  allows updates to be  held until
the request is complete i.e. the  state is consistent with the results
of the request.

Messages  to the  rig control  thread are  now posted  as a  new state
(Transceiver::TransceiverState) object. The  rig control thread tracks
requests and  actions any differences  between the prior  requests and
the new state.

The rig  control thread is now  stored on the  heap so that it  can be
closed down  and released as needed.  Along with this the  rig control
close  down  semantics  are  better defined  avoiding  some  potential
deadlock situations.

If the rig  is placed into split  mode it will be  reverted to simplex
mode when the rig connection is closed.

When  using direct  rig control  via Hamlib,  rigs that  have A/B  VFO
arrangements and  no method to query  the current VFO like  many Icoms
and  the Yaesu  FT-817/857/897(D)  series now  have smarted  frequency
updating requiring no  VFO changes when changing  the frequency.  This
is particularly  important when doing  Tx Doppler correction  to avoid
glitches.

The implementation  of emulated  split operating  mode ("Fake  It") is
simplified and improved.

A dummy  Hamlib transceiver for PTT  control on a separate  port is no
long instantiated if CAT or VOX PTT control is selected.

The resolution and  any rounding of the rig CAT  frequency set and get
commands is determined automatically  upon opening the rig connection.
This is needed to determine the  rate of frequency updates for Doppler
tracking. It also allows the rig to be more accurately controlled.

Frequency  calibration is  calculated separately  for the  receive and
transmit frequencies.

Whether  the  rig  modulation  mode  should be  controlled  is  now  a
constructor  argument rather  than  being passed  with individual  rig
control requests.

Doppler  shift  correction  is   considerably  enhanced  with  simpler
controls and much  better rig control.  A new mode  of tracking called
"receive only" is introduced for those with rigs that cannot be QSY:ed
via  CAT  when transmitting.   Such  rigs  have a  Doppler  correction
calculated  for the  middle of  the next  transmit period  just before
transmission starts. While  using Doppler tracking it  is now possible
to adjust the  sked frequency either using the new  kHz offset feature
of the main  window band combo box  or by directly tuning  the rig VFO
knob while holding down the CTRL key.

The astronomical data window that includes Doppler tracking control is
now opened  and closed using a  checkable menu item to  avoid it being
accidentally closed.

Debug  configuration  rig  control  diagnostic  messages  now  have  a
facility argument for clearer and more standardized trace messages.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6590 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:11:58 +00:00
Bill Somerville
d864e7f4cb Allow split operating for "None" rig, use for testing only not for release
Setting  the  CMake  option WSJT_RIG_NONE_CAN_SPLIT=ON  will  buold  a
version taht allows split operating with  the dummy rig. This must not
be shipped since it will generate incorrect Tx tones.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6589 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:11:49 +00:00
Bill Somerville
d63230729b Fix some logic errors in CAT serial port control line settings
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6588 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-06 17:11:41 +00:00
Joe Taylor
c35c80a4ac Make "group_box6" invisible, for now.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6553 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-23 15:48:44 +00:00
Joe Taylor
dfb8dc7422 Add a "Single decode" checkbox.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6516 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-03-10 15:13:06 +00:00
Joe Taylor
a0318d3a0a Calibration of the "Degrade S/N of .wav file" requires knowledge of receiver bandwidth.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6491 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-02-23 19:37:38 +00:00
Joe Taylor
333f8519d3 Attempting to make WSJT-X display messages like "<K1ABC W9XYZ> R26".
[For now, I'll make do with () in place of <>.]


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6418 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-21 21:12:12 +00:00
Bill Somerville
cf5f3916c7 Add facility to reset split mode when closing a rig connection
This option defaults to on but may be unchecked in settings.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6359 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-06 17:24:17 +00:00
Bill Somerville
9fc5568e32 Ensure that the temporary directory is usable
Cooperating applications that use file watchers can inadvertently lock
the  temporary  directory which  defers  deletion  of it  when  WSJT-X
exits.  This  is OK  until  WSJT-X  is  restarted  when it  finds  the
directory but  it is  locked for  all access  by the  operating system
since it  is pending deletion.  There is no  way around this  short of
closing the offending application so a message to that effect is given
with a retry option.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6347 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-05 16:43:41 +00:00
Bill Somerville
7cf8e82faf Handle disappearing displays correctly
Qt  makes sure  a widget's  window is  displayed on  a display  if the
display configuration  changes while  it is  running.  If  the display
configuration changes while  the application is not  running then only
QWidget::saveGeometry()  and  QWidget::restoreGeometry()  will  ensure
that  the  widget's window  is  correctly  displayed if  the  original
display is no longer present.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6257 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-10 14:15:43 +00:00
Bill Somerville
9a8560cd84 Initialize degrade saved SNR setting to zero
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6169 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-24 00:11:39 +00:00
Joe Taylor
475118428e Add facility to degrade S/N of data from .wav files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6165 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 18:05:36 +00:00
Joe Taylor
c91d47d602 Fix misspelling of new settings name "Sync1Bit".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6163 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-23 14:56:00 +00:00
Steven Franke
befb687ca2 Default is Robust sync OFF
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6154 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-22 18:03:48 +00:00
Steven Franke
c9ad0c3038 Add robust sync checkbox to Advanced setup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6151 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-22 15:27:14 +00:00
Bill Somerville
19779fa002 Add support for Hamlib USB rig types
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6144 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-21 20:23:30 +00:00
Bill Somerville
1a23757b26 Reintegrate merge from wsjtx_exp branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6122 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-18 01:28:12 +00:00
Joe Taylor
a7e2168532 Remove code associated with the unimplemented JT9W mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6061 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-11-09 17:19:48 +00:00
Bill Somerville
1f26660585 Ensure that v1.6 or later doesn't trash v1.5 settings
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5995 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-10-21 20:05:02 +00:00
Bill Somerville
f4fdc0c492 Resolve a long standing rig control corner case
This change allows serial control lines  to be forced high or low (DTR
or RTS)  while using the  other (RTS, DTR) for  PTT on the  CAT serial
port. It  is only needed  for some very  obscure and rare  serial line
powered interfaces.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5869 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-09-09 12:16:22 +00:00
Bill Somerville
7ec4d1a109 Qt 5.5 compliance
The  header QMetaType  must now  be  included explicitly  if no  other
header includes QObject.

Adjust band  combo box  layout settings  to ensure  it is  rendered at
minimum content size otherwise it  stretches the signal meter width to
an ugly extent.

Also retired the "frequencies" settings  file key so that upgrades and
downgrades  between  1.5 and  1.6  no  longer require  rebuilding  the
working frequencies list.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5727 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-27 18:11:06 +00:00
Bill Somerville
b8e67a5809 Allow DTR line to be forced alongside hardware flow control
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5671 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-07-03 17:32:57 +00:00
Bill Somerville
3dd824ad6b Make the main window more portable and font change capable
The Rx meter  is now a better  Qt citizen and can be  resized. Added a
more obvious peak signal indicator. It  is now a custom widget derived
from QFrame and is now directly added via promotion in Designer.

Added a custom  widget to act as  a letter spin box, this  is used for
sub mode control.  Switched the frequency tolerance widget  to a combo
box with preset  values so that it is more  uniform across systems and
font sizes.

Added container widgets  for group control of various  UI widgets such
as  QSO controls,  DX call  controls and  WSPR controls.  Introduced a
stacked widget to allow the WSPR controls to be swapped in in place of
the "QSO" controls. The "QSO" controls  are are the Rx, Tx and related
controls along with  the main tab widget with the  message buttons and
fields. This means  that the WSPR version of the  main window (and EME
Echo mode) are now much cleaner.

Increased the  size of the  rig control  widget and styled  its colour
using a dynamic property so that it  can be defined in the Designer UI
definition. Reinstated it  as a push button to do  a rig control reset
and retry after an error.

Reset most UI widgets to default properties, particularly removing any
fixed sizes so that they can resize freely when fonts are changed. The
overall layout is now controlled almost exclusively by stretch factors
on some of the rows and columns of the various grid layout managers.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5630 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-25 22:41:13 +00:00
Joe Taylor
d69d3b4ca0 User-configurable directory for file azel.dat.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5566 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-06-09 17:39:59 +00:00