diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 2a5a24b29..8e11e1c55 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -118,7 +118,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample) params%nftx,newdat,params%nutc,params%nfa,params%nfb, & params%nzhsym,params%ndepth,ncontest,logical(params%nagain), & logical(params%lft8apon),logical(params%lapcqonly), & - params%napwid,mycall,hiscall,hisgrid,ss(1,1)) + params%napwid,mycall,hiscall,hisgrid,ss(1,1),params%ndiskdat) call timer('decft8 ',1) if(nfox.gt.0) then n30min=minval(n30fox(1:nfox)) diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90 index fd3846db7..3911bab37 100644 --- a/lib/ft8_decode.f90 +++ b/lib/ft8_decode.f90 @@ -34,7 +34,7 @@ contains subroutine decode(this,callback,iwave,nQSOProgress,nfqso,nftx,newdat, & nutc,nfa,nfb,nzhsym,ndepth,ncontest,nagain,lft8apon,lapcqonly, & - napwid,mycall12,hiscall12,hisgrid6,ss0) + napwid,mycall12,hiscall12,hisgrid6,ss0,ldiskdat) use timer_module, only: timer include 'ft8/ft8_params.f90' @@ -47,6 +47,7 @@ contains real dd(15*12000),dd1(15*12000) logical, intent(in) :: lft8apon,lapcqonly,nagain logical newdat,lsubtract,ldupe,lrefinedt + logical*1 ldiskdat logical lsubtracted(MAX_EARLY) character*12 mycall12,hiscall12 character*6 hisgrid6 @@ -88,7 +89,7 @@ contains lrefinedt) lsubtracted(i)=.true. endif - if(nint(ss0).ge.49) then !Bail out before done + if(.not.ldiskdat .and. nint(ss0).ge.49) then !Bail out before done call timer('sub_ft8b',1) go to 700 endif @@ -173,7 +174,8 @@ contains call this%callback(sync,nsnr,xdt,f1,msg37,iaptype,qual) endif endif - if(nzhsym.eq.41 .and. nint(ss0).ge.46) go to 700 !Bail out before done + if(.not.ldiskdat .and. nzhsym.eq.41 .and. & + nint(ss0).ge.46) go to 700 !Bail out before done enddo enddo go to 800 diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index e60f07717..710ee1540 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -2325,6 +2325,11 @@ void MainWindow::createStatusBar() //createStatusBar last_tx_label.setFrameStyle (QFrame::Panel | QFrame::Sunken); statusBar()->addWidget (&last_tx_label); + ndecodes_label.setAlignment (Qt::AlignHCenter); + ndecodes_label.setMinimumSize (QSize {30, 18}); + ndecodes_label.setFrameStyle (QFrame::Panel | QFrame::Sunken); + statusBar()->addWidget (&ndecodes_label); + band_hopping_label.setAlignment (Qt::AlignHCenter); band_hopping_label.setMinimumSize (QSize {90, 18}); band_hopping_label.setFrameStyle (QFrame::Panel | QFrame::Sunken); @@ -3195,8 +3200,9 @@ void MainWindow::readFromStdout() //readFromStdout int navg=0; if(line_read.indexOf("") >= 0) { // qDebug() << "bb" << QDateTime::currentDateTimeUtc().toString("hh:mm:ss.zzz") << line_read; + m_ndecodes=0; if(m_mode=="QRA64") m_wideGraph->drawRed(0,0); - m_bDecoded = line_read.mid(20).trimmed().toInt() > 0; + m_bDecoded = line_read.mid(20).trimmed().toInt() > 0; auto tnow = QDateTime::currentDateTimeUtc (); double tdone = fmod(double(tnow.time().second()),m_TRperiod); int mswait; @@ -3214,6 +3220,8 @@ void MainWindow::readFromStdout() //readFromStdout } return; } else { + m_ndecodes+=1; + ndecodes_label.setText(QString::number(m_ndecodes)); if(m_mode=="JT4" or m_mode=="JT65" or m_mode=="QRA64") { int n=line_read.indexOf("f"); if(n<0) n=line_read.indexOf("d"); diff --git a/widgets/mainwindow.h b/widgets/mainwindow.h index 528abd8cf..9de987906 100644 --- a/widgets/mainwindow.h +++ b/widgets/mainwindow.h @@ -469,6 +469,7 @@ private: qint32 m_kin0=0; qint32 m_earlyDecode=41; qint32 m_earlyDecode2=47; + qint32 m_ndecodes=0; bool m_btxok; //True if OK to transmit bool m_diskData; @@ -559,6 +560,7 @@ private: QLabel last_tx_label; QLabel auto_tx_label; QLabel band_hopping_label; + QLabel ndecodes_label; QProgressBar progressBar; QLabel watchdog_label;