From 09af56b32ce98546c2c4ac2fc3e9c0f35dc301e0 Mon Sep 17 00:00:00 2001
From: Joe Taylor <k1jt@arrl.org>
Date: Sun, 18 Jun 2017 12:26:41 +0000
Subject: [PATCH] Add a bare framework for ft8_decode.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7728 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
---
 lib/ft8_decode.f90 | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 lib/ft8_decode.f90

diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90
new file mode 100644
index 000000000..b233c2664
--- /dev/null
+++ b/lib/ft8_decode.f90
@@ -0,0 +1,41 @@
+module ft8_decode
+
+  type :: ft8_decoder
+     procedure(ft8_decode_callback), pointer :: callback
+   contains
+     procedure :: decode
+  end type ft8_decoder
+
+  abstract interface
+     subroutine ft8_decode_callback (this, sync, snr, dt, freq, drift, &
+          decoded)
+       import ft8_decoder
+       implicit none
+       class(ft8_decoder), intent(inout) :: this
+       real, intent(in) :: sync
+       integer, intent(in) :: snr
+       real, intent(in) :: dt
+       real, intent(in) :: freq
+       integer, intent(in) :: drift
+       character(len=22), intent(in) :: decoded
+     end subroutine ft8_decode_callback
+  end interface
+
+contains
+
+  subroutine decode(this,callback,ss,id2,nfqso,newdat,npts8,nfa,    &
+       nfsplit,nfb,ntol,nzhsym,nagain,ndepth,nmode,nsubmode,nexp_decode)
+    use timer_module, only: timer
+
+    include 'constants.f90'
+    class(ft8_decoder), intent(inout) :: this
+    procedure(ft8_decode_callback) :: callback
+    real ss(184,NSMAX)
+    logical, intent(in) :: newdat, nagain
+    integer*2 id2(NTMAX*12000)
+
+    print*,'A',nfqso,npts8,nfa,nfsplit,nfb,ntol,nzhsym,ndepth
+    
+    return
+  end subroutine decode
+end module ft8_decode