From 5cc82189e63296752bcaee42808442e0cb4db806 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Mon, 1 Jan 2024 13:26:26 -0500 Subject: [PATCH] Clear up some cases where there's no need to call QMAP decoder. --- qmap/libqmap/q65c.f90 | 11 ++++++----- qmap/mainwindow.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/qmap/libqmap/q65c.f90 b/qmap/libqmap/q65c.f90 index 85d8a8b3d..5df4a166e 100644 --- a/qmap/libqmap/q65c.f90 +++ b/qmap/libqmap/q65c.f90 @@ -23,7 +23,7 @@ subroutine q65c(itimer) common/npar/fcenter,nutc,fselected,mousedf,mousefqso,nagain, & ndepth,ndiskdat,ntx60,newdat,nn1,nn2,nfcal,nfshift, & ntx30a,ntx30b,ntol,nxant,nCFOM,nfsample,nxpol,nmode, & - ndop00,nsave,nn3,nn4,max_nhsym,mycall,mygrid,hiscall,hisgrid, & + ndop00,nsave,nn3,nn4,nhsym,mycall,mygrid,hiscall,hisgrid, & datetime,junk1,junk2,bAlso30 equivalence (nparams,fcenter) data first/.true./ @@ -38,13 +38,14 @@ subroutine q65c(itimer) return endif - print*,'A',max_nhsym,ntx30a,ntx30b,ntx60,junk1,junk2,bAlso30 npatience=1 newdat=1 !Always on ?? -! call chkstat(dd,max_nhsym,ntx30a,ntx30b,ntx60,bSkip) - call chkstat(dd,max_nhsym,bSkip) - if(bSkip .and. nagain.eq.0) return + call chkstat(dd,nhsym,bSkip) + if(bSkip .and. nagain.eq.0) then + print*,'A',nhsym,ntx30a,ntx30b,ntx60,junk1,junk2,bAlso30 + return + endif call timer('decode0 ',0) call decode0(dd,ss,savg) diff --git a/qmap/mainwindow.cpp b/qmap/mainwindow.cpp index e1b05789b..b822bd904 100644 --- a/qmap/mainwindow.cpp +++ b/qmap/mainwindow.cpp @@ -788,6 +788,11 @@ void MainWindow::decode() //decode() { if(m_decoderBusy) return; //Don't attempt decode if decoder already busy if(m_nTx60>10) return; //Don't decode if WSJT-X transmitted too much in 60 s mode +//No need to call decoder for first half, if we transmitted in the firsat half: + if((datcom_.nhsym<=200) and (m_nTx30a>5)) return; +//No need to call decoder in second half, if we transmitted in that half: + if((datcom_.nhsym>=330) and (m_nTx30b>5)) return; + QString fname=" "; ui->DecodeButton->setStyleSheet(m_pbdecoding_style1); @@ -816,7 +821,7 @@ void MainWindow::decode() //decode() double uth=nhr + nmin/60.0; int nfreq=(int)datcom_.fcenter; int ndop00=0; - if((datcom_.nCFOM&&1)==0) { + if((datcom_.nCFOM&1)==0) { astrosub00_(&nyear, &month, &nday, &uth, &nfreq, m_myGrid.toLatin1(),&ndop00,6); } datcom_.ndop00=ndop00; //Send self Doppler (or 0, if disk data had CFOM already) to decoder