diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 21b11e2f9..279113e8f 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -235,8 +235,8 @@ contains else ctail=' ' if(naggressive.gt.0 .and. ft.gt.0) then - ctail(1:1)='~' - if(ft.eq.1) ctail(1:1)='*' + ctail(1:1)='h' + if(ft.eq.1) ctail(1:1)='f' ctail(2:2)=c(nsum+1:nsum+1) if(nsubmode.gt.0) ctail(3:3)=c(nsmo+1:nsmo+1) endif diff --git a/lib/extract.f90 b/lib/extract.f90 index ab8f9f372..6bb8f44b5 100644 --- a/lib/extract.f90 +++ b/lib/extract.f90 @@ -90,7 +90,7 @@ subroutine extract(s3,nadd,mode65,ntrials,naggressive,ndepth,mycall_12, & endif if(ntotal.le.nd0 .and. rtt.le.r0) nft=1 - if(nft.eq.0 .and. ndepth.ge.5) then + if(nft.eq.0 .and. (ndepth.ge.5 .or. iand(nexp_decode,31).ne.0)) then flip=1.0 qmin=1.0 call timer('hint65 ',0) diff --git a/mainwindow.cpp b/mainwindow.cpp index 830fde556..325a54092 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1158,6 +1158,13 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog { Q_EMIT m_config.transceiver_frequency (m_dialFreq); } + if(m_config.single_decode() or m_mode=="JT4") { + ui->label_6->setText("Single-Period Decodes"); + ui->label_7->setText("Average Decodes"); + } else { + ui->label_6->setText("Band Activity"); + ui->label_7->setText("Rx Frequency"); + } } void MainWindow::on_monitorButton_clicked (bool checked) @@ -1999,8 +2006,20 @@ void MainWindow::readFromStdout() //readFromStdout { while(proc_jt9.canReadLine()) { QByteArray t=proc_jt9.readLine(); - bool baveJT4msg=(t.length()>49); - if(m_mode=="JT4") t=t.mid(0,39) + t.mid(42,t.length()-42); + bool bAvgMsg=false; + int navg=0; + if(m_mode=="JT4") { + t=t.mid(0,39) + t.mid(42,t.length()-42); + bAvgMsg=(t.length()>49); + } + if(m_mode=="JT65") { + int n=t.indexOf("f"); + if(n<0) n=t.indexOf("h"); + if(n>0) { + navg=t.mid(n+1,1).toInt(); + if(navg>1) bAvgMsg=true; + } + } if(t.indexOf("") >= 0) { m_bDecoded = (t.mid(23,1).toInt()==1); if(!m_diskData) killFileTimer->start (3*1000*m_TRperiod/4); //Kill in 45 s @@ -2045,7 +2064,7 @@ void MainWindow::readFromStdout() //readFromStdout decodedtext = t.replace("\n",""); //t.replace("\n","").mid(0,t.length()-4); //Left (Band activity) window - if(!baveJT4msg) { + if(!bAvgMsg) { ui->decodedTextBrowser->displayDecodedText (decodedtext , m_baseCall , m_config.DXCC () @@ -2057,8 +2076,10 @@ void MainWindow::readFromStdout() //readFromStdout } //Right (Rx Frequency) window - if (((abs(decodedtext.frequencyOffset() - m_wideGraph->rxFreq()) <= 10) and - m_mode!="JT4") or baveJT4msg) { + bool bDisplayRight=bAvgMsg; + if(!m_config.single_decode() and m_mode!="JT4" and + (abs(decodedtext.frequencyOffset() - m_wideGraph->rxFreq()) <= 10)) bDisplayRight=true; + if (bDisplayRight) { // This msg is within 10 hertz of our tuned frequency, or a JT4 avg ui->decodedTextBrowser2->displayDecodedText(decodedtext , m_baseCall @@ -3613,8 +3634,13 @@ void MainWindow::on_actionJT65_triggered() ui->sbSubmode->setValue(0); ui->sbTR->setValue(0); } - ui->label_6->setText("Band Activity"); - ui->label_7->setText("Rx Frequency"); + if(m_config.single_decode()) { + ui->label_6->setText("Single-Period Decodes"); + ui->label_7->setText("Average Decodes"); + } else { + ui->label_6->setText("Band Activity"); + ui->label_7->setText("Rx Frequency"); + } } void MainWindow::on_actionJT9_JT65_triggered()