From fd77e5440f4b8e4377799fbb8abf51f1032f3e2d Mon Sep 17 00:00:00 2001 From: Jordan Sherer Date: Thu, 29 Nov 2018 22:19:17 -0500 Subject: [PATCH] Keep configuration option for heartbeat channelization --- Configuration.ui | 34 ++++++++++++++++++++++++++-------- mainwindow.cpp | 15 +++++++++++++-- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/Configuration.ui b/Configuration.ui index 123b3c1..0096088 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -682,6 +682,25 @@ text message. + + + + true + + + Heartbeat (HB) + + + + + + Allow heartbeat transmissions outside of heartbeat sub-channel (500Hz - 1000Hz) + + + + + + @@ -696,7 +715,7 @@ text message. - + false @@ -704,17 +723,13 @@ text message. Heartbeat (HB) - - - - Allow heartbeat transmissions outside of heartbeat sub-channel (500Hz - 1000Hz) - - - + + false + Heartbeat interval: @@ -722,6 +737,9 @@ text message. + + false + <html><head/><body><p>Number of minutes between unattended heartbeat transmissions.</p></body></html> diff --git a/mainwindow.cpp b/mainwindow.cpp index cb28d65..51491d7 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -6627,9 +6627,16 @@ void MainWindow::sendHeartbeat(){ QString status = ui->activeButton->isChecked() ? "ACTIVE" : "IDLE"; QString message = QString("%1: HB %2 %3").arg(mycall).arg(status).arg(mygrid).trimmed(); + /* addMessageText(message); if(m_config.transmit_directed()) toggleTx(true); + */ + + auto f = m_config.heartbeat_anywhere() ? -1 : findFreeFreqOffset(500, 1000, 50); + + enqueueMessage(PriorityLow, message, f, [this](){ + }); } void MainWindow::on_hbMacroButton_toggled(bool checked){ @@ -9461,7 +9468,7 @@ void MainWindow::processCommandActivity() { } // do not queue @ALLCALL replies if auto-reply is not checked or it's a ping reply - if(!ui->autoReplyButton->isChecked() && isAllCall && !d.cmd.contains(" HB")){ + if(!ui->autoReplyButton->isChecked() && isAllCall && !d.cmd.contains(" HB ")){ continue; } @@ -9643,7 +9650,9 @@ void MainWindow::processTxQueue(){ // check to see if this is a high priority message, or if we have autoreply enabled, or if this is a ping and the ping button is enabled if(message.priority >= PriorityHigh || - (ui->autoReplyButton->isChecked()) + message.message.contains(" HB ") || + message.message.contains(" ACK ") || + ui->autoReplyButton->isChecked() ){ // then try to set the frequency... setFreqOffsetForRestore(f, true); @@ -9777,10 +9786,12 @@ void MainWindow::displayBandActivity() { continue; } +#if 0 if (!hbEnabled && (item.text.contains(": HB") || item.text.contains(" ACK "))){ // hide heartbeats and acks if we are not currently heartbeating continue; } +#endif if (item.text.isEmpty()) { continue;