Double-clicks on 73 messages fixed. Fixed issue with incorrect decode
being selected by double-click. Refined auto-sequencing sign off
handling, any 73 or rr73 free text near Rx or Tx frequency taken as a
73 from QSO partner but if a standard message then must be from QSO
partner.
Moved functionality from MainWindow to DecodedText class.
More efficient picking of messages from decoded text windows by
extracting the text block directly.
Tighten up use of RR73 and skipping Tx1, these are now disabled for
relevant compound calls where they would break the QSO exchange.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8056 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
73 messages from other QSOs on frequency should now be ignored rather
than being processed.
Also some long overdue refactoring and tidying of non-idiomatic C++
code in the logbook directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8047 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This means that "CQ DX", "CQ VT", etc., will be presistent until changed back.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8035 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
Holding down the SHIFT key while tuning the rig should update the
nominal sked frequency, not holding done the SHIFT key should not
update the sked frequency. This is not yet perfect and sometimes a
change to the nominal sked frequency can get through but it is a rare
as yet unfound race condition.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7992 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Call first combined with "Lock Tx=Rx" (why would anyone consider doing
that!) should continue on the Tx frequency of the station being
worked and not be switched another calling station's frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7972 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
FT8 auto-stop will only react to messages within +/- 50Hz of our Tx
frequency.
Auto-sequence on "DE ..." and free text 73 messages will respond if
they are within 25Hz of our Tx or Rx frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7970 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Bad idea, need to find a better way to extend grids to 6-digits from
CALL3.TXT.
This reverts commit r7959
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7965 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Required to pick best AP masks in FT8 decoder
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7958 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The UDP decode and reply message have been augmented with a boolean
flag denoting a low confidence decode when set. Existing clients can
safely use the reply message without passing the flag as the default
value will still action messages that have high confidence. If low
confidence decodes are to be passed back via the reply message then
the low confidence flag must be included and correctly set to match
the original decode.
See NetworkMessage.hpp for message fields and meanings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7957 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Enable or disable by double-clicking the Tx4 button or the adjacent
radio button. Is auto disabled by a band change as it is expected that
the user reassess the conditions to see if message repetitions are
unlikely to be needed.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7950 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Enable and disable by double-clicking the Tx1 button or the adjacent
radio button. Tx1 message shows grayed out when the Tx1 message is
elided.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7949 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Allow any message to start a QSO so long as we are not in an
auto-reply QSO.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7943 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
moves the Rx frequency to theirs, this facilitates calling a station
who is busy and may have many callers on their frequency. Updated the
corresponding mouse shortcuts help text.
Allow for times with seconds when parsing fast mode and FT8 decodes.
Exclude the RR73 grid square from and grid validation or matching, it
is not a grid square any more as far as WSJT-X is concerned, it is an
RRR substitute.
Add a simple state machine for QSO progress such that replies and
auto-sequencing can be better controlled.
Get compound callsign edge cases working again and allow QSOs from and
to compound callsign holders working in as many situations as possible
including auto-sequencing and FT8 auto-reply mode. This does mean
that a "DE W6/K1ABC DM93" type message close to a callers Tx or Rx
frequency will be taken as a reply to a CQ call despite it not being
explicitly addressed back to the CQ caller. Compound callsigns should
work in MSK144 contest mode also as well as in short code modes with
some minor restrictions (short codes will not be used where
configuration demands that a message be used to send a full compound
callsign).
Auto sequencing has been made generic such that it can be used for
more than one mode if desired.
Allow the use of free text messages to sign off in auto sequenced QSOs
without the message being overwritten by the sequencer. Double click
actions have been added to the Tx5 radio and push buttons to revert
back to the default standard 73 message.
Make DisplayText class interface more idiomatic C++ and simplify a
bit.
Fixed some displayed widget arrangements for different modes and
sub-modes so that they are consistent when starting up and when
switching mode or sub-mode.
This is a big change which has been extensively tested but no doubt
there will also be some new defects introduced.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7939 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. "Call 1st" label turns red when armed to respond to a caller.
3. Suppress some recognizable false decodes, send them to cumulative file
"data_dir/false_decodes.txt".
4. Reduce sleep delay in decoder() to 10 ms.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7928 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Thanks to Mike, W9MDB, for this contribution.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7921 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Avoid trying to set bogus uninitialized frequency values.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7897 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Now equlization tools as it covers both amplitude and phase
equalization.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7875 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change also adds seconds resolution to log files and log QSO
fields.
This change makes the log QSO dialog more layout friendly and uses a
QDateTimeEdit for QSO start and end times.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7827 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
When using split operating and/or rig mode setting there is a delay
before PTT is asserted while the CAT commands are processed. There
will even be a small delay if CAT is only used for PTT. This change
waits for these commands to be completed before starting the user Tx
delay specified in the settings.
There is a notable exception to this in that DX Lab Suite Commander
does not give us a way of knowing when CAT commands have actually been
completed. This combined with the way that Commander spaces CAT
commands, rather than being paced by the rig's CAT responses, means
that delays of more than 1 second are likely. As most rigs suffer some
sort of ALC overshoot when PTT is asserted with audio already present,
it is strongly recommended not to use the DX Lab Suite Commander as a
rig control proxy if your rig may suffer ALC overshoot and you use an
external PA. Please note that using a typical RF power meter to detect
ALC overshoots is unwise as they are rarely fast enough. It is
probably wise to assume that all rigs suffer ALC overshoot since it is
very difficult to design an ALC loop that avoids it.
This change also increases the range of the "Settings->Advanced->Tx
Delay" spin box to 0s up to 2s.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7756 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
For FT8 mode:
1. Open LU 13 in the proper way.
2. Disable diagnostic LU 51.
3. Add keyboard shortcuts CTRL+Plus, CTRL-Minus, to adjust audio Tx frequency
in even 50 Hz steps.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7749 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This feature is of limited benefit and causes unexpected behaviour on
rigs with lower than 1Hz resolution. Removed for simplicity.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7743 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. ft8d is now a bare-bones multi-decoder.
3. wsjt-x now includes the bare-bones multi-decoder for FT8.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7729 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These were using a hijacked custom spin box that was designed only for
letters i.e. submodes. Now there are two new custom spin boxes.
HistedSpinBox:- can be set with a list of integer values which the
step up and down will follow. Optionally limits the maximum and
minimum value to the upper and lower bounds of the values set. Note
that intermediate values are still valid.
RestrictedSpinBox:- more like a combo box because the provided values
are the only ones that can be set.
HintedSpinBox is used for the frequency tolerance and
RestrictedSpinBox is used for T/R period.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7698 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Until the advanced band hopping scheduler is upgraded to work with T/R
periods other than 2 minutes this scheduler uses a strictly random
scheduler, except that Tx percentages less than 40 defer Tx periods
that would otherwise be consecutive.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7687 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
More to come on this but should get Tab 2 basically working with
MSK144 running from a calling frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7675 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The wide graph class handles 60m band behaviour of the minimum decoded
JT9 DF internally without leaking implementation details.
On 60m the lowest JT9 DF is always zero and the spin box to set it is
disabled. This reflects that 60m only has narrow channels and JT9
signals should share the same dial frequency as JT65 signals.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7668 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Ctrl+M (Cmd+M) was being used as a menu shortcut and in key press
event handlers which leads to inconsistent behaviour on some
platforms. Removed menu action shortcut.
Also tidied up handling of the hide controls menu action by making it
a checkable action and using its checked state to store the control
hiding state.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7608 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
1. Level meter range increased to 0-90 dB.
2. Level meter reading is independent of slider setting.
3. For a trial period: thermometer bar goes red if a 16-bit sample
is within 5 dB A/D limit.
4. Slider can be used to adjust levels sent to waterfall.
5. Tx6 message is selected on program startup.
Thanks to W9MDB for most of this code.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7596 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
"JT65 nnnn JT9" blue line to 0 Hz. Now it also moves the spinner to
0 Hz, as it should have done. Subsequent QSY to another band will reset
the blue line and spinner to where they had been, before the QSY to 60 m.
Thanks to W9MDB for this patch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7595 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
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
Allow band drop down list to be used to select FreqCal frequencies,
also resets position in automatic cycle. Tidy up some unnecessary
code.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7486 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
1. Menu item *Tools -> Execute frequency calibration cycle* is renamed and checkable. Cycling does not start until checked.
2. Ctrl+F10 now allows you to cycle manually through the list of calibration frequencies.
3. Calibration sequence lengths can be set to 5, 10, 15, or 30 s with the sbTR spinBox.
Also: don't set sbTR index to 0 when entering a slow mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7485 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Rx DF is now "real-time" adjusting the rig in concert with the
monitored DF.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7465 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Some default time signals have been added to the frequency list so a
base set can be obtained by resetting the frequency list,
alternatively they can be added ad hoc in the normal fashion.
FreqCal mode behavior is to select the lowest cal frequency upon
entering FreqCal mode and cycling through each cal frequency
repeatedly. Ctrl+F10 jumps directly to the next higher frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7463 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Deepest decode level should be selected automatically when switching
to JT4 or JT65 when VHF & up mode is on and either of averaging or
deep search are enabled.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7456 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
only when 73 is sent. Revert to that well-established behavior.
2. Correct the logic that detects short-form RO, RRR, and 73 messages in
JT65 VHF modes and color-highlights the Tx message box.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7442 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. Don't update the "Last Tx" message until current transmission is complete.
These suggestions from W9MDB.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7429 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. Send emedelay (now 0 or 2.5) to QRA64 decoder.
3. Tweaks to sync64, making it better for QRA64A.
4. Mainwindow MessageBox if it attempts to open a file with wrong format.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Sub mode and fast mode flag are added to the UDP Status message and
Status messages after appropriate UI changes. MSK144 decodes produce
UDP Decode messages. Fast JT9 messages are treated similarly.
Currently ISCAT decodes are not posted as UDP Decode messages as they
do not fit well with the model.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7389 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The class NetworkAccessManager sub-classes QNetworkAccessManager
adding a message box to ask the user if SSL errors may be
ignored. Ignored errors are ignored in future server replies so that
the user is not asked about he same peer certificate chain repeatedly.
The cache is currently per process only and not persistent.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7361 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Updated UDP examples to show the version and revision information
received from clients.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7358 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the new DX Lab Suite Commander command option to stop Commander
trying to change the rig Tx VFO mode when we don't want to. Requires a
recent DX Lab Suite Commander version.
All rig controllers can now detect 20Hz resolution rigs, still needs
2Hz resolution code which will be needed for the FT-891 AFAIK.
Enhance the HRD interface to be able to use the alternative PTT
command as found on most Kenwood rigs for audio source selection. Fix
Icom data mode selection issues.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7357 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
CQ NNN ... and CQ aa ... are coalesced to CQ_NNN ... and CQ_aa ... so
as to keep the word count and indexes consistent with plain CQ ..., DE
... and QRZ ... standard message forms when parsing messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7356 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
... rather than the working frequency.
Users set their working frequency and specify a calling frequency as a
kHz offset into the current Rx MHz with the main window spin box.
Calling CQ on the specified calling frequency is enabled by checking
the associated option.
Also enhanced the auto sequencing to handle short code 73 messages
correctly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7339 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
One reason for inactivity is that a calibration adjustment has been
made.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7320 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also relax entry validation so it is easier to enter standard message
forms longer than 13 characters into message entry line edits.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7294 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
display of the "No More Files..." message until after the "Decode Finished"
message is received.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7270 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change maintains the encapsulation of the MultiSettings class by
using a signal to notify clients of changes to the current
configuration name.
Modifications to the MainWindow class to display the current
configuration name in the status bar, if it is not "Default", based on
MultiSettings events rather than polling for changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7257 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
way to make sure that the new .wav file is ready, before starting wsprd?)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7242 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Fix autotune for tx pwr on band changes to keep current level if never set.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7233 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
delete some later. Rather, we save only those with real-time decodes (or
we save all).
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7188 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. Correct several more flaws in making GUI controls visible or invisible.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7170 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
2. Do not adjust Rx Freq automatically after an MSK144 decode.
3. Insert the Rcvd report in log window.
4. Send MSK144 decodes to PSK Reporter.
NB: not all these are fully tested, yet.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7134 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
the old fast_decode(); probably it should call hspec() instead?
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7113 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
I believe file saving and auto-sequencing nor work. Not sure about posting
to PSK reporter: please check.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7112 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
1. Clean up mskrtd to remove unused variables.
2. Re-instate Rx frequency spinbox in MSK144 mode to allow decoding of off-frequency signals with small FTol. Make changes needed to pass Rx Freq in to fortran routines.
3. Enable realtime decoder for testing. Auto sequence does not yet work when realtime decoding is enabled. There are probably other bugs as well.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7109 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. Move cursor DT readout to lower left of top panel.
3. More work on pick-decodes... but it's not yet fully working.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7092 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This button pops up the same context menu as the configurations button
on the main window menu bar. This allows the operator to easily escape
from an incorrectly configured configuration without changing it.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7075 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This option, on by default, maintains backwards compatibility for
non-compound callsign holders. If switched off and they have
specified a 6 digit grid then it will be sent in the type 2 protocol
using two messages and a hashed callsign.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7053 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Even though the splash screen does not have a title it seems to
interfere with JTAlert which enumerates window titles to identify
WSJT-X instances. I'm not sure why this is necessary, but if it helps
it should be benign.
Ensure that the splash screen is hidden before any message boxes are
shown, this is essential at startup if there is a stale lock file or
rig control error.
Be far less aggressive about bringing the splash screen to the top of
the application window stack. This may cause the splash screen to be
obscured on some platforms.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7025 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Fix the improper display of "Fast" checkbox.
Disable "CQ nnn" checkbox if MyCall is not K1JT or K9AN.
Use AppDir as path to execute the LDPC encode program.
Don't display submodes in mode label for JTMSK, MSK144.
Make Rx Freq spinner invisible in MSK144 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7001 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
NB: temporary files are being written to execution directory!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6989 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
reports to -4 to +10 dB. Include +/- sign in all reports.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6907 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
This should allow receivers of UDP Status messages to accurately track
the Tx watchdog status. Also some defects in the Tx watchdog logic are
repaired.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6900 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Thanks to Mike W9MDB for contributing this patch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6892 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This makes all child widgets able to reset the Tx watchdog by mouse
click or key press.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6881 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
Rationalize the status bar construction and maintenance.
Ensure that incoming UDP Reply messages reset the watchdog.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6847 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
Message boxes and accepted incomming UDP actions alert the user even
if the application is hidden. This does not steal focus as that is
considered bad practice and is annoying.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6826 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Fixed naming of fast recording files.
Tidied some signal/slot plumbing in the fast plotter.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6806 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This change corrects timing discrepancies on the horizontal fast
spectrum plot.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Using the reference spectrum discards a short part of the front of the
period's received samples which may have contained a decode candidate.
As far as the MSK modes are concerned the reference spectrum
correction is probably not applicable anyway.
Comment from Steve K9AN after offline discussions about this:
"In any case, I don’t think that there is any reason to apply the
reference spectrum correction to the MSK modes. I do think that we are
paying a performance penalty in the MSK modes for non-ideal filter
responses at the TX and RX ends of the link — but we would need to
implement an equalizer that looks at the received sync words as a
“training sequence” in order to come up with anything that could
improve the results. This would take into account the receiver and
transmitter filters, and would probably be different for every
TX/RX/meteor burst. My current thinking is that for the low SNRs that
we are most interested in, and with the short sync words that we use,
we wouldn’t be able to do a very good job of estimating the
coefficients of the equalizer..."
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6776 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Move the FFTW3 cleanup into the main routine as it should only be
called once rather than every time the settings configuration is
changed or reset (MultiSettings).
Call the new fini_ldpc_ routine before exiting in the main routine to
free the LDPC resources.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6764 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These include the wide graph window not being suppressed when starting
the application in a fast mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6762 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
Highlight, in the CQ colour, CQDX ... and QRZ ... messages and
process correctly for worked before and DXCC entity.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6753 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Refactor the save WAV file routine to return an error string as a
promise and then get that result and report in a QMessageBox.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6752 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Pass file path for peg-128 files to fast_decode(). (Inelegant, but it works.)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6741 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Build now creates and installs a UDP library that contains the server
side of the UDP messaging facility. This library is used by the
udp_daemon and message_aggregator reference examples. The new library
is currently a static archive but can also be built as a shared
library. The library allows third party Qt applications to easily
access UDP messages from WSJT-X.
Refactored the message_aggregator reference example to split out
classes into separate translation units. Added new functionality to
exercise the new UDP status fields, highlight own call, CQ/QRZ
messages and decodes near Rx DF.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6691 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Use the decoded text font for the message averaging window.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6684 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
During orderly close down the UI can be destroyed while Rx audio
blocks are still being delivered. Therefore the UI pointer must be
checked in MainWindow::datasink before attempting to access the UI
widgets.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6683 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The decoded message processing relies on fixed column positions so the
extra character used in message averaging to indicate sync flips must
also be allowed for in other modes. This is done by inserting a space
character.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6681 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Tx period was erroneously being forced to odd/2nd.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6670 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Static storage variables that should have been class members are made
so. This ensures that if they are used as initialization one time
switches then they will operate correctly when their class
instantiated more than once. This now happoens for most classes due to
the configurations switching facility which destroys all windows and
re-instantiates them.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6661 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
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
Multiple configurations are accessed and maintained from a new main
window menu bar pop up menu "Configurations". The prior settings are
the "Default" entry. New configurations may be added by cloning
existing ones. Maintenance and navigation is via sub menus for each
configuration.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. When switching to JT65 mode, go through JT9 first.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6621 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The changes to fix the Tx DF at 1000Hz when VHF & up features are
enabled had an undesirable side effect of disabling double clicking on
decodes because this was disabled by the Tx DF spin box being
disabled. The Tx DF spin box being disabled in VHF & up mode may
change but this change fixes this issue regardless.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6617 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2. Don't display orange warning bar when in WSPR mode.
3. Fix a longstanding compiler warning.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6616 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
2. Make averaging and DS separately selecteble.
3. Clear nftt and avemsg on Clear Avg.
4. Allow fer65 to handle message averaging.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6543 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
1. Use "f" to flag FT decodes, 'h' for hinted decodes.
2. Let "Experience-based" checkboxes activate hinted decoding.
3. Singls-sequence decodes go to left window, average decodes to right.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6542 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
list the correct UTC in decoded text line when using the "Decode" button.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6519 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
data points when files with sample rate 11025 Hz are read.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6518 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Decoder needs the number of samples not the number of bytes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6489 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
In mainwindow.cpp, return after executing call to fastSink(). ###???###
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6464 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
echoed with yellow background is incomplete.)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6403 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Broadcast Wave Format is a backwards compatible superset of teh
Microsoft WAV file format that has been implemented in teh hope that
Windows File Explorer might show the WAV file metadta, as it turns out
that is not the case but as it's done anyway.
It appears to be impossible to write a WAV file such that MS Windows
File Explorer shows any metadata so unless we adopt FLAC format audio
files we will have to show metadata with our own software :(
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6384 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also disable "Enable Tx" when changing bands.
Thanks to Mike W9MDB for contributions to this patch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6311 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Samples are downloaded from a web server, currently the SF download
server. The samples are stored in the source controlled samples
directory and the CMake script there builds a suitable directory tree
for upload to the web server under samples/web containing the samples
hierarchy and the generated JSON contents database file. The samples
CMake script also defines an 'upload-samples' target that uses rsync
to efficiently upload the samples and the accompanying contents JSON
database file.
Any directory structure under the samples directory may be created, to
add a new sample file simply add the file to source control and amend
the list of sample files (SAMPLE_FILES) in samples/CMakeLists.txt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6308 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also use correct C binding and have compilers determine sizes and
offsets.
The wsjtx.exe program now owns the decoder shared data that is shared
with symspec. It is now in struct dec_data, still a global variable
for now but hopefully a MainWindow member variable soon.
The struct dec_data (in both C/C++ and Fortran) has a sub structure
with the decoder parameters which enables copying and manipulating a
lot cleaner.
New of changed types of shared data must still be modified in
commons.h and a new file lib/jt9com.f90, they must stay in sync as a
pointer to the structure is passed between C and Fortran.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6290 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Set tune power with SHIFT + "Pwr" slider. SHIFT + "Pwr" slider to top
cancels separate power level for tune. Smarter tool tip for "Pwr"
slider.
Needs User Guide update if change is acceptable.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6284 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This avoids spots being sent with incorrect frequencies.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6214 ab8295b8-cf94-4d9e-aec4-7959e3be5d79