mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 03:58:50 -04:00
Merge branch 'release-2.2.0' into develop
This commit is contained in:
commit
90a89c5a98
@ -12,8 +12,76 @@
|
||||
|
||||
Copyright 2001 - 2020 by Joe Taylor, K1JT.
|
||||
|
||||
|
||||
Release: WSJT-X 2.2
|
||||
June 2, 2020
|
||||
-------------------
|
||||
|
||||
WSJT-X 2.2 is a program upgrade that provides a number of new features
|
||||
and capabilities. Here is a brief summary; for further details see
|
||||
the notes for candidate releases 2.2.0-rc1, -rc2, and -rc3, below, and
|
||||
of course the updated WSJT-X 2.2 User Guide.
|
||||
|
||||
- Significant improvements to the decoders for FT4, FT8, JT4, JT65,
|
||||
and WSPR.
|
||||
|
||||
- New format for "EU VHF Contest" Tx2 and Tx3 messages
|
||||
|
||||
When "EU VHF Contest" is selected, the Tx2 and Tx3 messages (those
|
||||
conveying signal report, serial number, and 6-character locator)
|
||||
now use hashcodes for both callsigns. This change is NOT backward
|
||||
compatible with earlier versions of _WSJT-X_, so all users of EU
|
||||
VHF Contest messages should be sure to upgrade to version 2.2.0.
|
||||
|
||||
- Accessibility
|
||||
|
||||
Keyboard shortcuts have been added as an aid to accessibility:
|
||||
Alt+R sets Tx4 message to RR73, Ctrl+R sets it to RRR.
|
||||
|
||||
As an aid for partial color-blindness, the "inverted goal posts"
|
||||
marking Rx frequency on the Wide Graph's frequency scale are now
|
||||
rendered in a darker shade of green.
|
||||
|
||||
- User Interface Translations have been enabled. Translations are
|
||||
now available for Catalan, Spanish, Japanese, Chinese, and Hong
|
||||
Kong Chinese. Additiional languages will follow, when available.
|
||||
|
||||
Note that UI translation is automatic, based on your system primary
|
||||
language. If you do not want the WSJT-X UI translated to your local
|
||||
language then start WSJT-X with the '--language=en' command line
|
||||
option:
|
||||
|
||||
wsjtx --language=en
|
||||
|
||||
If you wish to contribute by authoring WSJT-X UI translations
|
||||
please join the new discussion group wsjtx-l10n@Groups.io
|
||||
(https://groups.io/g/wsjtx-l10n), where help from other translation
|
||||
authors and coordination with the development team is available.
|
||||
|
||||
- Minor enhancements and bug fixes
|
||||
|
||||
"Save None" now writes no .wav files to disk, even temporarily.
|
||||
|
||||
An explicit entry for "WW Digi Contest" has been added to
|
||||
"Special operating activities" on the "Settings | Advanced" tab.
|
||||
|
||||
Contest mode FT4 now always uses RR73 for the Tx4 message.
|
||||
|
||||
The Status bar now displays the number of decodes found in the
|
||||
most recent Rx sequence.
|
||||
|
||||
The "Highlight Callsign" UDP message has been enhanced to allow
|
||||
clearing of old highlighting for a specified callsign. Please note
|
||||
a recommended restriction on the use of this message in the
|
||||
documentation here: https://tinyurl.com/y85nc3tg
|
||||
|
||||
- Hamlib - this library which we use for direct rig control has had
|
||||
many defect repairs and enhancements, we thank the contributors to
|
||||
that project for their work.
|
||||
|
||||
|
||||
Release: WSJT-X 2.2.0-rc3
|
||||
May 30, 2020
|
||||
May 29, 2020
|
||||
-------------------------
|
||||
|
||||
WSJT-X 2.2.0-rc3 is the third release candidate for WSJT-X 2.2.0.
|
||||
|
@ -376,9 +376,11 @@ HamlibTransceiver::HamlibTransceiver (int model_number, TransceiverFactory::Para
|
||||
|
||||
case TransceiverFactory::PTT_method_DTR:
|
||||
case TransceiverFactory::PTT_method_RTS:
|
||||
if (!params.ptt_port.isEmpty ()
|
||||
if (params.ptt_port.size ()
|
||||
&& params.ptt_port != "None"
|
||||
&& (is_dummy_ || params.ptt_port != params.serial_port))
|
||||
&& (is_dummy_
|
||||
|| RIG_PORT_SERIAL != rig_->caps->port_type
|
||||
|| params.ptt_port != params.serial_port))
|
||||
{
|
||||
#if defined (WIN32)
|
||||
set_conf ("ptt_pathname", ("\\\\.\\" + params.ptt_port).toLatin1 ().data ());
|
||||
|
@ -162,6 +162,9 @@ int OmniRigTransceiver::do_start ()
|
||||
Q_ASSERT (rig_);
|
||||
Q_ASSERT (!rig_->isNull ());
|
||||
|
||||
// COM/OLE exceptions get signaled
|
||||
connect (&*rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
|
||||
|
||||
offline_timer_.reset (new QTimer); // instantiate here as
|
||||
// constructor runs in wrong
|
||||
// thread
|
||||
@ -175,12 +178,17 @@ int OmniRigTransceiver::do_start ()
|
||||
|
||||
Q_ASSERT (port_);
|
||||
Q_ASSERT (!port_->isNull ());
|
||||
|
||||
// COM/OLE exceptions get signaled
|
||||
connect (&*port_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
|
||||
|
||||
TRACE_CAT ("OmniRigTransceiver", "OmniRig RTS state:" << port_->Rts ());
|
||||
|
||||
if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
|
||||
{
|
||||
TRACE_CAT ("OmniRigTransceiver", "Failed to get exclusive use of serial port for PTT from OmniRig");
|
||||
}
|
||||
// remove locking because it doesn't seem to work properly
|
||||
// if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
|
||||
// {
|
||||
// TRACE_CAT ("OmniRigTransceiver", "Failed to get exclusive use of serial port for PTT from OmniRig");
|
||||
// }
|
||||
|
||||
// start off so we don't accidentally key the radio
|
||||
if (TransceiverFactory::PTT_method_DTR == ptt_type_)
|
||||
@ -314,9 +322,9 @@ void OmniRigTransceiver::do_stop ()
|
||||
// destructor as destructor runs in
|
||||
// wrong thread
|
||||
|
||||
if (port_)
|
||||
if (port_ && !port_->isNull ())
|
||||
{
|
||||
port_->Unlock (); // release serial port
|
||||
// port_->Unlock (); // release serial port
|
||||
port_->clear ();
|
||||
port_.reset ();
|
||||
}
|
||||
|
@ -176,8 +176,8 @@ contains
|
||||
endif
|
||||
df=12000.0/8192.0 !df = 1.465 Hz
|
||||
if(bVHF) then
|
||||
ia=max(1,nint(nfa/df)-ntol)
|
||||
ib=min(NSZ,nint(nfb/df)+ntol)
|
||||
ia=max(1,nint((nfa-100)/df))
|
||||
ib=min(NSZ,nint((nfb+100)/df))
|
||||
nz=ib-ia+1
|
||||
call lorentzian(savg(ia),nz,a)
|
||||
baseline=a(1)
|
||||
|
@ -124,7 +124,6 @@ namespace
|
||||
// 7110 LSB EMCOMM
|
||||
//
|
||||
{7038600, Modes::WSPR, IARURegions::ALL},
|
||||
{7071000, Modes::FT8, IARURegions::ALL},
|
||||
{7074000, Modes::FT8, IARURegions::ALL},
|
||||
{7076000, Modes::JT65, IARURegions::ALL},
|
||||
{7078000, Modes::JT9, IARURegions::ALL},
|
||||
@ -158,7 +157,6 @@ namespace
|
||||
// 10142.25 OLIVIA, Contestia, etc.
|
||||
// 10143.25 OLIVIA, Contestia, etc. (main QRQ)
|
||||
//
|
||||
{10133000, Modes::FT8, IARURegions::ALL},
|
||||
{10136000, Modes::FT8, IARURegions::ALL},
|
||||
{10138000, Modes::JT65, IARURegions::ALL},
|
||||
{10138700, Modes::WSPR, IARURegions::ALL},
|
||||
@ -203,7 +201,6 @@ namespace
|
||||
// 14106.5 OLIVIA 1000 (main QRG)
|
||||
//
|
||||
{14095600, Modes::WSPR, IARURegions::ALL},
|
||||
{14071000, Modes::FT8, IARURegions::ALL},
|
||||
{14074000, Modes::FT8, IARURegions::ALL},
|
||||
{14076000, Modes::JT65, IARURegions::ALL},
|
||||
{14078000, Modes::JT9, IARURegions::ALL},
|
||||
@ -270,7 +267,6 @@ namespace
|
||||
{50293000, Modes::WSPR, IARURegions::R3},
|
||||
{50310000, Modes::JT65, IARURegions::ALL},
|
||||
{50312000, Modes::JT9, IARURegions::ALL},
|
||||
{50310000, Modes::FT8, IARURegions::ALL},
|
||||
{50313000, Modes::FT8, IARURegions::ALL},
|
||||
{50318000, Modes::FT4, IARURegions::ALL}, // provisional
|
||||
{50323000, Modes::FT8, IARURegions::ALL},
|
||||
|
@ -608,9 +608,12 @@ void DisplayText::highlight_callsign (QString const& callsign, QColor const& bg,
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (pos != highlighted_calls_.end ())
|
||||
else
|
||||
{
|
||||
highlighted_calls_.erase (pos);
|
||||
if (pos != highlighted_calls_.end ())
|
||||
{
|
||||
highlighted_calls_.erase (pos);
|
||||
}
|
||||
QTextCursor cursor {document ()};
|
||||
while (!cursor.isNull ())
|
||||
{
|
||||
|
@ -3137,6 +3137,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
||||
|
||||
if(line_read.indexOf("<DecodeFinished>") >= 0) {
|
||||
m_bDecoded = line_read.mid(20).trimmed().toInt() > 0;
|
||||
if(m_nDecodes==0) ndecodes_label.setText("0");
|
||||
decodeDone ();
|
||||
return;
|
||||
} else {
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>MainWindow</class>
|
||||
<widget class="QMainWindow" name="MainWindow">
|
||||
@ -2911,6 +2911,9 @@ list. The list can be maintained in Settings (F2).</string>
|
||||
<property name="text">
|
||||
<string>About WSJT-X</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::AboutRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionWide_Waterfall">
|
||||
<property name="text">
|
||||
@ -3198,6 +3201,9 @@ list. The list can be maintained in Settings (F2).</string>
|
||||
<property name="text">
|
||||
<string>Settings...</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::PreferencesRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionLocal_User_Guide">
|
||||
<property name="text">
|
||||
|
Loading…
Reference in New Issue
Block a user