mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-10-31 15:47:10 -04:00
Merge branch 'develop' into feat-map65-integration
This commit is contained in:
commit
a3c2eec1cd
37
NEWS
37
NEWS
@ -12,6 +12,43 @@
|
|||||||
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
||||||
|
|
||||||
|
|
||||||
|
Release: WSJT-X 2.4.0
|
||||||
|
May 24, 2021
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
WSJT-X 2.4.0 General Availability Release adds new Q65 mode
|
||||||
|
functionality and decoder optimizations and repairs several defects
|
||||||
|
and regressions discovered in the RC4 and v2.3.1 GA releases. Since
|
||||||
|
the release candidates documented below this final release includes
|
||||||
|
the following enhancements and defect repairs.
|
||||||
|
|
||||||
|
- On MS Windows WSJT-X now ships with a DLL version of the Hamlib
|
||||||
|
library, specifically Hamlib version 4.2. This should allow Hamlib
|
||||||
|
bug fixes to resolved by the user replacing the DLL with an updated
|
||||||
|
version.
|
||||||
|
|
||||||
|
- Repair a defect with own call decode highlighting when callsigns
|
||||||
|
with a common root are decoded.
|
||||||
|
|
||||||
|
- Q65 message averaging correctly disabled as be menu option.
|
||||||
|
|
||||||
|
- Repair a regression with missing timestamps in AlL.TXT for the
|
||||||
|
MSK144 mode.
|
||||||
|
|
||||||
|
- Repair a defect in the selection of working frequencies matching
|
||||||
|
the current band and mode combination.
|
||||||
|
|
||||||
|
- WSPR band hopping mode now generates a tune up tone for bands where
|
||||||
|
it is scheduled to transmit.
|
||||||
|
|
||||||
|
- Repair a long standing defect per band tune and Tx power level
|
||||||
|
memories.
|
||||||
|
|
||||||
|
- More flexibility for inputting calls into the DX Call field,
|
||||||
|
leading and trailing white space characters are allowed but
|
||||||
|
ignored.
|
||||||
|
|
||||||
|
|
||||||
Release: WSJT-X 2.4.0-rc4
|
Release: WSJT-X 2.4.0-rc4
|
||||||
Mar 26, 2021
|
Mar 26, 2021
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -12,6 +12,43 @@
|
|||||||
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
Copyright 2001 - 2021 by Joe Taylor, K1JT.
|
||||||
|
|
||||||
|
|
||||||
|
Release: WSJT-X 2.4.0
|
||||||
|
May 24, 2021
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
WSJT-X 2.4.0 General Availability Release adds new Q65 mode
|
||||||
|
functionality and decoder optimizations and repairs several defects
|
||||||
|
and regressions discovered in the RC4 and v2.3.1 GA releases. Since
|
||||||
|
the release candidates documented below this final release includes
|
||||||
|
the following enhancements and defect repairs.
|
||||||
|
|
||||||
|
- On MS Windows WSJT-X now ships with a DLL version of the Hamlib
|
||||||
|
library, specifically Hamlib version 4.2. This should allow Hamlib
|
||||||
|
bug fixes to resolved by the user replacing the DLL with an updated
|
||||||
|
version.
|
||||||
|
|
||||||
|
- Repair a defect with own call decode highlighting when callsigns
|
||||||
|
with a common root are decoded.
|
||||||
|
|
||||||
|
- Q65 message averaging correctly disabled as be menu option.
|
||||||
|
|
||||||
|
- Repair a regression with missing timestamps in AlL.TXT for the
|
||||||
|
MSK144 mode.
|
||||||
|
|
||||||
|
- Repair a defect in the selection of working frequencies matching
|
||||||
|
the current band and mode combination.
|
||||||
|
|
||||||
|
- WSPR band hopping mode now generates a tune up tone for bands where
|
||||||
|
it is scheduled to transmit.
|
||||||
|
|
||||||
|
- Repair a long standing defect per band tune and Tx power level
|
||||||
|
memories.
|
||||||
|
|
||||||
|
- More flexibility for inputting calls into the DX Call field,
|
||||||
|
leading and trailing white space characters are allowed but
|
||||||
|
ignored.
|
||||||
|
|
||||||
|
|
||||||
Release: WSJT-X 2.4.0-rc4
|
Release: WSJT-X 2.4.0-rc4
|
||||||
Mar 26, 2021
|
Mar 26, 2021
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -18,13 +18,13 @@ Here is an overview list, details are filled out below:
|
|||||||
* MSYS2 *nix like command line environment
|
* MSYS2 *nix like command line environment
|
||||||
* Hamlib rig control library
|
* Hamlib rig control library
|
||||||
* Pkg Config Lite
|
* Pkg Config Lite
|
||||||
* Boost C++ libraries
|
* Boost C++ libraries (see separate document)
|
||||||
* portaudio library (used by map65)
|
* portaudio library (used by map65)
|
||||||
|
|
||||||
Qt Framework
|
Qt Framework
|
||||||
------------
|
------------
|
||||||
|
|
||||||
At the time of writing I recommend using Qt v5.15.0 64-bit, v5.15.1
|
At the time of writing I recommend using Qt v5.15.2 64-bit, v5.15.1
|
||||||
has a defect that affects us so is best avoided. You need the MinGW
|
has a defect that affects us so is best avoided. You need the MinGW
|
||||||
version as we do not support the MSVC version due to lack of a
|
version as we do not support the MSVC version due to lack of a
|
||||||
suitable FOSS Fortran complier. To install the Qt developer SDK you
|
suitable FOSS Fortran complier. To install the Qt developer SDK you
|
||||||
@ -32,7 +32,7 @@ should download the official Qt on-line installer, this allows you to
|
|||||||
install one or more variants of the Qt SDK and also to maintain and
|
install one or more variants of the Qt SDK and also to maintain and
|
||||||
update the installation at a later date. There are many versions and
|
update the installation at a later date. There are many versions and
|
||||||
components within versions available, you only need the base 64-bit
|
components within versions available, you only need the base 64-bit
|
||||||
MinGW framework for Qt v5.15.0 and the matching MinGW 8.1.0 64-bit
|
MinGW framework for Qt v5.15.2 and the matching MinGW 8.1.0 64-bit
|
||||||
developer tools, other components can be unchecked within the on-line
|
developer tools, other components can be unchecked within the on-line
|
||||||
installer. The default install location is C:\Qt which is fine, do
|
installer. The default install location is C:\Qt which is fine, do
|
||||||
not attempt to move the location of the installed libraries if you
|
not attempt to move the location of the installed libraries if you
|
||||||
@ -86,14 +86,10 @@ Hamlib from sources.
|
|||||||
Hamlib
|
Hamlib
|
||||||
------
|
------
|
||||||
|
|
||||||
Currently we statically link Hamlib to avoid clashes with
|
There is a fork of the official Hamlib project which we keep up to
|
||||||
pre-installed DLLs that may be older versions than we support. Once
|
date with the official project master branch, we recommend building
|
||||||
Hamlib v1.4 is officially released and commonly available we will move
|
from the 'integration' branch, or a suitable tag on that fork. The
|
||||||
to dynamic linking. Until then Hamlib must be built from
|
fork is a git repository which can be cloned with this command:
|
||||||
sources. There is a fork of the official Hamlib project which we keep
|
|
||||||
up to date with the official project master branch, we recommend
|
|
||||||
building from the 'integration' branch of that fork. The fork is a git
|
|
||||||
repository which can be cloned with this command:
|
|
||||||
|
|
||||||
mkdir -p ~/src/sf/bsomervi
|
mkdir -p ~/src/sf/bsomervi
|
||||||
cd !$
|
cd !$
|
||||||
@ -106,7 +102,7 @@ Qt. As you will build Hamlib again when there are updates you should
|
|||||||
set up you MSYS2 command line environment for this. I use a
|
set up you MSYS2 command line environment for this. I use a
|
||||||
$HOME/.bash_profile file containing these lines:
|
$HOME/.bash_profile file containing these lines:
|
||||||
|
|
||||||
dll_paths_64bit=/c/Tools/libusb-1.0.23/MinGW64/dll
|
dll_paths_64bit=/c/Tools/libusb-1.0.23/MinGW64/dll:$HOME/local/hamlib/mingw64/release/bin
|
||||||
export PATH=/c/Qt/Tools/mingw810_64/bin:$dll_paths_64bit:$PATH
|
export PATH=/c/Qt/Tools/mingw810_64/bin:$dll_paths_64bit:$PATH
|
||||||
|
|
||||||
Test the amended ~/.bash_profile file by opening a new MSYS2 shell and
|
Test the amended ~/.bash_profile file by opening a new MSYS2 shell and
|
||||||
@ -128,7 +124,7 @@ then change working directory to that build directory.
|
|||||||
|
|
||||||
mkdir -p ~/build/hamlib/release
|
mkdir -p ~/build/hamlib/release
|
||||||
cd !$
|
cd !$
|
||||||
~/src/sf/bsomervi/hamlib/configure --disable-shared \
|
~/src/sf/bsomervi/hamlib/configure --enable-shared --disable-static \
|
||||||
--prefix=$HOME/local/hamlib/mingw64/release \
|
--prefix=$HOME/local/hamlib/mingw64/release \
|
||||||
CFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections -I/c/Tools/libusb-1.0.23/include" \
|
CFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections -I/c/Tools/libusb-1.0.23/include" \
|
||||||
CXXFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections" \
|
CXXFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections" \
|
||||||
@ -145,7 +141,7 @@ for tracking down issues:
|
|||||||
|
|
||||||
mkdir -p ~/build/hamlib/debug
|
mkdir -p ~/build/hamlib/debug
|
||||||
cd !$
|
cd !$
|
||||||
~/src/sf/bsomervi/hamlib/configure --disable-shared \
|
~/src/sf/bsomervi/hamlib/configure --enable-shared --disable-static \
|
||||||
--prefix=$HOME/local/hamlib/mingw64/debug \
|
--prefix=$HOME/local/hamlib/mingw64/debug \
|
||||||
CFLAGS="-g -O0 -I/c/Tools/libusb-1.0.23/include" \
|
CFLAGS="-g -O0 -I/c/Tools/libusb-1.0.23/include" \
|
||||||
CXXFLAGS="-g -O0" \
|
CXXFLAGS="-g -O0" \
|
||||||
@ -161,6 +157,12 @@ To update the Hamlib sources to the latest commit and rebuild:
|
|||||||
cd ~/build/hamlib/debug
|
cd ~/build/hamlib/debug
|
||||||
make && make install
|
make && make install
|
||||||
|
|
||||||
|
Note that the WSJT-X CMake build script will not detect an updated
|
||||||
|
build of the Hamlib DLL, so to avoid using an out-of-date Hamlib DLL
|
||||||
|
you should delete the Hamlib DLL (libhamlib-4.dll) from your WSJT-X
|
||||||
|
release configuration install tree before rebuilding and installing
|
||||||
|
WSJT-X after a Hamlib update.
|
||||||
|
|
||||||
Pkg Config Lite
|
Pkg Config Lite
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
@ -2,14 +2,24 @@
|
|||||||
|
|
||||||
CallsignValidator::CallsignValidator (QObject * parent, bool allow_compound)
|
CallsignValidator::CallsignValidator (QObject * parent, bool allow_compound)
|
||||||
: QValidator {parent}
|
: QValidator {parent}
|
||||||
, re_ {allow_compound ? R"(^[A-Za-z0-9/]+$)" : R"(^[A-Za-z0-9]+$)"}
|
, re_ {allow_compound ? R"(^[A-Z0-9/]+$)" : R"(^[A-Z0-9]+$)"}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
auto CallsignValidator::validate (QString& input, int& pos) const -> State
|
auto CallsignValidator::validate (QString& input, int& pos) const -> State
|
||||||
{
|
{
|
||||||
auto match = re_.match (input, 0, QRegularExpression::PartialPreferCompleteMatch);
|
|
||||||
input = input.toUpper ();
|
input = input.toUpper ();
|
||||||
|
while (input.size () && input[0].isSpace ())
|
||||||
|
{
|
||||||
|
input.remove (0, 1);
|
||||||
|
if (pos > 0) --pos;
|
||||||
|
}
|
||||||
|
while (input.size () && input[input.size ()].isSpace ())
|
||||||
|
{
|
||||||
|
if (pos > input.size ()) --pos;
|
||||||
|
input.chop (1);
|
||||||
|
}
|
||||||
|
auto match = re_.match (input, 0, QRegularExpression::PartialPreferCompleteMatch);
|
||||||
if (match.hasMatch ()) return Acceptable;
|
if (match.hasMatch ()) return Acceptable;
|
||||||
if (!input.size () || match.hasPartialMatch ()) return Intermediate;
|
if (!input.size () || match.hasPartialMatch ()) return Intermediate;
|
||||||
pos = input.size ();
|
pos = input.size ();
|
||||||
|
@ -1034,9 +1034,9 @@ void MainWindow::not_GA_warning_message ()
|
|||||||
// MessageBox::critical_message (this,
|
// MessageBox::critical_message (this,
|
||||||
// "This is a pre-release version of WSJT-X 2.4.0 made\n"
|
// "This is a pre-release version of WSJT-X 2.4.0 made\n"
|
||||||
// "available for testing purposes. By design it will\n"
|
// "available for testing purposes. By design it will\n"
|
||||||
// "be nonfunctional after May 25, 2021.");
|
// "be nonfunctional after May 30, 2021.");
|
||||||
// auto now = QDateTime::currentDateTimeUtc ();
|
// auto now = QDateTime::currentDateTimeUtc ();
|
||||||
// if (now >= QDateTime {{2021, 5, 25}, {23, 59, 59, 999}, Qt::UTC}) {
|
// if (now >= QDateTime {{2021, 5, 30}, {23, 59, 59, 999}, Qt::UTC}) {
|
||||||
// Q_EMIT finished ();
|
// Q_EMIT finished ();
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user