mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-06-25 06:35:17 -04:00
Revert to displaying Nico's return code with QRA64 messages. Suppress a few false decodes that cannot be correct messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7342 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
5da4ae6363
commit
f9a078dd8b
@ -308,6 +308,7 @@ set (wsjt_FSRCS
|
|||||||
lib/avecho.f90
|
lib/avecho.f90
|
||||||
lib/averms.f90
|
lib/averms.f90
|
||||||
lib/azdist.f90
|
lib/azdist.f90
|
||||||
|
lib/badmsg.f90
|
||||||
lib/bpdecode40.f90
|
lib/bpdecode40.f90
|
||||||
lib/bpdecode144.f90
|
lib/bpdecode144.f90
|
||||||
lib/baddata.f90
|
lib/baddata.f90
|
||||||
|
25
lib/badmsg.f90
Normal file
25
lib/badmsg.f90
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
subroutine badmsg(irc,dat,nc1,nc2,ng2)
|
||||||
|
|
||||||
|
! Get rid of a few QRA64 false decodes that cannot be correct messages.
|
||||||
|
|
||||||
|
integer dat(12) !Decoded message (as 12 integers)
|
||||||
|
|
||||||
|
ic1=ishft(dat(1),22) + ishft(dat(2),16) + ishft(dat(3),10)+ &
|
||||||
|
ishft(dat(4),4) + iand(ishft(dat(5),-2),15)
|
||||||
|
|
||||||
|
! Test for "......" or "CQ 000"
|
||||||
|
if(ic1.eq.262177560 .or. ic1.eq.262177563) then
|
||||||
|
irc=-1
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
ic2=ishft(iand(dat(5),3),26) + ishft(dat(6),20) + &
|
||||||
|
ishft(dat(7),14) + ishft(dat(8),8) + ishft(dat(9),2) + &
|
||||||
|
iand(ishft(dat(10),-4),3)
|
||||||
|
|
||||||
|
ig=ishft(iand(dat(10),15),12) + ishft(dat(11),6) + dat(12)
|
||||||
|
|
||||||
|
if(ic1.eq.nc1 .and. ic2.eq.nc2 .and. ng.ne.32401 .and. ig.ne.ng) irc=-1
|
||||||
|
|
||||||
|
return
|
||||||
|
end subroutine badmsg
|
@ -236,10 +236,9 @@ contains
|
|||||||
integer, intent(in) :: nsum
|
integer, intent(in) :: nsum
|
||||||
integer, intent(in) :: minsync
|
integer, intent(in) :: minsync
|
||||||
|
|
||||||
integer i,nft,iirc,nap(-1:11)
|
integer i,nft
|
||||||
logical is_deep,is_average
|
logical is_deep,is_average
|
||||||
character decoded*22,csync*2,cflags*3
|
character decoded*22,csync*2,cflags*3
|
||||||
data nap/-1,0,2,3,2,3,4,2,3,6,4,6,6/
|
|
||||||
|
|
||||||
if(width.eq.-9999.0) stop !Silence compiler warning
|
if(width.eq.-9999.0) stop !Silence compiler warning
|
||||||
!$omp critical(decode_results)
|
!$omp critical(decode_results)
|
||||||
@ -249,17 +248,16 @@ contains
|
|||||||
|
|
||||||
if(ft.ge.80) then !QRA64 mode
|
if(ft.ge.80) then !QRA64 mode
|
||||||
nft=ft-100
|
nft=ft-100
|
||||||
iirc=max(-1,min(nft,11))
|
|
||||||
csync=': '
|
csync=': '
|
||||||
if(sync.ge.float(minsync) .or. nft.ge.0) csync=':*'
|
if(sync.ge.float(minsync) .or. nft.ge.0) csync=':*'
|
||||||
if(nft.lt.0) then
|
if(nft.lt.0) then
|
||||||
write(*,1009) params%nutc,snr,dt,freq,csync,decoded
|
write(*,1009) params%nutc,snr,dt,freq,csync,decoded
|
||||||
else
|
else
|
||||||
write(*,1009) params%nutc,snr,dt,freq,csync,decoded,nap(iirc),nft
|
write(*,1009) params%nutc,snr,dt,freq,csync,decoded,nft
|
||||||
1009 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,i2,i3)
|
1009 format(i4.4,i4,f5.1,i5,1x,a2,1x,a22,i2)
|
||||||
endif
|
endif
|
||||||
write(13,1011) params%nutc,nint(sync),snr,dt,float(freq),drift, &
|
write(13,1011) params%nutc,nint(sync),snr,dt,float(freq),drift, &
|
||||||
decoded,nap(iirc),nft
|
decoded,nft
|
||||||
1011 format(i4.4,i4,i5,f6.2,f8.0,i4,3x,a22,' QRA64',i3)
|
1011 format(i4.4,i4,i5,f6.2,f8.0,i4,3x,a22,' QRA64',i3)
|
||||||
go to 100
|
go to 100
|
||||||
endif
|
endif
|
||||||
|
@ -96,6 +96,7 @@ subroutine qra64a(dd,npts,nutc,nf1,nf2,nfqso,ntol,mode64,minsync,ndepth, &
|
|||||||
call timer('qra64_de',1)
|
call timer('qra64_de',1)
|
||||||
if(abs(snr2).gt.30.) snr2=-30.0
|
if(abs(snr2).gt.30.) snr2=-30.0
|
||||||
if(irc.eq.0) go to 10
|
if(irc.eq.0) go to 10
|
||||||
|
if(irc.gt.0) call badmsg(irc,dat4,nc1,nc2,ng2)
|
||||||
if(irc.lt.0) cycle
|
if(irc.lt.0) cycle
|
||||||
iirc=max(0,min(irc,11))
|
iirc=max(0,min(irc,11))
|
||||||
if(irc.gt.0 .and. nap(iirc).le.napmin) then
|
if(irc.gt.0 .and. nap(iirc).le.napmin) then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user