More informative end-of-line annotation for AP decodes.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7935 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2017-07-22 17:12:48 +00:00
parent b924a81f80
commit d06912a075
2 changed files with 23 additions and 10 deletions

View File

@ -390,7 +390,7 @@ contains
end select
end subroutine jt9_decoded
subroutine ft8_decoded (this,sync,snr,dt,freq,iap,iera,decoded)
subroutine ft8_decoded (this,sync,snr,dt,freq,decoded,nap,qual)
use ft8_decode
implicit none
@ -399,12 +399,18 @@ contains
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
integer, intent(in) :: iap
integer, intent(in) :: iera
character(len=22), intent(in) :: decoded
write(*,1000) params%nutc,snr,dt,nint(freq),decoded,iap,iera
1000 format(i6.6,i4,f5.1,i5,' ~ ',1x,a22,2x,i2,i2)
integer, intent(in) :: nap
real, intent(in) :: qual
character*3 annot
annot=' '
if(nap.ne.0) then
if(qual.ge.0.17) write(annot,'(a1,i1,a1)') 'a',nap,' '
if(qual.lt.0.17) write(annot,'(a1,i1,a1)') 'a',nap,'?'
endif
write(*,1000) params%nutc,snr,dt,nint(freq),decoded,annot
1000 format(i6.6,i4,f5.1,i5,' ~ ',1x,a22,3x,a3)
write(13,1002) params%nutc,nint(sync),snr,dt,freq,0,decoded
1002 format(i6.6,i4,i5,f6.1,f8.0,i4,3x,a22,' FT8')
call flush(6)

View File

@ -7,7 +7,7 @@ module ft8_decode
end type ft8_decoder
abstract interface
subroutine ft8_decode_callback (this,sync,snr,dt,freq,iap,iera,decoded)
subroutine ft8_decode_callback (this,sync,snr,dt,freq,decoded,nap,qual)
import ft8_decoder
implicit none
class(ft8_decoder), intent(inout) :: this
@ -15,9 +15,9 @@ module ft8_decode
integer, intent(in) :: snr
real, intent(in) :: dt
real, intent(in) :: freq
integer, intent(in) :: iap
integer, intent(in) :: iera
character(len=22), intent(in) :: decoded
integer, intent(in) :: nap
real, intent(in) :: qual
end subroutine ft8_decode_callback
end interface
@ -107,7 +107,14 @@ contains
! xdt,nint(f1),message
! flush(81)
if(.not.ldupe .and. associated(this%callback)) then
call this%callback(sync,nsnr,xdt,f1,iap,iera,message)
! nap: 0=no ap, 1=CQ; 2=MyCall; 3=DxCall; 4=MyCall,DxCall
if(iap.eq.0) then
nap=0
else
nap=(iaptype-1)*2+iap
endif
qual=1.0-(nharderrors+dmin)/60.0 ! scale qual to [0.0,1.0]
call this%callback(sync,nsnr,xdt,f1,message,nap,qual)
endif
else
write(19,1004) nutc,ncand,icand,ipass,iaptype,iap,iera, &