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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[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
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
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
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
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
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
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
Also changed the default for the "Tx messages to Rx window" setting
true.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5521 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Provide a dialog for band hopping scheduling which replaces tab
four. Ensure that split mode is not used for WSPR. Select the correct
tab for WSPR operation. Shift WSPR band hopping code out of the
MainWindow class.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5517 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Access in CMake via ${WSJT_SHARE_DESTINATION}/${WSJT_DATA_DESTINATION}
Access in wsjtx.exe using Configuration::data_dir()
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Somehow I had decided that the offset could be determined from the
frequency coming from the rig, this is of course impossible so the
code now reverts to saving the offset used for the last frequency set
and sticks with it until another frequency is set.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5485 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Trying to find the sweet spot for completeness, usefulness, safety
and, performance from the various custom item models and item
delegates.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5474 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Working frequencies are mode dependent and a reset to defaults button
has been added.
Also re-factored much of the model and item delegate code to simplify
several of the model implementations. Introduced a single routine
called from main to register the custom types with Qt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This merge brings the WSPR feature development into the main line
ready for release in a future v1.6 release.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The settings are a linear calibration correction for the
rig. Calibration constants are supplied as an intercept error in Hertz
and a slope error in parts per million.
The correction is applied only to the final frequencies going to and
from the radio. This means that any transverter offsets are not
corrected. This is appropriate as each transverter will have its own
error factors. Transvertor and other individual band specific errors
can only be corrected by adjusting the offset for the band.
Thanks to Mike W9MDB for an initial implementation of Joe K1JT's
suggestion. See also the WSPR documentation for details of calculating
the required calibration constants.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5396 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Windows systems sometimes don't have localhost defined in the hosts
file so use the IP address 127.0.0.1 instead.
Merged from the wsjtx-1.5 branch
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5326 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The loaction of the documentation directory should not be effected by
the current working directory when the application is started.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5324 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
r5297 | bsomervi | 2015-04-26 17:26:54 +0100 (Sun, 26 Apr 2015) | 49 lines
Various defect repairs and ambigous behaviour clarifications
A regression introduced in v1.5.0-rc1 where PTT on an alternate serial
port when using no CAT control is resolved.
A regression introduced in v1.5.0-rc1 where the network server field
was not being restored in the settings dialog has been resolved.
In settings the "Test PTT" button is now styled by checked state.
The "Test PTT" button is enabled without needing click "Test CAT"
first when no CAT rig control is selected.
Various parts of the settings dialog are now disabled when no CAT rig
control is selected. These are the "Mode" group, the "Split Operation"
group and the "Monitor returns to last used frequency" check box. None
of these have any visible impact nor make sense without CAT rig
control.
Initialization and teardown of rig control internals has been revised
to avoid several problems related to timing and when switching between
different CAT settings. This includes improvements in having the
operating frequency restored between sessions when not using CAT rig
control.
The initialization of OmniRig connections has been improved,
unfortunately it is still possible to get an exception when clicking
the "Test CAT" button where just clicking "OK" and leaving the
settings dialog will probably work.
Some unnecessary CAT commands output during direct rig control have
been elided to reduce the level of traffic a little.
The handling of some automatically generated free text messages used
when the station is a type 2 compound callsign or is working a type 2
compound callsign has been improved. This is related to how a double
click on a message of the form "DE TI4/N0URE 73" is double
clicked. The new behaviour depends on whether the current "DX Call"
matches the call in the message. This resolves the ambiguity as to
whether this message is a sign off at the end of a QSO with current
operator (a 73 message is generated) or a tail end opportunity where
the message should be treated the same as a CQ or QRZ message (WSJT-X
QSYs to the frequency, generates messages and selects message one
ready to call). This still leaves some potential ambiguous behaviors
in this complex area but selecting "Clear DX call and grid after
logging" should resolve most of them.
Rig control trace messages have been cleaned up and are now more
helpful, less verbose and, tidier in the source code.
------------------------------------------------------------------------
Merged from the wsjtx-1.5 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5298 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To facilitate interaction with other applications WSJT-X now sends
status updates to a predefined UDP server or multicast group
address. The status updates include the information currently posted
to the decodes.txt and wsjtx_status.txt files. An optional back
communications channel is also implemented allowing the UDP server
application to control some basic actions in WSJT-X.
A reference implementaion of a typical UDP server written in C++ using
Qt is provided to demonstrate these facilities. This application is
not intended as a user tool but only as an example of how a third
party application may interact with WSJT-X.
The UDP messages Use QDataStream based serialization. Messages are
documented in NetworkMessage.hpp along with some helper classes that
simplify the building and decoding of messages.
Two message handling classes are introduced, MessageClient and
MessageServer. WSJT-X uses the MessageClient class to manage outgoing
and incoming UDP messages that allow communication with other
applications. The MessageServer class implements the kind of code
that a potential cooperating application might use. Although these
classes use Qt serialization facilities, the message formats are
easily read and written by applications that do not use the Qt
framework.
MessageAggregator is a demonstration application that uses
MessageServer and presents a GUI that displays messages from one or
more WSJT-X instances and allows sending back a CQ or QRZ reply
invocation by double clicking a decode. This application is not
intended as a user facing tool but rather as a demonstration of the
WSJT-X UDP messaging facility. It also demonstrates being a multicast
UDP server by allowing multiple instances to run concurrently. This is
enabled by using an appropriate multicast group address as the server
address. Cooperating applications need not implement multicast
techniques but it is recomended otherwise only a single appliaction
can act as a broadcast message (from WSJT-X) recipient.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Made the force control lines group box in the Configuration UI
checkable which allows the DTR and RTS checkboxes to mean either force
low or force high.
Also improved UI control logic to only allow valid setting
combintions. Disabled network port text edit for OmniRig. Cleared
network port combo box list for network interfaces like HRD and DXLab
Commander, was erroneously showing COM ports.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5222 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Several issues mainly related to the rather complex interaction of
style sheets and widget properties with respect to fonts.
Font setting on the astro window should now be consistent and not
overridden by application style sheet driven font settings.
Decoded text font setting should now be consistent and not revert back
to Courier 10 on the next decode after a font change.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5179 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Due to what appears to be a Qt bug, any in progress user edit to a
table fields is not updated in the underlying data models until
QDialog::accept() is called, this means that model validation before
calling QDialog::accept() is tricky.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5164 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This fixes a defect where station detail changes are not saved.
The Qt sort and filter proxy models utilize an item cache that must be
flushed by callig submit() before accessing the underlying model if
the proxy model has been used for updates.
Also separated the item model candidate key filter from the
implementation internals of the foreign key item delegate so that
candidate key filtered models can be used directly as view models.
Make the insert new station details band combo box use a candidate key
filtered item model to avoid constraint violations. Constraint is zero
or one station records per band.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5161 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This file is created at run time and is not needed in the deployment
package. Also removed from source control to avoid further
misunderstandings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5139 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Option to control standard message generation for type 2 compound
callsign holders.
Process decoded messages based on either base or full callsign for
both DE and DX callsigns.
Change CW id when callsign changed in settings.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5000 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The above member opens the port and that twiddles DTR/RTS which is
unhelpful if they are connected to PTT. Instead a primitive port name
filter to try and detect unuseable ends of serial port pairs is
employed. This may need further tests to exclude similar devices yet
to be discovered.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4994 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Except on Windows where the obscure \\.\ device root is removed
because Windows users will not be used to it.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4978 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Colours behave like other configuration items and changes are only
applied when the Settings UI is dismissed via the "OK" button.
Simplified font settings and use style sheets consistently to set the
application and decoded text fonts. This is necessary because any UI
widget that has a style sheet applied does not honor a font set by
QWidget::setFont() even if there is no font setting in the style
sheet, this is broken behaviour IMHO but that is the way Qt currently
works.
Use a style sheet to style the frequency display and clock. This is
necessary to allow fonts to be cascaded through parent style sheets
and still be overridden on these widgets.
Simplify the decoded text widgets, there is no need to use the
QTextBrowser as a super class since the simpler QTextEdit set as
read-only is sufficient. Also removed colour setting via a background
brush as it doesn't work and the HTML 'bgcolor' attribute works
correctly.
Change to UI properties of the decoded text widgets to allow
horizontal scrolling if required, this allows larger fonts to be used
without truncating decoded messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4957 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Description and instructions to help those adding or amending settings
values.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4952 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
procedure; better window functions for some FFTs, resulting in
better decoder performance; User-selectable colors for backgrounds
of decoded messages. NB: more testing is desirable!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4951 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also cleaned up duplicate trace output.
Using the DX Lab Suite Commander CAT interface with rigs like the
TS-2000 requires that split mode be set after changing the Tx
frequency. This is because setting teh Tx frequency disables split
mode.
With some Icom rigs the rig must be in split mode before setting the
Tx frequency otherwise the Tx frequency change will not be honoured.
To fix this the sequence set-split, set-tx-frequency, set-split must
always be used to change the Tx frequency.
Support for new DX Lab Suite Commander TCP/IP commands
Dave AA6YQ has added two new commands to the Commander server to allow
more reliable control.
Requires DX Lab Suite Commander 11.1.4 or later.
Ensure split Tx frequency agrees with UI before transmitting
Ensure split works on Yaesu via Hamlib without breaking others
Also improved class HamlibTransceiver debug trace messages.
Merged r4776-r4779 from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Pass the temporary directory to jt9 and use it to give the correct
paths to temporary files. Also jt9 passes the absolute path to
kvasd.dat in the temporary directory to kvasd.
Clear out all the annoying cruft that has accumulated due to having to
run with $CWD as the temporary directory.
Use QStandardPaths to find the writable data directory where needed
rather than passing it around between objects. This now works because
the $CWD hasn't been changed.
Do away with the CMake option WSJT_STANDARD_FILE_LOCATIONS as it is no
longer needed.
Fix astro status file azel.dat formatting.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Split mode was inadvertently disabled in a prior change to disallow
split mode on the "None" rig.
Allow OmniRig to report a rig offline status for up to 5s since short
periods of "rig not responding" seem to happen regularly for no good
reason.
Use high level OmniRig SetSimplexMode()/SetSplitMode() functions to
initialize rig.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4578 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because of confilicts using the shared memory to communicate with jt9
only one instance of WSJT-X may run with each unique key (rig name).
Added a QLockFile for each unique key in the temp directory and logic
to deal with stale locks and retries.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4465 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
If built with qmake the version string will now be "Not for Release"
since some many features essential to making a complete package are
currently only build when using CMake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4372 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The location of documentation files on Linux distributions is
controlled to a certain extent. Using the QStandardPaths::locate()
method helps us with this.
Work round the misbehaviour of QCoreApplication::applicationDirPath()
when the CWD has been changed by working out the documentation
location before changing the CWD to a temporary directory. This path
is now provided by the Configuration settings class which also manages
other run time paths.
Updated Debian packaging to move a little nearer a conforming DEB
file.
Added a basic manpage for rigctld-wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4364 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
All message entry fields on the mainscreen and in the macro editing
facilities are now restricted to valid characters in the JT65/JT9 free
text message alphabet.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4362 ab8295b8-cf94-4d9e-aec4-7959e3be5d79