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