mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-30 13:22:26 -04:00
Save f0 and msg for the most recent 100 decodes. Subsequent double-click on waterfall will look up "hiscall" (and possibly "hisgrid") from the list.
This commit is contained in:
parent
d2b4fdad5f
commit
ac2954ed0d
@ -98,6 +98,10 @@ contains
|
|||||||
allocate (c00(0:nfft1-1))
|
allocate (c00(0:nfft1-1))
|
||||||
allocate (c0(0:nfft1-1))
|
allocate (c0(0:nfft1-1))
|
||||||
|
|
||||||
|
if(lagain) then
|
||||||
|
call q65_hist(nfqso,dxcall=hiscall,dxgrid=hisgrid)
|
||||||
|
endif
|
||||||
|
|
||||||
nsps=1800
|
nsps=1800
|
||||||
if(ntrperiod.eq.30) then
|
if(ntrperiod.eq.30) then
|
||||||
nsps=3600
|
nsps=3600
|
||||||
@ -235,7 +239,7 @@ contains
|
|||||||
nsnr=nint(snr2)
|
nsnr=nint(snr2)
|
||||||
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
||||||
idec,nused,ntrperiod)
|
idec,nused,ntrperiod)
|
||||||
! if(iand(ndepth,128).ne.0) call q65_clravg !AutoClrAvg after decode
|
call q65_hist(nint(f0dec),msg0=decoded)
|
||||||
if(iand(ndepth,128).ne.0 .and. .not.lagain .and. &
|
if(iand(ndepth,128).ne.0 .and. .not.lagain .and. &
|
||||||
int(abs(f0dec-nfqso)).le.ntol ) call q65_clravg !AutoClrAvg
|
int(abs(f0dec-nfqso)).le.ntol ) call q65_clravg !AutoClrAvg
|
||||||
call sec0(1,tdecode)
|
call sec0(1,tdecode)
|
||||||
@ -312,7 +316,7 @@ contains
|
|||||||
nsnr=nint(snr2)
|
nsnr=nint(snr2)
|
||||||
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded, &
|
||||||
idec,nused,ntrperiod)
|
idec,nused,ntrperiod)
|
||||||
! if(iand(ndepth,128).ne.0) call q65_clravg !AutoClrAvg after decode
|
call q65_hist(nint(f0dec),msg0=decoded)
|
||||||
if(iand(ndepth,128).ne.0 .and. .not.lagain .and. &
|
if(iand(ndepth,128).ne.0 .and. .not.lagain .and. &
|
||||||
int(abs(f0dec-nfqso)).le.ntol ) call q65_clravg !AutoClrAvg
|
int(abs(f0dec-nfqso)).le.ntol ) call q65_clravg !AutoClrAvg
|
||||||
call sec0(1,tdecode)
|
call sec0(1,tdecode)
|
||||||
|
@ -701,4 +701,50 @@ subroutine q65_snr(dat4,dtdec,f0dec,mode_q65,nused,snr2)
|
|||||||
return
|
return
|
||||||
end subroutine q65_snr
|
end subroutine q65_snr
|
||||||
|
|
||||||
|
subroutine q65_hist(if0,msg0,dxcall,dxgrid)
|
||||||
|
|
||||||
|
parameter (MAXHIST=100)
|
||||||
|
integer,intent(in) :: if0
|
||||||
|
character(len=37),intent(in),optional :: msg0
|
||||||
|
character(len=12),intent(out),optional :: dxcall
|
||||||
|
character(len=6),intent(out),optional :: dxgrid
|
||||||
|
character*6 g1
|
||||||
|
character*37 msg(MAXHIST)
|
||||||
|
integer nf0(MAXHIST)
|
||||||
|
logical isgrid
|
||||||
|
data nhist/0/
|
||||||
|
save nhist,nf0,msg
|
||||||
|
|
||||||
|
isgrid(g1)=g1(1:1).ge.'A' .and. g1(1:1).le.'R' .and. g1(2:2).ge.'A' .and. &
|
||||||
|
g1(2:2).le.'R' .and. g1(3:3).ge.'0' .and. g1(3:3).le.'9' .and. &
|
||||||
|
g1(4:4).ge.'0' .and. g1(4:4).le.'9' .and. g1(1:4).ne.'RR73'
|
||||||
|
|
||||||
|
if(present(dxcall)) go to 100
|
||||||
|
|
||||||
|
if(nhist.eq.MAXHIST) then
|
||||||
|
nf0(1:MAXHIST-1)=nf0(2:MAXHIST)
|
||||||
|
msg(1:MAXHIST-1)=msg(2:MAXHIST)
|
||||||
|
nhist=MAXHIST-1
|
||||||
|
endif
|
||||||
|
nhist=nhist+1
|
||||||
|
nf0(nhist)=if0
|
||||||
|
msg(nhist)=msg0
|
||||||
|
go to 900
|
||||||
|
|
||||||
|
100 dxcall=' '
|
||||||
|
dxgrid=' '
|
||||||
|
do i=1,nhist
|
||||||
|
if(abs(nf0(i)-if0).gt.10) cycle
|
||||||
|
i1=index(msg(i),' ')
|
||||||
|
if(i1.ge.4 .and. i1.le.13) then
|
||||||
|
i2=index(msg(i)(i1+1:),' ') + i1
|
||||||
|
dxcall=msg(i)(i1+1:i2-1)
|
||||||
|
g1=msg(i)(i2+1:i2+4)
|
||||||
|
if(isgrid(g1)) dxgrid=g1(1:4)
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
|
||||||
|
900 return
|
||||||
|
end subroutine q65_hist
|
||||||
|
|
||||||
end module q65
|
end module q65
|
||||||
|
Loading…
x
Reference in New Issue
Block a user