From 8a899d000e751eac719feef9efc0fb9b45329634 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 16 Jan 2024 11:46:36 -0500 Subject: [PATCH] Correct QMAP's dupe-checking behavior for manual decodes. --- qmap/libqmap/q65b.f90 | 14 +++++++------- qmap/libqmap/qmapa.f90 | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/qmap/libqmap/q65b.f90 b/qmap/libqmap/q65b.f90 index 5fcd9ba7f..944c0c927 100644 --- a/qmap/libqmap/q65b.f90 +++ b/qmap/libqmap/q65b.f90 @@ -1,7 +1,7 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, & ntrperiod,iseq,mycall0,hiscall0,hisgrid,mode_q65,f0,fqso,nkhz_center, & newdat,nagain,bClickDecode,max_drift,offset,ndepth,datetime,nCFOM, & - ndop00,idec) + ndop00,nhsym,idec) ! This routine provides an interface between QMAP and the Q65 decoder ! in WSJT-X. All arguments are input data obtained from the QMAP GUI. @@ -116,12 +116,12 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, & if(nsnr0.gt.-99) then - if(.not.bClickDecode) then - do i=1,ndecodes !Check for dupes - i1=index(result(i)(42:),trim(msg0)) - if(i1.gt.0) go to 800 !This is a dupe, don't save it again - enddo - endif + do i=1,ndecodes !Check for dupes + i1=index(result(i)(42:),trim(msg0)) + if(bClickDecode) print*,'C',i,i1,result(i)(42:),trim(msg0) +! If this is a dupe, don't save it again: + if(i1.gt.0 .and. (.not.bClickDecode .or. nhsym.eq.390)) go to 800 + enddo nq65df=nint(1000*(0.001*k0*df+nkhz_center-48.0+1.000-1.27046-ikhz))-nfcal nq65df=nq65df + nfreq0 - 1000 diff --git a/qmap/libqmap/qmapa.f90 b/qmap/libqmap/qmapa.f90 index 32c49f39a..b70302793 100644 --- a/qmap/libqmap/qmapa.f90 +++ b/qmap/libqmap/qmapa.f90 @@ -74,7 +74,7 @@ subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, & call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, & ntrperiod,iseq,mycall,hiscall,hisgrid,mode_q65_tmp,f0,fqso, & nkhz_center,newdat,nagain2,bClickDecode,max_drift,offset, & - ndepth,datetime,nCFOM,ndop00,idec) + ndepth,datetime,nCFOM,ndop00,nhsym,idec) call timer('q65b ',1) tsec=sec_midn() - tsec0 ! Don't start another decode attempt if it's too late...