From b1e68468299b906e7f884befd93d6072638652bd Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 9 Nov 2018 11:39:02 -0500 Subject: [PATCH 1/2] Pad JT65 22-bit messages to 37-bit length, thus moving the end-of-line "f", etc. --- widgets/mainwindow.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index d7ec5841b..9835ae9f2 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2933,6 +2933,7 @@ void MainWindow::readFromStdout() //readFromStdout { while(proc_jt9.canReadLine()) { QByteArray t=proc_jt9.readLine(); + if(m_mode=="JT65") t=t.left(43) + " " + t.mid(43,-1); //Pad 22-char msg to 37 chars // qint64 ms=QDateTime::currentMSecsSinceEpoch() - m_msec0; bool bAvgMsg=false; int navg=0; @@ -4273,7 +4274,8 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie bool is_73 = message_words.filter (QRegularExpression {"^(73|RR73)$"}).size (); if (!is_73 and !message.isStandardMessage() and !message.string().contains("<")) { - qDebug () << "Not processing message - hiscall:" << hiscall << "hisgrid:" << hisgrid; + qDebug () << "Not processing message - hiscall:" << hiscall << "hisgrid:" << hisgrid + << message.string() << message.isStandardMessage(); return; } From 0579f5f1304d3cefce67ffedbb7452e0bbe1bf5a Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 9 Nov 2018 12:46:02 -0500 Subject: [PATCH 2/2] Correct the auto-seq response to JT65 "OOO" msg. Also, don't permit Auto-seq when transmitting JT65 Sh msgs. --- widgets/mainwindow.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 9835ae9f2..1e8ee427d 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -4385,8 +4385,13 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie gen_msg=setTxMsg(3); m_QSOProgress=ROGER_REPORT; } else { - gen_msg=setTxMsg(2); - m_QSOProgress=REPORT; + if(m_mode=="JT65" and message_words.size()>4 and message_words.at(4)=="OOO") { + gen_msg=setTxMsg(3); + m_QSOProgress=ROGER_REPORT; + } else { + gen_msg=setTxMsg(2); + m_QSOProgress=REPORT; + } } } else if(w34.contains(grid_regexp) and SpecOp::EU_VHF==m_config.special_op_id()) { if(nrpt==0) { @@ -5757,6 +5762,10 @@ void MainWindow::on_actionJT65_triggered() displayWidgets(nWidgets("111010000000111000010000000000001")); } fast_config(false); + if(ui->cbShMsgs->isChecked()) { + ui->cbAutoSeq->setChecked(false); + ui->cbAutoSeq->setVisible(false); + } statusChanged(); } @@ -7060,6 +7069,10 @@ void MainWindow::on_cbShMsgs_toggled(bool b) m_bShMsgs=b; if(b) ui->cbSWL->setChecked(false); if(m_bShMsgs and (m_mode=="MSK144")) ui->rptSpinBox->setValue(1); + if(m_mode=="JT65") { + ui->cbAutoSeq->setVisible(!b); + if(b) ui->cbAutoSeq->setChecked(false); + } int it0=itone[0]; int ntx=m_ntx; m_lastCallsign.clear (); // ensure Tx5 gets updated