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;