Commit Graph

85 Commits

Author SHA1 Message Date
Bill Somerville
0cf14dfcc9
Remove user adjustable audio buffer sizes from Settings
Fixed buffer sizes are  used. Rx use s 3456 x 1st  downsample rate x 5
audio  frames  of  buffer  space.  On Windows  this  means  that  each
chunk (periodSize())  delivered from the  audio stream is  our initial
DSP processing chunk size, thus  matching audio buffer latency exactly
with WSJT-X's  own front  end latency. This  should result  in optimal
resilience to high system loads that might starve the soundcard ADC of
buffers to fill and case dropped audio frames.

For Tx  a buffer sufficient for  1 s of  audio is used at  present, on
Windows  the period  size will  be  set to  1/40 of  that which  gives
reasonably low latency  and plenty of resilience to  high system loads
that might  starve the soundcard DAC  of audio frames to  render. Note
that a 1 s  buffer will make the "Pwr" slider slow  to respond, we may
have to reduce the Tx audio buffer size if this is seen as a problem.
2020-08-11 13:48:01 +01:00
Bill Somerville
a0ceace5b4
User configurable audio device buffer sizes
Adjusting these may help with  audio drop-outs, particularly on slower
CPU systems or heavily loaded systems. Smaller buffer sizes leave less
margin for  process interruptions,  larger sizes waste  resources that
could impact other processes.
2020-08-08 16:25:14 +01:00
Bill Somerville
b48b23450d
First iteration of optional TCP/IP client for PSK Reporter 2020-06-21 01:36:30 +01:00
Steven Franke
70b84478f0 Add WW_DIGI to the special activities section. Make necessary changes to
the decoders. Also, an experimental change to the FT4 decoder to base
AP decoding passes on 4-symbol block detection instead of single symbol
detection. This provides about 1 dB improvement on the AWGN channel.
Sensitivity changes on other channels are TBD.
2020-01-24 11:26:36 -06:00
Bill Somerville
ca07d22e89
Add option to highlight un-worked grid fields
This  is a  check box  option  in "Settings->Colors"  rather than  new
    highlighting types so un-worked  field highlighting and un-worked grid
    square highlighting are mutually exclusive. The check box state can be
    changed at  any time, no  log rescanning is necessary,  and subsequent
    decoded message highlighting will be according to the check box state.
2019-08-09 11:25:50 +01:00
sirhc808
1f57ba5fec improve physical structure 2019-07-02 12:45:05 -05:00
sirhc808
27d4471cde Merge branch 'ft9_refactor' into feat-refactor
# Conflicts:
#	CMakeLists.txt
#	lib/ft4/getcandidates4.f90
#	lib/ft4/sync4d.f90
2019-07-02 12:06:14 -05:00
sirhc808
ee5d5c8ae9 improve physical structure 2019-07-02 10:19:43 -05:00
Bill Somerville
c65d832356
New UDP messages to close and reconfigure WSJT-X plus more status fields
The Status(1) message acquires the new fields Frequency Tolerance, T/R
Period,  and  Configuration Name.  The  Rx  DF,  Tx DF  fields  become
unsigned (this should be a benign change which is just for correctness
as -ve values have never been possible).

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

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

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

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

Note   that   this   commit   enforces  stricter   checking   on   the
"Settings->Reporting->Allow  UDP  requests"   option,  which  must  be
checked  before  any state  changing  incoming  messages to  a  WSJT-X
instance are processed.
2019-06-25 14:35:58 +01:00
Bill Somerville
381faca99a
Add option to include or exclude WAE extra entities in DXCC entity lookups
Also  refactored  object  relationships  as a  start  to  implementing
contest multiplier highlighting.
2019-05-29 23:35:18 +01:00
Bill Somerville
67ab7c7b8b
Add Alt+O hotkey to change the operator quickly without going to the Settings dialog
Thanks to Jim, W2JC, for suggesting this enhancement.
2019-05-28 12:18:54 +01:00
Joe Taylor
7334ebb20b New user option: "Calling CQ forces Call 1st". 2019-05-23 14:31:08 -04:00
Joe Taylor
fdfb655b06 Option to select "Low sidelobes" or "Most sensitive" for waterfall spectra. 2019-02-25 15:04:05 -05:00
Bill Somerville
e871860642 Option to always start new decode periods at the top of the Band Activity window 2019-01-08 18:03:43 +00:00
Joe Taylor
8379fa86eb Optional key bindings for F1 through F5, especially for contest use. 2018-12-28 11:19:29 -05:00
Bill Somerville
cf6311e007 Scan ADIF log asynchronously and new settings button to rescan ADIF log 2018-11-30 16:26:46 +00:00
Bill Somerville
947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00
Steve Franke
ab34db7556 Get rid of unused variable ldecode77. 2018-11-05 14:40:55 -06:00
Steve Franke
3d4dd9c761 More work on contest type selection. 2018-10-31 15:53:10 -05:00
Steve Franke
a9d096941a A second attempt at grouping contest selection radio buttons using hints from Bill. Contest types are now defined in a named enum in the Configuration class, Configuration::SpecialOperatingActivity. Current contest selection is queried using a Configuration class function, m_config.special_op_activity(). 2018-10-30 16:06:01 -05:00
Steve Franke
9baa8c755d Change Fox/Hound checkboxes to radio buttons and move them into the same group box as the other contest radio buttons.
Make the group box checkable and the radio buttons mutually exclusive.
Prevent switch from any other mode to MSK144 and put up an error box if the contest radio button setting is not allowed for MSK144.
If currently in MSK144 mode and an invalid contest type is selected, put up an error box and change mode to FT8 where any contest type is allowed.
2018-10-27 17:21:29 -05:00
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
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
c9cb15052c Option to AutoLog in contests; display to "Fox and Contest Log" window. 2018-10-03 20:08:47 +01:00
Bill Somerville
617b845a85 Move LotW users file management to Configuration implementation 2018-10-01 22:43:13 +01: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
7df048d10a Extend color options to include New DXCC, call, and grid by band. 2018-08-02 14:35:55 -04:00
Joe Taylor
adcffe3db4 Pass "nContest" value to ft8_decode.f90. 2018-07-27 09:30:00 -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
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
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
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
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
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
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
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