Further Tx watchdog refinements

This should allow receivers of UDP Status messages to accurately track
the Tx watchdog status. Also some defects in the Tx watchdog logic are
repaired.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6900 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Bill Somerville 2016-07-09 02:27:57 +00:00
parent d39dfe3d87
commit e7e5e3f340
2 changed files with 14 additions and 10 deletions

View File

@ -140,7 +140,7 @@
* When the Tx DF changes, * When the Tx DF changes,
* When the DE call or grid changes (currently when settings are exited), * When the DE call or grid changes (currently when settings are exited),
* When the DX call or grid changes, * When the DX call or grid changes,
* When the Tx watchdog is triggered. * When the Tx watchdog is set or reset.
* *
* *
* Decode Out 2 quint32 * Decode Out 2 quint32

View File

@ -869,10 +869,9 @@ void MainWindow::on_the_minute ()
} }
} }
if (!m_mode.startsWith ("WSPR") && m_config.watchdog () != 0 if (m_config.watchdog () && !m_mode.startsWith ("WSPR"))
&& m_idleMinutes < m_config.watchdog ())
{ {
++m_idleMinutes; if (m_idleMinutes < m_config.watchdog ()) ++m_idleMinutes;
updateProgressBarFormat (true); updateProgressBarFormat (true);
} }
else else
@ -1362,6 +1361,8 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
ui->label_6->setText("Band Activity"); ui->label_6->setText("Band Activity");
ui->label_7->setText("Rx Frequency"); ui->label_7->setText("Rx Frequency");
} }
updateProgressBarFormat (m_config.watchdog () && !m_mode.startsWith ("WSPR"));
} }
void MainWindow::on_monitorButton_clicked (bool checked) void MainWindow::on_monitorButton_clicked (bool checked)
@ -1611,9 +1612,10 @@ bool MainWindow::eventFilter (QObject * object, QEvent * event)
case QEvent::KeyPress: case QEvent::KeyPress:
// fall through // fall through
case QEvent::MouseButtonPress: case QEvent::MouseButtonPress:
if (m_idleMinutes && !m_mode.startsWith ("WSPR") && m_config.watchdog () != 0) { if (m_idleMinutes && m_config.watchdog () && !m_mode.startsWith ("WSPR")) {
m_idleMinutes = 0; // reset Tx watchdog m_idleMinutes = 0; // reset Tx watchdog
updateProgressBarFormat (true); updateProgressBarFormat (true);
statusUpdate ();
} }
break; break;
@ -1660,7 +1662,7 @@ void MainWindow::createStatusBar() //createStatusBar
statusBar()->addPermanentWidget(&progressBar, 1); statusBar()->addPermanentWidget(&progressBar, 1);
progressBar.setMinimumSize (QSize {100, 18}); progressBar.setMinimumSize (QSize {100, 18});
updateProgressBarFormat (!m_mode.startsWith ("WSPR") && m_config.watchdog () != 0); updateProgressBarFormat (m_config.watchdog () && !m_mode.startsWith ("WSPR"));
} }
void MainWindow::setup_status_bar (bool vhf) void MainWindow::setup_status_bar (bool vhf)
@ -2636,7 +2638,7 @@ void MainWindow::guiUpdate()
} }
} }
if (!m_mode.startsWith ("WSPR") && m_config.watchdog() if (m_config.watchdog() && !m_mode.startsWith ("WSPR")
&& m_idleMinutes >= m_config.watchdog ()) { && m_idleMinutes >= m_config.watchdog ()) {
m_bTxTime=false; m_bTxTime=false;
if (m_tune) stop_tuning (); if (m_tune) stop_tuning ();
@ -2864,7 +2866,7 @@ void MainWindow::guiUpdate()
if (g_iptt == 1 && m_iptt0 == 0) if (g_iptt == 1 && m_iptt0 == 0)
{ {
auto const& current_message = QString::fromLatin1 (msgsent); auto const& current_message = QString::fromLatin1 (msgsent);
if(!m_mode.startsWith ("WSPR") && m_config.watchdog () != 0) { if(m_config.watchdog () && !m_mode.startsWith ("WSPR")) {
if (current_message != m_msgSent0) { if (current_message != m_msgSent0) {
m_idleMinutes=0; // in case we are auto sequencing m_idleMinutes=0; // in case we are auto sequencing
m_msgSent0 = current_message; m_msgSent0 = current_message;
@ -5263,7 +5265,7 @@ void MainWindow::replyToCQ (QTime time, qint32 snr, float delta_time, quint32 de
// find the linefeed at the end of the line // find the linefeed at the end of the line
position = ui->decodedTextBrowser->toPlainText().indexOf("\n",position); position = ui->decodedTextBrowser->toPlainText().indexOf("\n",position);
processMessage (messages, position, false); processMessage (messages, position, false);
if (m_idleMinutes && !m_mode.startsWith ("WSPR") && m_config.watchdog () != 0) { if (m_idleMinutes && m_config.watchdog () && !m_mode.startsWith ("WSPR")) {
m_idleMinutes = 0; // reset Tx watchdog m_idleMinutes = 0; // reset Tx watchdog
updateProgressBarFormat (true); updateProgressBarFormat (true);
} }
@ -5719,7 +5721,9 @@ void MainWindow::statusUpdate () const
{ {
if (ui) if (ui)
{ {
bool watchdog_timeout = !m_mode.startsWith("WSPR") && m_config.watchdog () && m_idleMinutes >= m_config.watchdog (); bool watchdog_timeout {m_config.watchdog ()
&& m_idleMinutes >= m_config.watchdog ()
&& !m_mode.startsWith("WSPR")};
m_messageClient->status_update (m_freqNominal, m_mode, m_hisCall, m_messageClient->status_update (m_freqNominal, m_mode, m_hisCall,
QString::number (ui->rptSpinBox->value ()), QString::number (ui->rptSpinBox->value ()),
m_modeTx, ui->autoButton->isChecked (), m_modeTx, ui->autoButton->isChecked (),