Enhanced diagnostics with ndebug=2.

Possible fix for occasional Rx blackouts.  Extensive tests needed!


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@570 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2007-11-01 19:03:01 +00:00
parent bbeb779cf1
commit 9c2480c012
5 changed files with 52 additions and 19 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 kbuf0/0/,ns00/-999/
data sending0/' '/ data sending0/' '/
save save
@ -33,12 +33,24 @@ subroutine decode1(iarg)
newdat=1 newdat=1
endif endif
if(kbuf.ne.kbuf0) kkdone=0 if(kbuf.ne.kbuf0) then
kkdone=0
rewind 29
endif
kbuf0=kbuf kbuf0=kbuf
kkk=kk kkk=kk
if(kbuf.eq.2) kkk=kk-5760000 if(kbuf.eq.2) kkk=kk-5760000
if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kkk-kkdone).gt.32768)) & n=Tsec
if(n.ne.ns00) then
write(29,3101) nutc,mod(n,60),ndiskdat,ndecoding,kbuf, &
newdat,kk,kkdone
3101 format('d1:',i5.4,i3.2,4i5,2i10)
ns00=n
endif
if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kkk-kkdone).gt.32768)) then
call symspec(id,kbuf,kk,kkdone,nutc,newdat) call symspec(id,kbuf,kk,kkdone,nutc,newdat)
call sleep_msec(10)
endif
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
@ -51,7 +63,6 @@ subroutine decode1(iarg)
rewind 21 rewind 21
ns0=999999 ns0=999999
endif endif
n=Tsec
if(n.lt.ns0 .and. utcdate(1:1).eq.'2') then if(n.lt.ns0 .and. utcdate(1:1).eq.'2') then
write(21,1001) utcdate(:11) write(21,1001) utcdate(:11)
1001 format(/'UTC Date: ',a11/'---------------------') 1001 format(/'UTC Date: ',a11/'---------------------')
@ -72,7 +83,7 @@ subroutine decode1(iarg)
mode0=mode mode0=mode
endif endif
call sleep_msec(1000) !### was 100 call sleep_msec(100) !### was 100
go to 10 go to 10
end subroutine decode1 end subroutine decode1

View File

@ -16,9 +16,10 @@
! 23 CALL3.TXT ! 23 CALL3.TXT
! 24 meas24.dat ! 24 meas24.dat
! 25 meas25.dat ! 25 meas25.dat
! 26 tmp26.tmp ! 26 tmp26.txt
! 27 dphi.txt ! 27 dphi.txt
! 28 saved *.tf2 files ! 28 saved *.tf2 files
! 29 tmp29.txt
!------------------------------------------------ ftn_init !------------------------------------------------ ftn_init
subroutine ftn_init subroutine ftn_init
@ -145,6 +146,14 @@ subroutine ftn_init
open(27,file=appdir(:iz)//'/dphi.txt',status='unknown') open(27,file=appdir(:iz)//'/dphi.txt',status='unknown')
#endif #endif
#ifdef Win32
open(29,file=appdir(:iz)//'/tmp29.txt',status='unknown', &
share='denynone')
#else
open(29,file=appdir(:iz)//'/tmp29.txt',status='unknown')
#endif
return return
910 print*,'Error opening DECODED.TXT' 910 print*,'Error opening DECODED.TXT'

View File

@ -62,6 +62,7 @@ hiscall=""
hisgrid="" hisgrid=""
hisgrid0="" hisgrid0=""
isec0=-99 isec0=-99
isec00=-99
k2txb=IntVar() k2txb=IntVar()
kb8rq=IntVar() kb8rq=IntVar()
kxp0=0 kxp0=0
@ -955,12 +956,12 @@ def GenAltMsgs(event=NONE):
def update(): def update():
global root_geom,isec0,naz,nel,ndmiles,ndkm,nopen,kxp0, \ global root_geom,isec0,naz,nel,ndmiles,ndkm,nopen,kxp0, \
im,pim,cmap0,isync,isync_save,idsec,first,itol,txsnrdb,tx6alt,\ im,pim,cmap0,isync,isync_save,idsec,first,itol,txsnrdb,tx6alt,\
bm_geom,bm2_geom,hisgrid0,fqso0 bm_geom,bm2_geom,hisgrid0,fqso0,isec00
utc=time.gmtime(time.time()+0.1*idsec) utc=time.gmtime(time.time()+0.1*idsec)
isec=utc[5] isec=utc[5]
txminute=0 txminute=0
if Audio.gcom2.lauto and utc[4]%2 == Audio.gcom1.txfirst: txminute=1 if Audio.gcom2.lauto and utc[4]%2 != Audio.gcom1.txfirst: txminute=1
if isec != isec0: #Do once per second if isec != isec0: #Do once per second
isec0=isec isec0=isec
@ -1065,8 +1066,16 @@ def update():
Audio.gcom2.dftolerance=500 Audio.gcom2.dftolerance=500
fqso0=int(Audio.gcom2.mousefqso) fqso0=int(Audio.gcom2.mousefqso)
# if mode.get()[:4]=='JT65' and (Audio.gcom2.ndecoding>0 or \
# (isec>45 and txminute==0 and Audio.gcom2.monitoring==1 and \
# if isec != isec00:
# print isec,Audio.gcom2.ndecoding,txminute,Audio.gcom2.monitoring, \
# Audio.datcom.kkdone
# isec00=isec
if mode.get()[:4]=='JT65' and (Audio.gcom2.ndecoding>0 or \ if mode.get()[:4]=='JT65' and (Audio.gcom2.ndecoding>0 or \
(isec>45 and txminute==0 and Audio.gcom2.monitoring==1 and \ (isec>=options.nt1.get() and txminute==0 and \
Audio.gcom2.monitoring==1 and \
Audio.datcom.kkdone!=-99 and Audio.gcom2.ndiskdat!=1)): Audio.datcom.kkdone!=-99 and Audio.gcom2.ndiskdat!=1)):
#Set button bg while decoding #Set button bg while decoding
bc='#66FFFF' bc='#66FFFF'

View File

@ -119,14 +119,16 @@ subroutine recvpkt(iarg)
kk=k kk=k
ndiskdat=0 ndiskdat=0
ndone1=1 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) kbuf,kk
3001 format('r1:',i5.4,2i3.2,2i10)
endif endif
if(ns.ge.nt2 .and. ndone2.eq.0) then if(ns.ge.nt2 .and. ndone2.eq.0) then
kk=k kk=k
ndone2=1 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) kbuf,kk
3002 format('r2:',i5.4,2i3.2,2i10)
nlost=lost_tot ! Save stats for printout nlost=lost_tot ! Save stats for printout
endif endif
endif endif

View File

@ -18,8 +18,9 @@ subroutine symspec(id,kbuf,kk,kkdone,nutc,newdat)
! kbuf,kk,kkk,kkdone ! kbuf,kk,kkk,kkdone
!4001 format(a1,i5.4,2i3,3i9,i5) !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),n, &
3001 format('symspec 1:',i5.4,i3.2) newdat,ndecoding,kbuf,kk,kkdone
3001 format('s1:',i5.4,i3.2,4i5,2i10)
fac=0.0002 fac=0.0002
if(nagc.ne.0) fac=0.0002 * 10.0**(0.05*(-rxnoise)) if(nagc.ne.0) fac=0.0002 * 10.0**(0.05*(-rxnoise))
hsym=2048.d0*96000.d0/11025.d0 !Samples per half symbol hsym=2048.d0*96000.d0/11025.d0 !Samples per half symbol
@ -119,7 +120,8 @@ subroutine symspec(id,kbuf,kk,kkdone,nutc,newdat)
999 continue 999 continue
! if(ndebug.gt.0) write(*,4001) 'B',nutc,mod(int(sec_midn()),60), & ! if(ndebug.gt.0) write(*,4001) 'B',nutc,mod(int(sec_midn()),60), &
! kbuf,kk,kkk,kkdone,n ! 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) newdat,ndecoding,kbuf,kk,kkdone
3002 format('s2:',i8.2,4i5,2i10)
return return
end subroutine symspec end subroutine symspec