Install a basic framework for handling FST240W decodes.

This commit is contained in:
Joe Taylor 2020-06-30 15:11:36 -04:00
parent 53e7941c7c
commit d7448347e5
2 changed files with 13 additions and 9 deletions

View File

@ -194,7 +194,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
params%nQSOProgress,params%nfqso,params%nfa,params%nfb, & params%nQSOProgress,params%nfqso,params%nfa,params%nfb, &
params%nsubmode,params%ndepth,params%ntr,params%nexp_decode, & params%nsubmode,params%ndepth,params%ntr,params%nexp_decode, &
params%ntol,params%nzhsym,params%emedelay, & params%ntol,params%nzhsym,params%emedelay, &
logical(params%lapcqonly),params%napwid,mycall,hiscall) logical(params%lapcqonly),params%napwid,mycall,hiscall, &
params%nfsplit,iwspr)
call timer('dec240 ',1) call timer('dec240 ',1)
go to 800 go to 800
endif endif
@ -681,7 +682,7 @@ contains
end subroutine ft4_decoded end subroutine ft4_decoded
subroutine fst240_decoded (this,nutc,sync,nsnr,dt,freq,decoded,nap, & subroutine fst240_decoded (this,nutc,sync,nsnr,dt,freq,decoded,nap, &
qual,ntrperiod) qual,ntrperiod,lwspr)
use fst240_decode use fst240_decode
implicit none implicit none
@ -696,6 +697,8 @@ contains
integer, intent(in) :: nap integer, intent(in) :: nap
real, intent(in) :: qual real, intent(in) :: qual
integer, intent(in) :: ntrperiod integer, intent(in) :: ntrperiod
logical, intent(in) :: lwspr
character*2 annot character*2 annot
character*37 decoded0 character*37 decoded0

View File

@ -8,7 +8,7 @@ module fst240_decode
abstract interface abstract interface
subroutine fst240_decode_callback (this,nutc,sync,nsnr,dt,freq, & subroutine fst240_decode_callback (this,nutc,sync,nsnr,dt,freq, &
decoded,nap,qual,ntrperiod) decoded,nap,qual,ntrperiod,lwspr)
import fst240_decoder import fst240_decoder
implicit none implicit none
class(fst240_decoder), intent(inout) :: this class(fst240_decoder), intent(inout) :: this
@ -21,6 +21,7 @@ module fst240_decode
integer, intent(in) :: nap integer, intent(in) :: nap
real, intent(in) :: qual real, intent(in) :: qual
integer, intent(in) :: ntrperiod integer, intent(in) :: ntrperiod
logical, intent(in) :: lwspr
end subroutine fst240_decode_callback end subroutine fst240_decode_callback
end interface end interface
@ -28,7 +29,7 @@ contains
subroutine decode(this,callback,iwave,nutc,nQSOProgress,nfqso, & subroutine decode(this,callback,iwave,nutc,nQSOProgress,nfqso, &
nfa,nfb,nsubmode,ndeep,ntrperiod,nexp_decode,ntol,nzhsym, & nfa,nfb,nsubmode,ndeep,ntrperiod,nexp_decode,ntol,nzhsym, &
emedelay,lapcqonly,napwid,mycall,hiscall) emedelay,lapcqonly,napwid,mycall,hiscall,nfsplit,iwspr)
use timer_module, only: timer use timer_module, only: timer
use packjt77 use packjt77
@ -62,7 +63,7 @@ contains
integer mcq(29),mrrr(19),m73(19),mrr73(19) integer mcq(29),mrrr(19),m73(19),mrr73(19)
logical badsync,unpk77_success,single_decode logical badsync,unpk77_success,single_decode
logical first,nohiscall logical first,nohiscall,lwspr
integer*2 iwave(300*12000) integer*2 iwave(300*12000)
@ -503,10 +504,10 @@ contains
nsnr=nint(xsnr) nsnr=nint(xsnr)
qual=0. qual=0.
fsig=fc_synced - 1.5*hmod*baud fsig=fc_synced - 1.5*hmod*baud
write(21,'(i6,7i6,f7.1,f9.2,3f7.1,1x,a37)') & !write(21,'(i6,7i6,f7.1,f9.2,3f7.1,1x,a37)') &
nutc,icand,itry,iaptype,ijitter,ntype,nsync_qual,nharderrors,dmin,sync,xsnr,xdt,fsig,msg ! nutc,icand,itry,iaptype,ijitter,ntype,nsync_qual,nharderrors,dmin,sync,xsnr,x!dt,fsig,msg
call this%callback(nutc,smax1,nsnr,xdt,fsig,msg, & call this%callback(nutc,smax1,nsnr,xdt,fsig,msg, &
iaptype,qual,ntrperiod) iaptype,qual,ntrperiod,lwspr)
goto 2002 goto 2002
else else
cycle cycle