Fixed up the state-machine fine tuning. Some diagnostic stuff remains.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@504 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2007-07-13 15:47:35 +00:00
parent ba276e2b71
commit 6d516c008f
4 changed files with 25 additions and 9 deletions

View File

@ -15,7 +15,7 @@ subroutine decode1(iarg)
include 'gcom2.f90' include 'gcom2.f90'
include 'gcom3.f90' include 'gcom3.f90'
include 'gcom4.f90' include 'gcom4.f90'
data kbuf0/0/
data sending0/' '/ data sending0/' '/
save save
@ -33,8 +33,12 @@ subroutine decode1(iarg)
newdat=1 newdat=1
endif endif
if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kk-kkdone).gt.32768)) & if(kbuf.ne.kbuf0) kkdone=0
call symspec(id,kbuf,kk,kkdone,nutc,t00,newdat) kbuf0=kbuf
kkk=kk
if(kbuf.eq.2) kkk=kk-5760000
if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kkk-kkdone).gt.32768)) &
call symspec(id,kbuf,kk,kkdone,nutc,newdat)
if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then
ndecdone=0 ndecdone=0

View File

@ -1,4 +1,4 @@
#--------------------------------------------------------------------- MAP65 #-------------------------------------------------------------------- MAP65
# $Date$ $Revision$ # $Date$ $Revision$
# #
from Tkinter import * from Tkinter import *

View File

@ -64,6 +64,8 @@ subroutine recvpkt(iarg)
k=0 k=0
if(kb.eq.2) k=NSMAX if(kb.eq.2) k=NSMAX
lost_tot=0 lost_tot=0
ndone1=0
ndone2=0
endif endif
if(kb.eq.1 .and. (k+174).gt.NSMAX) go to 20 if(kb.eq.1 .and. (k+174).gt.NSMAX) go to 20
@ -110,17 +112,19 @@ subroutine recvpkt(iarg)
nsec0=nsec nsec0=nsec
ntx=ntx+transmitting ntx=ntx+transmitting
if(ns.eq.nt1) then if(ns.ge.nt1 .and. ndone1.eq.0) then
nutc=mutc nutc=mutc
fcenter=center_freq fcenter=center_freq
kbuf=kb kbuf=kb
kk=k kk=k
ndiskdat=0 ndiskdat=0
ndone1=1
if(ndebug.eq.2) write(*,3001) nutc,mod(int(sec_midn()),60),ns if(ndebug.eq.2) write(*,3001) nutc,mod(int(sec_midn()),60),ns
3001 format('recvpkt 1:',i5.4,2i3.2) 3001 format('recvpkt 1:',i5.4,2i3.2)
endif endif
if(ns.eq.nt2) then if(ns.ge.nt2 .and. ndone2.eq.0) then
kk=k kk=k
ndone2=1
if(ndebug.eq.2) write(*,3002) nutc,mod(int(sec_midn()),60),ns if(ndebug.eq.2) write(*,3002) nutc,mod(int(sec_midn()),60),ns
3002 format('recvpkt 2:',i5.4,2i3.2) 3002 format('recvpkt 2:',i5.4,2i3.2)
nlost=lost_tot ! Save stats for printout nlost=lost_tot ! Save stats for printout

View File

@ -1,4 +1,4 @@
subroutine symspec(id,kbuf,kk,kkdone,nutc,t00,newdat) subroutine symspec(id,kbuf,kk,kkdone,nutc,newdat)
! Compute spectra at four polarizations, using half-symbol steps. ! Compute spectra at four polarizations, using half-symbol steps.
@ -9,9 +9,15 @@ subroutine symspec(id,kbuf,kk,kkdone,nutc,t00,newdat)
include 'spcom.f90' include 'spcom.f90'
include 'gcom2.f90' include 'gcom2.f90'
complex cx(NFFT),cy(NFFT) ! pad to 32k with zeros complex cx(NFFT),cy(NFFT) ! pad to 32k with zeros
data kbuf0/-999/ data kbuf0/-999/,n/0/
save save
kkk=kk
if(kbuf.eq.2) kkk=kk-5760000
if(ndebug.gt.0) write(*,4001) 'A',nutc,mod(int(sec_midn()),60), &
kbuf,kk,kkk,kkdone
4001 format(a1,i5.4,2i3,3i9,i5)
if(ndebug.eq.2) write(*,3001) nutc,mod(int(sec_midn()),60) if(ndebug.eq.2) write(*,3001) nutc,mod(int(sec_midn()),60)
3001 format('symspec 1:',i5.4,i3.2) 3001 format('symspec 1:',i5.4,i3.2)
fac=0.0002 * 10.0**(0.05*(-rxnoise)) fac=0.0002 * 10.0**(0.05*(-rxnoise))
@ -34,7 +40,7 @@ subroutine symspec(id,kbuf,kk,kkdone,nutc,t00,newdat)
do nn=1,ntot do nn=1,ntot
i0=ts+hsym !Starting sample pointer i0=ts+hsym !Starting sample pointer
if((i0+npts-1).gt.kk) go to 998 !See if we have enough points if((i0+npts-1).gt.kkk) go to 998 !See if we have enough points
i1=ts+2*hsym !Next starting sample pointer i1=ts+2*hsym !Next starting sample pointer
ts=ts+hsym !OK, update the exact sample pointer ts=ts+hsym !OK, update the exact sample pointer
do i=1,npts !Copy data to FFT arrays do i=1,npts !Copy data to FFT arrays
@ -110,6 +116,8 @@ subroutine symspec(id,kbuf,kk,kkdone,nutc,t00,newdat)
998 kkdone=i1-1 998 kkdone=i1-1
999 continue 999 continue
if(ndebug.gt.0) write(*,4001) 'B',nutc,mod(int(sec_midn()),60), &
kbuf,kk,kkk,kkdone,n
if(ndebug.eq.2) write(*,3002) mod(int(sec_midn()),60),n if(ndebug.eq.2) write(*,3002) mod(int(sec_midn()),60),n
3002 format('symspec 2:',i8.2,i5) 3002 format('symspec 2:',i8.2,i5)
return return