mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-15 08:31:57 -05:00
Don't display Q65 decodes twice in Messages window (if decoded with nqd=1).
This commit is contained in:
parent
0e07395f2b
commit
51dd025a8b
@ -23,6 +23,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
integer indx(MAXMSG),nsiz(MAXMSG)
|
integer indx(MAXMSG),nsiz(MAXMSG)
|
||||||
logical done(MAXMSG)
|
logical done(MAXMSG)
|
||||||
logical xpol,bq65,first_loop
|
logical xpol,bq65,first_loop
|
||||||
|
logical candec(MAX_CANDIDATES)
|
||||||
character decoded*22,blank*22,cmode*2
|
character decoded*22,blank*22,cmode*2
|
||||||
real short(3,NFFT) !SNR dt ipol for potential shorthands
|
real short(3,NFFT) !SNR dt ipol for potential shorthands
|
||||||
real qphi(12)
|
real qphi(12)
|
||||||
@ -48,6 +49,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
call timer('get_cand',0)
|
call timer('get_cand',0)
|
||||||
call get_candidates(ss,savg,mfa,mfb,nts_jt65,nts_q65,cand,ncand)
|
call get_candidates(ss,savg,mfa,mfb,nts_jt65,nts_q65,cand,ncand)
|
||||||
call timer('get_cand',1)
|
call timer('get_cand',1)
|
||||||
|
candec=.false.
|
||||||
endif
|
endif
|
||||||
!###
|
!###
|
||||||
! do k=1,ncand
|
! do k=1,ncand
|
||||||
@ -355,17 +357,18 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
endif
|
endif
|
||||||
enddo ! k=1,km
|
enddo ! k=1,km
|
||||||
|
|
||||||
do n=1,ncand
|
do icand=1,ncand
|
||||||
if(cand(n)%iflip.ne.0) cycle
|
if(cand(icand)%iflip.ne.0) cycle
|
||||||
freq=cand(n)%f+nkhz_center-48.0-1.27046
|
freq=cand(icand)%f+nkhz_center-48.0-1.27046
|
||||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
||||||
ikhz=nint(freq)
|
ikhz=nint(freq)
|
||||||
! write(*,3201) nqd,freq,mousefqso,mousedf,ntol,mycall,hiscall,hisgrid
|
! write(*,3201) nqd,freq,mousefqso,mousedf,ntol,mycall,hiscall,hisgrid
|
||||||
!3201 format('=A',i3,f10.3,3i5,2a12,a6)
|
!3201 format('=A',i3,f10.3,3i5,2a12,a6)
|
||||||
call timer('q65b ',0)
|
call timer('q65b ',0)
|
||||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
|
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
|
||||||
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65)
|
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65,idec)
|
||||||
call timer('q65b ',1)
|
call timer('q65b ',1)
|
||||||
|
if(idec.ge.0) candec(icand)=.true.
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
if(nwrite.eq.0 .and. nwrite_q65.eq.0) then
|
if(nwrite.eq.0 .and. nwrite_q65.eq.0) then
|
||||||
@ -380,7 +383,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if(ndphi.eq.1 .and.iloop.eq.12) call getdphi(qphi)
|
if(ndphi.eq.1 .and.iloop.eq.12) call getdphi(qphi)
|
||||||
if(nqd.ge.1) then
|
if(nqd.eq.1) then
|
||||||
write(*,1013) nsum,nsave
|
write(*,1013) nsum,nsave
|
||||||
1013 format('<QuickDecodeDone>',2i4)
|
1013 format('<QuickDecodeDone>',2i4)
|
||||||
flush(6)
|
flush(6)
|
||||||
@ -388,18 +391,20 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
|||||||
if(nqd.eq.1 .and. nagain.eq.1) go to 900
|
if(nqd.eq.1 .and. nagain.eq.1) go to 900
|
||||||
|
|
||||||
if(nqd.eq.0) then
|
if(nqd.eq.0) then
|
||||||
do n=1,ncand
|
do icand=1,ncand
|
||||||
if(cand(n)%iflip.ne.0) cycle
|
if(cand(icand)%iflip.ne.0) cycle
|
||||||
freq=cand(n)%f+nkhz_center-48.0-1.27046
|
if(candec(icand)) cycle
|
||||||
|
freq=cand(icand)%f+nkhz_center-48.0-1.27046
|
||||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
||||||
ikhz=nint(freq)
|
ikhz=nint(freq)
|
||||||
! write(*,3202) nqd,freq,mousefqso,mousedf,ntol
|
! write(*,3202) nqd,freq,mousefqso,mousedf,ntol
|
||||||
!3202 format('=B',i3,f10.3,3i5)
|
!3202 format('=B',i3,f10.3,3i5)
|
||||||
call timer('q65b ',0)
|
call timer('q65b ',0)
|
||||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
|
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
|
||||||
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65)
|
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65,idec)
|
||||||
call timer('q65b ',1)
|
call timer('q65b ',1)
|
||||||
enddo
|
if(idec.ge.0) candec(icand)=.true.
|
||||||
|
enddo ! icand
|
||||||
endif
|
endif
|
||||||
|
|
||||||
enddo ! nqd
|
enddo ! nqd
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
||||||
mycall0,hiscall0,hisgrid,mode_q65)
|
mycall0,hiscall0,hisgrid,mode_q65,idec)
|
||||||
|
|
||||||
! This routine provides an interface between MAP65 and the Q65 decoder
|
! This routine provides an interface between MAP65 and the Q65 decoder
|
||||||
! in WSJT-X. All arguments are input data obtained from the MAP65 GUI.
|
! in WSJT-X. All arguments are input data obtained from the MAP65 GUI.
|
||||||
@ -162,6 +162,8 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
|||||||
900 close(13)
|
900 close(13)
|
||||||
close(17)
|
close(17)
|
||||||
call flush(6)
|
call flush(6)
|
||||||
|
idec=-1
|
||||||
|
read(cq0(2:2),*) idec
|
||||||
|
|
||||||
return
|
return
|
||||||
end subroutine q65b
|
end subroutine q65b
|
||||||
|
@ -16,7 +16,7 @@ module wideband_sync
|
|||||||
end type sync_dat
|
end type sync_dat
|
||||||
|
|
||||||
parameter (NFFT=32768)
|
parameter (NFFT=32768)
|
||||||
parameter (MAX_CANDIDATES=20)
|
parameter (MAX_CANDIDATES=50)
|
||||||
type(sync_dat) :: sync(NFFT)
|
type(sync_dat) :: sync(NFFT)
|
||||||
integer nkhz_center
|
integer nkhz_center
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user