From c1d5531603fbf8d2f1f228523c887be751c0c3e1 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 21 Oct 2016 18:07:12 +0000 Subject: [PATCH] For now, we'll allow click-to-decode in ISCAT mode. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7218 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- doc/user_guide/en/vhf-features.adoc | 62 +++++++++++++++++------------ fastgraph.cpp | 9 +++-- fastgraph.h | 1 + fastplot.cpp | 8 +++- fastplot.h | 4 +- mainwindow.cpp | 2 + 6 files changed, 54 insertions(+), 32 deletions(-) diff --git a/doc/user_guide/en/vhf-features.adoc b/doc/user_guide/en/vhf-features.adoc index 88328def8..689c86de6 100644 --- a/doc/user_guide/en/vhf-features.adoc +++ b/doc/user_guide/en/vhf-features.adoc @@ -142,25 +142,32 @@ _WSJT-X_, Version 1.7. The protocol is still subject to change, and some features of the decoder will likely change. In most ways operation of QRA64 is similar to JT65. -=== Meteor Scatter with MSK144 +=== MSK144 -Meteor-scatter QSOs can be made at any time on the VHF bands, at -distances up to about 2100 km or 1300 miles. Completing a QSO takes -longer in the evening than in the morning, longer at 144 MHz than at -50 MHz, and longer at 2000 km than 1500 km. But with patience, at -least 100 Watts, and a single yagi it can usually be done. +Meteor-scatter QSOs can be made any time on the VHF bands at distances +up to about 2100 km (1300 miles). Completing a QSO takes longer in +the evening than in the morning, longer at higher frequencies, and +longer at distances close to the upper limit. But with patience, +100 Watts or more, and a single yagi it can usually be done. -- Select *MSK144* from the *Mode* and *Fast* from the *Decode* menu. +Unlike other _WSJT-X modes, MSK144 decodes received signals in real +time. Decoded messages will appear on your screen almost as soon as +you hear them. -- Set the audio receiving frequency to *Rx 1500 Hz*, frequency -tolerance to *F Tol 100*, and T/R sequence duration to 15 s. +- Select *MSK144* from the *Mode* menu. -- MSK144 decodes received signals in real time, so you will see -decoded messages almost as soon as you hear them. To match decoding -depth to your computer's capability, click *Monitor* (if it's not -already green) to start a receiving sequence and observe the -percentage of CPU usage displayed on the _Receiving_ label in the -Status Bar: +- Select *Fast* from the *Decode* menu. + +- Set the audio receiving frequency to *Rx 1500 Hz*. + +- Set frequency tolerance to *F Tol 100*. + +- Set the *T/R* sequence duration to 15 s. + +- To match decoding depth to your computer's capability, click +*Monitor* (if it's not already green) to start a receiving sequence +and observe the percentage of CPU usage displayed on the _Receiving_ +label in the Status Bar: image::Rx_pct_MSK144.png[align="center",alt="MSK144 Percent CPU"] @@ -174,18 +181,23 @@ optimum parameters *Deep* and *F Tol 200*. Slower machines may not be able to keep up at these settings; in that case there will be a modest loss in decoding capability for the weakest pings. -- T/R sequences of 15 seconds or less make it sometimes desirable to -advance your selection of transmitted messages very quickly. Check -*Auto Seq* to have the computer make the necessary decisions -automatically, based on received messages. +- T/R sequences of 15 seconds or less requires choosing your +transmitted messages very quickly. Check *Auto Seq* to have the +computer make the necessary decisions automatically, based on received +messages. -- For operation at 144 MHz or above it is advantageous to use the -short-format messages for Tx3, Tx4, and Tx5. Check the box labeled -*Sh* to enable this feature. +For operation at 144 MHz or above you may find it it helpful to use +short-format messages for Tx3, Tx4, and Tx5. These messages are 20 ms +long, compared with 72 ms for full-length MSK144 messages. Their +information content is a 12-bit hash of the two callsigns, rather than +the callsigns themselves, plus a 4-bit report, acknowledgment, or +sign-off. Only the intended recipient can decode short-messages. -IMPORTANT: There is little need to use MSK144 *Sh* messages at 50 or -70 MHz, where most pings are long enough to support the standard -MSK144 message length. +- Check *Sh* to enable short messages. + +IMPORTANT: There is little or no advantage to using MSK144 *Sh* +messages at 50 or 70 MHz. At these frequencies most pings are long +enough to support standard messages. === Scatter Propagation with ISCAT diff --git a/fastgraph.cpp b/fastgraph.cpp index 6147a9c51..b164e8fac 100644 --- a/fastgraph.cpp +++ b/fastgraph.cpp @@ -69,8 +69,6 @@ void FastGraph::on_gainSlider_valueChanged(int value) { ui->fastPlot->setPlotGain(value); ui->fastPlot->draw(); -// qDebug() << "B" << ui->gainSlider->value() << ui->zeroSlider->value() -// << ui->greenZeroSlider->value() << m_ave; } void FastGraph::on_zeroSlider_valueChanged(int value) @@ -101,6 +99,9 @@ void FastGraph::on_pbAutoLevel_clicked() ui->gainSlider->setValue(127-int(2.2*m_ave)); ui->zeroSlider->setValue(int(m_ave)+20); ui->greenZeroSlider->setValue(160-int(3.3*m_ave)); -// qDebug() << "A" << ui->gainSlider->value() << ui->zeroSlider->value() -// << ui->greenZeroSlider->value() << m_ave; +} + +void FastGraph::setMode(QString mode) //setMode +{ + ui->fastPlot->setMode(mode); } diff --git a/fastgraph.h b/fastgraph.h index d319668de..b7671b35e 100644 --- a/fastgraph.h +++ b/fastgraph.h @@ -24,6 +24,7 @@ public: void plotSpec(bool diskData, int UTCdisk); void saveSettings(); void setTRperiod(int n); + void setMode(QString mode); signals: void fastPick(int x0, int x1, int y); diff --git a/fastplot.cpp b/fastplot.cpp index ae7cade44..cd186c2c8 100644 --- a/fastplot.cpp +++ b/fastplot.cpp @@ -247,9 +247,9 @@ void FPlotter::mouseMoveEvent(QMouseEvent *event) update(); } -/* void FPlotter::mousePressEvent(QMouseEvent *event) //mousePressEvent { + if(m_mode=="MSK144") return; int x=event->x(); int y=event->y(); int n=event->button(); @@ -279,4 +279,8 @@ void FPlotter::mousePressEvent(QMouseEvent *event) //mousePressEvent m_x1=x1; m_y0=y0; } -*/ + +void FPlotter::setMode(QString mode) //setMode +{ + m_mode=mode; +} diff --git a/fastplot.h b/fastplot.h index 794b0ad5b..57a4ea904 100644 --- a/fastplot.h +++ b/fastplot.h @@ -36,6 +36,7 @@ public: void setGreenZero(int n); void setTRperiod(int n); void drawScale(); + void setMode(QString mode); signals: void fastPick (int x0, int x1, int y); @@ -46,7 +47,7 @@ protected: // void resizeEvent(QResizeEvent* event); private slots: -// void mousePressEvent(QMouseEvent *event); + void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); private: @@ -61,6 +62,7 @@ private: QString m_t; QString m_t0; QString m_t1; + QString m_mode; double m_pixPerSecond; diff --git a/mainwindow.cpp b/mainwindow.cpp index 3c5e85286..058858267 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -826,6 +826,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, } statusChanged(); + m_fastGraph->setMode(m_mode); m_wideGraph->setMode(m_mode); m_wideGraph->setModeTx(m_modeTx); @@ -4307,6 +4308,7 @@ void MainWindow::on_actionEcho_triggered() void MainWindow::switch_mode (Mode mode) { + m_fastGraph->setMode(m_mode); m_config.frequencies ()->filter (mode); auto const& row = m_config.frequencies ()->best_working_frequency (m_freqNominal); if (row >= 0) {