Not logging dupes seems to cuase problems with QSL matching where the
Hound fails to log when an RR73 message is not succesfully
received. By logging dupes a later retry by a Hound to complete a QSO
will be recorded in the Fox's log.
The current frequency, mode and, call were incorrectly being used to
create a new worked before record from a logged QSO. This meant that
band changes etc. made before clicking "Ok" to log a QSO would be
erroneously attributed to the worked before records.
This is a check box option in "Settings->Colors" rather than new
highlighting types so un-worked field highlighting and un-worked grid
square highlighting are mutually exclusive. The check box state can be
changed at any time, no log rescanning is necessary, and subsequent
decoded message highlighting will be according to the check box state.
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.
This change may break N1MM Logger+ integration, notably the CLASS ADIF
field is populated which may not be recognized by N1MM Logger+, nor
interfaces to it.
One exception to ADIF conformance is that the ARRL_SECT field may be
populated with the value DX despite it not being a valid ARRL_SECT
enumeration value. This is done for consistency with N1MM Logger+ ADIF
exports.