From ca04a2f3bbdb9d886234b85d2708ca8afd7de6eb Mon Sep 17 00:00:00 2001 From: Uwe Risse Date: Thu, 1 Sep 2022 09:54:01 +0200 Subject: [PATCH 1/6] A bit more time to test RC4. --- widgets/mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index fa1874dbe..56f46ecc2 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1061,9 +1061,9 @@ void MainWindow::not_GA_warning_message () MessageBox::critical_message (this, "This is a pre-release version of WSJT-X 2.6.0 made\n" "available for testing purposes. By design it will\n" - "be nonfunctional after Nov 30, 2022."); + "be nonfunctional after Dec 31, 2022."); auto now = QDateTime::currentDateTimeUtc (); - if (now >= QDateTime {{2022, 11, 30}, {23, 59, 59, 999}, Qt::UTC}) { + if (now >= QDateTime {{2022, 12, 31}, {23, 59, 59, 999}, Qt::UTC}) { Q_EMIT finished (); } } From 50e3960ee4f62652b8e04a40b485189df5ba188d Mon Sep 17 00:00:00 2001 From: Uwe Risse Date: Thu, 1 Sep 2022 12:00:30 +0200 Subject: [PATCH 2/6] Ensure that Monitor is OFF at startup when in Echo mode. --- widgets/mainwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 56f46ecc2..0bc08dad5 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -7690,7 +7690,7 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const& if (old_state.online () == false && s.online () == true) { // initializing - on_monitorButton_clicked (!m_config.monitor_off_at_startup ()); + on_monitorButton_clicked (!(m_config.monitor_off_at_startup() or m_mode=="Echo")); } if (s.frequency () != old_state.frequency () || s.split () != m_splitMode) { From c1b7890f2e688bf5ade68b615ae2036dcd374a38 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 1 Sep 2022 10:06:38 -0400 Subject: [PATCH 3/6] Avoid the "blue Decode button" syndrome when using SHIFT+F6 in Echo mode. --- lib/avecho.f90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/avecho.f90 b/lib/avecho.f90 index 476e4321e..645a96db4 100644 --- a/lib/avecho.f90 +++ b/lib/avecho.f90 @@ -94,5 +94,6 @@ subroutine avecho(id2,ndop,nfrit,nauto,nqual,f1,xlevel,snrdb,db_err, & call pctile(blue(ia:ib),ib-ia+1,50,bblue) blue=blue-bblue -900 return +900 call sleep_msec(10) !Avoid the "blue Decode button" syndrome + return end subroutine avecho From a569d25ddbdb8601e26cffa903279321ad55e3a1 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 1 Sep 2022 11:20:00 -0400 Subject: [PATCH 4/6] Add an optional baseline to plots in Echo Graph. --- widgets/echograph.cpp | 13 +++++++++++++ widgets/echograph.h | 2 ++ widgets/echograph.ui | 23 +++++++++++++++++++++++ widgets/echoplot.cpp | 17 +++++++++++++++-- widgets/echoplot.h | 2 ++ widgets/mainwindow.cpp | 2 -- 6 files changed, 55 insertions(+), 4 deletions(-) diff --git a/widgets/echograph.cpp b/widgets/echograph.cpp index 4bcaa7173..fb2623646 100644 --- a/widgets/echograph.cpp +++ b/widgets/echograph.cpp @@ -2,6 +2,7 @@ #include "commons.h" #include #include +#include #include "echoplot.h" #include "ui_echograph.h" #include "moc_echograph.cpp" @@ -36,6 +37,7 @@ EchoGraph::EchoGraph(QSettings * settings, QWidget *parent) : ui->binsPerPixelSpinBox->setValue(n); ui->echoPlot->m_blue=m_settings->value("BlueCurve",false).toBool(); m_nColor=m_settings->value("EchoColors",0).toInt(); + ui->cbBaseline->setChecked(m_settings->value("Baseline",false).toBool()); m_settings->endGroup(); ui->echoPlot->setColors(m_nColor); } @@ -62,6 +64,7 @@ void EchoGraph::saveSettings() m_settings->setValue("EchoBPP",ui->echoPlot->m_binsPerPixel); m_settings->setValue("BlueCurve",ui->echoPlot->m_blue); m_settings->setValue("EchoColors",m_nColor); + m_settings->setValue("Baseline",ui->cbBaseline->isChecked()); m_settings->endGroup(); } @@ -101,3 +104,13 @@ void EchoGraph::on_pbColors_clicked() m_nColor = (m_nColor+1) % 6; ui->echoPlot->setColors(m_nColor); } + +void EchoGraph::on_cbBaseline_toggled(bool b) +{ + ui->echoPlot->setBaseline(b); +} + +bool EchoGraph::baseline() +{ + return ui->cbBaseline->isChecked(); +} diff --git a/widgets/echograph.h b/widgets/echograph.h index 6e91782f1..1cd6e7506 100644 --- a/widgets/echograph.h +++ b/widgets/echograph.h @@ -23,6 +23,7 @@ public: void plotSpec(); void saveSettings(); + bool baseline(); private slots: void on_smoothSpinBox_valueChanged(int n); @@ -30,6 +31,7 @@ private slots: void on_zeroSlider_valueChanged(int value); void on_binsPerPixelSpinBox_valueChanged(int n); void on_pbColors_clicked(); + void on_cbBaseline_toggled(bool b); private: QSettings * m_settings; diff --git a/widgets/echograph.ui b/widgets/echograph.ui index 470a2cc8c..0990db563 100644 --- a/widgets/echograph.ui +++ b/widgets/echograph.ui @@ -189,6 +189,29 @@ + + + + Baseline + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 20 + 20 + + + + diff --git a/widgets/echoplot.cpp b/widgets/echoplot.cpp index 34fc33865..65feb7a8e 100644 --- a/widgets/echoplot.cpp +++ b/widgets/echoplot.cpp @@ -127,7 +127,7 @@ void EPlotter::draw() //draw() painter2D.setPen(penBlue); j=0; for(i=0; idecodedTextBrowser->toPlainText(); - static QFile f {QDir {QStandardPaths::writableLocation (QStandardPaths::DataLocation)}.absoluteFilePath ("WSJT-X.txt")}; if(!f.open(QIODevice::Text | QIODevice::WriteOnly)) { MessageBox::warning_message (this, tr ("WSJT-X.txt file error"), From 14a3ba02f2cf4a59bb39fb235f2fac50a0921825 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 1 Sep 2022 11:49:06 -0400 Subject: [PATCH 5/6] ClearAvg now erases the plot in Echo Graph. --- widgets/echograph.cpp | 10 ++++++++++ widgets/echograph.h | 1 + widgets/mainwindow.cpp | 1 + 3 files changed, 12 insertions(+) diff --git a/widgets/echograph.cpp b/widgets/echograph.cpp index fb2623646..94ccb7aa2 100644 --- a/widgets/echograph.cpp +++ b/widgets/echograph.cpp @@ -114,3 +114,13 @@ bool EchoGraph::baseline() { return ui->cbBaseline->isChecked(); } + +void EchoGraph::clearAvg() +{ + for(int i=0; i<4096; i++) { + echocom_.blue[i]=0; + echocom_.red[i]=0; + } + echocom_.nsum=0; + plotSpec(); +} diff --git a/widgets/echograph.h b/widgets/echograph.h index 1cd6e7506..329456804 100644 --- a/widgets/echograph.h +++ b/widgets/echograph.h @@ -23,6 +23,7 @@ public: void plotSpec(); void saveSettings(); + void clearAvg(); bool baseline(); private slots: diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 4db81a499..d128846a8 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -3152,6 +3152,7 @@ void MainWindow::on_ClrAvgButton_clicked() m_nclearave=1; if(m_mode=="Echo") { echocom_.nsum=0; + m_echoGraph->clearAvg(); } else { if(m_msgAvgWidget != NULL) { if(m_msgAvgWidget->isVisible()) m_msgAvgWidget->displayAvg(""); From eb8fba2598160b48462b82b6272a1a680e6187c3 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Thu, 1 Sep 2022 14:32:11 -0400 Subject: [PATCH 6/6] Add Tsec to displayed data for Echo mode. --- widgets/mainwindow.cpp | 16 ++++++++++++---- widgets/mainwindow.h | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index d128846a8..e32d9e5ca 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -1619,15 +1619,20 @@ void MainWindow::dataSink(qint64 frames) } if(m_monitoring or m_auto or m_diskData) { - QString t; - t = t.asprintf("%5.2f %7d %7.1f %7d %7d %7d %7.1f %7.1f",xlevel,nDopTotal,width,echocom_.nsum, - nqual,qRound(dfreq),sigdb,dBerr); QString t0; if(m_diskData) { t0=t0.asprintf("%06d ",m_UTCdisk); } else { t0=QDateTime::currentDateTimeUtc().toString("hhmmss "); } + int n=t0.toInt(); + int nsec=((n/10000)*3600) + (((n/100)%100)*60) + (n%100); + if(!m_echoRunning) m_echoSec0=nsec; + n=(nsec-m_echoSec0 + 864000)%86400; + m_echoRunning=true; + QString t; + t = t.asprintf("%6d %5.2f %7d %7.1f %7d %7d %7d %7.1f %7.1f",n,xlevel, + nDopTotal,width,echocom_.nsum,nqual,qRound(dfreq),sigdb,dBerr); t = t0 + t; if (ui) ui->decodedTextBrowser->appendText(t); } @@ -2013,6 +2018,7 @@ void MainWindow::on_monitorButton_clicked (bool checked) } else { ui->monitorButton->setChecked (false); // disallow } + if(m_mode=="Echo") m_echoRunning=false; } void MainWindow::monitor (bool state) @@ -2050,6 +2056,7 @@ void MainWindow::on_autoButton_clicked (bool checked) echocom_.nsum=0; } m_tAutoOn=QDateTime::currentMSecsSinceEpoch()/1000; + if(m_mode=="Echo") m_echoRunning=false; } void MainWindow::on_sbTxPercent_valueChanged (int n) @@ -4707,6 +4714,7 @@ void MainWindow::guiUpdate() ui->txb1->setEnabled(true); } } + if(m_mode=="Echo" and !m_monitoring and !m_auto and !m_diskData) m_echoRunning=false; //Once per second (onesec) if(nsec != m_sec0) { @@ -7107,7 +7115,7 @@ void MainWindow::on_actionEcho_triggered() m_bFastMode=false; m_bFast9=false; WSPR_config(true); - ui->lh_decodes_headings_label->setText(" UTC Level Doppler Width N Q DF SNR dBerr"); + ui->lh_decodes_headings_label->setText(" UTC Tsec Level Doppler Width N Q DF SNR dBerr"); // 01234567890123456789012345678901234567 displayWidgets(nWidgets("00000000000000000010001000000000000000")); fast_config(false); diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index d3a6e0060..0c7cf3647 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -507,6 +507,7 @@ private: qint32 m_points=-99; qint32 m_score=0; qint32 m_fDop=0; + qint32 m_echoSec0=0; bool m_btxok; //True if OK to transmit bool m_diskData; @@ -736,7 +737,8 @@ private: QThread::Priority m_audioThreadPriority; bool m_bandEdited; bool m_splitMode; - bool m_monitoring; + bool m_monitoring=false; + bool m_echoRunning=false; bool m_tx_when_ready; bool m_transmitting; bool m_tune;