diff --git a/Release_Notes.txt b/Release_Notes.txt index 44079b949..8bab06866 100644 --- a/Release_Notes.txt +++ b/Release_Notes.txt @@ -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. diff --git a/Transceiver/HamlibTransceiver.cpp b/Transceiver/HamlibTransceiver.cpp index f8ed19fac..98afb2683 100644 --- a/Transceiver/HamlibTransceiver.cpp +++ b/Transceiver/HamlibTransceiver.cpp @@ -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 ()); diff --git a/Transceiver/OmniRigTransceiver.cpp b/Transceiver/OmniRigTransceiver.cpp index 48219ecde..62c34ebf8 100644 --- a/Transceiver/OmniRigTransceiver.cpp +++ b/Transceiver/OmniRigTransceiver.cpp @@ -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 (); } diff --git a/lib/jt65_decode.f90 b/lib/jt65_decode.f90 index 6177492cc..5242b6efe 100644 --- a/lib/jt65_decode.f90 +++ b/lib/jt65_decode.f90 @@ -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) diff --git a/models/FrequencyList.cpp b/models/FrequencyList.cpp index fbfcddcf4..c0170a499 100644 --- a/models/FrequencyList.cpp +++ b/models/FrequencyList.cpp @@ -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}, diff --git a/widgets/displaytext.cpp b/widgets/displaytext.cpp index b3ccf8eb2..ae865bc9d 100644 --- a/widgets/displaytext.cpp +++ b/widgets/displaytext.cpp @@ -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 ()) { diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 2a92a9734..37dad9ebc 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -3137,6 +3137,7 @@ void MainWindow::readFromStdout() //readFromStdout if(line_read.indexOf("") >= 0) { m_bDecoded = line_read.mid(20).trimmed().toInt() > 0; + if(m_nDecodes==0) ndecodes_label.setText("0"); decodeDone (); return; } else { diff --git a/widgets/mainwindow.ui b/widgets/mainwindow.ui index 288ce9a57..ac2b23bcb 100644 --- a/widgets/mainwindow.ui +++ b/widgets/mainwindow.ui @@ -1,4 +1,4 @@ - + MainWindow @@ -2911,6 +2911,9 @@ list. The list can be maintained in Settings (F2). About WSJT-X + + QAction::AboutRole + @@ -3198,6 +3201,9 @@ list. The list can be maintained in Settings (F2). Settings... + + QAction::PreferencesRole +