Add a dummy fst280 decoder.

This commit is contained in:
Joe Taylor 2020-06-17 11:50:28 -04:00
parent af9f7b21c0
commit 81c0548919
2 changed files with 64 additions and 1 deletions

View File

@ -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

60
lib/fst280_decode.f90 Normal file
View File

@ -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