The UDP Example reference applications now work correctly with WSJT-X
instances with duplicate --rig-name= command line arguments so long as
duplicate instances are run on unique hosts.
Default selection is the loop-back interface. Users who require
interoperation between WSJT-X instances cooperating applications
running on different hosts should select a suitable network interface
and carefully choose a multicast group address, and TTL, that has
minimal scope covering the necessary network(s). Using 224.0.0.1 is a
reasonable strategy if all hosts are on the same
subnet. Administratively scoped multicast group addresses like those
within 239.255.0.0/16 can cover larger boundaries, but care must be
taken if the local subnet has access to a multicast enabled router.
The IPv4 broadcast address (255.255.255.255) may be used as an
alternative to multicast UDP, but note that WSJT-X will only send
broadcast UDP datagrams on the loop-back interface, so all recipient
applications must be running on the same host system.
The reference UDP Message protocol applications are being extended to
be configurable with a list of interfaces to join a multicast group
address on. By default they will only join on the loop-back interface,
which is also recommended for any applications designed to take part
in the WSJT-X UDP Message Protocol. This allows full user control of
the scope of multicast group membership with a very conservative
default mode that will work with all interoperating applications
running on the same host system.
Version information and more in the Windows resources for main
applications, installer and un-installer.
Update CMake policies for new project() command, and DEB
dependency changes
Support older libgfortran packages, and other Linux package
dependencies.
Use new project description file in Debian packaging.
Linux packaging dependency adjustments for Debian style packages,
including a machine readable Debian copyright format, project
description in separate file for CPack compatibility, and use for
DEB packaging.
Configure check for need to link libm Standard C Math Library.
CMake compatibility for <3.17.
The Status(1) message acquires the new fields Frequency Tolerance, T/R
Period, and Configuration Name. The Rx DF, Tx DF fields become
unsigned (this should be a benign change which is just for correctness
as -ve values have never been possible).
The Close(6) message becomes bi-directional allowing external
applications to gracefully close down WSJT-X instances.
A new message SwitchConfiguration(14) is provided that allows an
external application to switch the current configuration of a WSJT-X
instance.
Another new message Configure(15) is provided to allow external
applications to adjust some key parameters like the mode and submode.
See the NetworkMessages.hpp header commentary for full details. The
UDPExamples/MessageAggregator reference application has been updated
to be able to exercise all of the above changes.
Note that this commit enforces stricter checking on the
"Settings->Reporting->Allow UDP requests" option, which must be
checked before any state changing incoming messages to a WSJT-X
instance are processed.
The Status(1) message also acquires the current configuration name as
a new field. See NetworkMessage.hpp for details. The UDP reference
example program message_aggregator acquires the ability to display and
change the configuration of a WSJT-X client to exercise these new
features.
External servers can clear either or both of the Band Activity and Rx
Frequency decodes windows. This was requested by Dave, AA6YQ, so that
DX Lab Suite applications can clear old decodes on band changes to
ensure that decode highlighing is consistent.
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.
Relax the requirements of the ForeignKeyDelegate and related
CandidateKeyFilter classes to allow them to work with constant model
pointers for both referenced and referencing models.
UDP servers can request that WSJT-X clients highlight a specified
callsign in the Band Activity decodes window. Either the last
occurrence of the callsign may be highlighted or all past and future
occurrences can be highlighted. The latter case WSJT-X will remember
the callsign and requested highlighting options so that future
occurrences can be correctly highlighted.
Either or both of the text background color and the text foreground
color may be specified. A further UDP message may be sent to change
the persistent color highlighting for a given callsign, including
reseting persistent highlighting by passing an invalid color value.
Thanks to Alex, VE3NEA, for this contribution.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8589 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
When "Auto Grid" is checked in "Settings->General" UDP messages of
type "Location" will update a temporary DE grid square. The intent is
to allow an external application joining the WSJT-X UDP message
protocol to dynamically update the DE grid during mobile operation.
This change also tidies up some outstanding issues around logging the
operator call.
This change adds a new UDP message "Logged ADIF" that is emitted in
parallel with "QSO Logged" messages. The new message is valid ADIF
file format and contains the logged QSO fields. The intent is that
basic UDP server applications might already have ADIF log record
capture capabilities and could use this message to feed existing ADIF
parsing routines to log QSOs. All that should be needed is to identify
this message type and the single field is ADIF compatible ASCII.
Thanks to Brian, N9ADG, for the patches that lead to these
enhancements.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8454 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
logged_qso message; show the emitted logged_qso message (including
the operator field) in udp_daemon example code. Thanks to N9ADG for this code!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8432 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This allows UDP servers to emulate keyboard modified double-clicks on
decoded messages, E.g. ALT+double-click for replying to a CQ or QRZ
call without changing ones Tx frequency offset.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8103 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Extended the Decode and WSPRDecode UDP messages with an "off air"
boolean field indicating the decode was derived from a .WAV fle
playback rather than an on air reception.
Extended reference applications to use the new off air decode message
field.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8092 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
Fix tab order on Log QSO window. Amend message_aggregator QSOs logged
window to show both time on and time off.
Thanks to Mike W9MDB for this patch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7532 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
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
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
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
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 diagnostic output prints all the fields in the spot messages to
verify their contents.
Improved usage help of command line arguments.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6777 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
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