From 81c05489194a0b1926c8edd78029b62f72661b4b Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 17 Jun 2020 11:50:28 -0400 Subject: [PATCH] Add a dummy fst280 decoder. --- lib/decoder.f90 | 5 +++- lib/fst280_decode.f90 | 60 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 lib/fst280_decode.f90 diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 61ff4163d..795444972 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -189,7 +189,10 @@ subroutine multimode_decoder(ss,id2,params,nfsample) if(params%nmode.eq.280) then ! We're in FST280/FST280W mode - print*,'FST280/FST280W' + call timer('decfst28',0) + call my_fst280%decode(fst280_decoded,id2,params%nQSOProgress, & + params%nfqso,params%nfa,params%nfb,params%ndepth) + call timer('decfst28',1) go to 800 endif diff --git a/lib/fst280_decode.f90 b/lib/fst280_decode.f90 new file mode 100644 index 000000000..2bdd86861 --- /dev/null +++ b/lib/fst280_decode.f90 @@ -0,0 +1,60 @@ +module fst280_decode + + type :: fst280_decoder + procedure(fst280_decode_callback), pointer :: callback + contains + procedure :: decode + end type fst280_decoder + + abstract interface + subroutine fst280_decode_callback (this,sync,snr,dt,freq,decoded,nap,qual) + import fst280_decoder + implicit none + class(fst280_decoder), intent(inout) :: this + real, intent(in) :: sync + integer, intent(in) :: snr + real, intent(in) :: dt + real, intent(in) :: freq + character(len=37), intent(in) :: decoded + integer, intent(in) :: nap + real, intent(in) :: qual + end subroutine fst280_decode_callback + end interface + +contains + + subroutine decode(this,callback,iwave,nQSOProgress,nfqso, & + nfa,nfb,ndepth) + + use timer_module, only: timer + use packjt77 + include 'fst280/fst280_params.f90' + parameter (MAXCAND=100) + class(fst280_decoder), intent(inout) :: this + character*37 msg + character*120 data_dir + character*77 c77 + character*1 tr_designator + complex, allocatable :: c2(:) + complex, allocatable :: cframe(:) + complex, allocatable :: c_bigfft(:) !Complex waveform + real, allocatable :: r_data(:) + real*8 fMHz + real llr(280),llra(280),llrb(280),llrc(280),llrd(280) + real candidates(100,3) + real bitmetrics(328,4) + integer ihdr(11) + integer*1 apmask(280),cw(280) + integer*1 hbits(328) + integer*1 message101(101),message74(74) + logical badsync,unpk77_success + integer*2 iwave(300*12000) + + write(*,3001) nQSOProgress,nfqso,nfa,nfb,ndepth +3001 format('aaa',5i5) + + + + end subroutine decode + +end module fst280_decode