mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 10:22:26 -04:00
Tick marks on waterfall displays.
Display percent of deopped packets. Save all decodes to ALL65.txt. Shift F12/F11 to inrecment/decrement fqso. Save even/odd ip00 separately. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@414 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
648d63e207
commit
3b219465c7
@ -11,7 +11,7 @@
|
|||||||
! 18 test file to be transmitted (wsjtgen.f90)
|
! 18 test file to be transmitted (wsjtgen.f90)
|
||||||
! 19 bandmap.txt
|
! 19 bandmap.txt
|
||||||
! 20 bandmap2.txt
|
! 20 bandmap2.txt
|
||||||
! 21 ALL.TXT
|
! 21 ALL65.TXT
|
||||||
! 22 kvasd.dat
|
! 22 kvasd.dat
|
||||||
! 23 CALL3.TXT
|
! 23 CALL3.TXT
|
||||||
|
|
||||||
@ -88,10 +88,10 @@ subroutine ftn_init
|
|||||||
endfile 20
|
endfile 20
|
||||||
|
|
||||||
#ifdef Win32
|
#ifdef Win32
|
||||||
open(21,file=appdir(:iz)//'/ALL.TXT',status='unknown', &
|
open(21,file=appdir(:iz)//'/ALL65.TXT',status='unknown', &
|
||||||
access='append',share='denynone',err=950)
|
access='append',share='denynone',err=950)
|
||||||
#else
|
#else
|
||||||
open(21,file=appdir(:iz)//'/ALL.TXT',status='unknown', &
|
open(21,file=appdir(:iz)//'/ALL65.TXT',status='unknown', &
|
||||||
access='append',err=950)
|
access='append',err=950)
|
||||||
do i=1,9999999
|
do i=1,9999999
|
||||||
read(21,*,end=10) cjunk
|
read(21,*,end=10) cjunk
|
||||||
@ -135,7 +135,7 @@ subroutine ftn_init
|
|||||||
stop
|
stop
|
||||||
940 print*,'Error opening DEBUG.TXT'
|
940 print*,'Error opening DEBUG.TXT'
|
||||||
stop
|
stop
|
||||||
950 print*,'Error opening ALL.TXT'
|
950 print*,'Error opening ALL65.TXT'
|
||||||
stop
|
stop
|
||||||
|
|
||||||
end subroutine ftn_init
|
end subroutine ftn_init
|
||||||
|
19
gcom2.f90
19
gcom2.f90
@ -6,6 +6,7 @@ real s2 !2d spectrum for horizontal waterfall GUI
|
|||||||
real ccf !CCF in time (blue curve) Decoder
|
real ccf !CCF in time (blue curve) Decoder
|
||||||
real green !Data for green line GUI
|
real green !Data for green line GUI
|
||||||
real fselect !Specified QSO frequency GUI
|
real fselect !Specified QSO frequency GUI
|
||||||
|
real pctlost !Percent of lost packets Decoder
|
||||||
real rxnoise !Rx noise in dB recvpkt
|
real rxnoise !Rx noise in dB recvpkt
|
||||||
integer ngreen !Length of green GUI
|
integer ngreen !Length of green GUI
|
||||||
real dgain !Digital audio gain setting GUI
|
real dgain !Digital audio gain setting GUI
|
||||||
@ -89,18 +90,18 @@ character*80 filetokillb
|
|||||||
character*12 pttport
|
character*12 pttport
|
||||||
character*8 utcdata !HHMM UTC for the processed data Decoder
|
character*8 utcdata !HHMM UTC for the processed data Decoder
|
||||||
|
|
||||||
common/gcom2/ps0(431),psavg(450),s2(64,3100),ccf(-5:540), &
|
common/gcom2/ps0(431),psavg(450),s2(64,3100),ccf(-5:540), &
|
||||||
green(500),fselect,rxnoise,ngreen,dgain,iter,ndecoding, &
|
green(500),fselect,pctlost,rxnoise,ngreen,dgain,iter,ndecoding, &
|
||||||
ndecoding0,mousebutton, &
|
ndecoding0,mousebutton, &
|
||||||
ndecdone,npingtime,ierr,lauto,mantx,nrestart,ntr,nmsg,nsave,nadd5, &
|
ndecdone,npingtime,ierr,lauto,mantx,nrestart,ntr,nmsg,nsave,nadd5, &
|
||||||
dftolerance,LDecoded,rxdone,monitoring,nzap,nsavecum,minsigdb, &
|
dftolerance,LDecoded,rxdone,monitoring,nzap,nsavecum,minsigdb, &
|
||||||
nclearave,nfreeze,nafc,newspec,nmode,mode65,nclip,ndebug,nblank,nport, &
|
nclearave,nfreeze,nafc,newspec,nmode,mode65,nclip,ndebug,nblank,nport, &
|
||||||
mousedf,mousefqso,neme,nsked,naggressive,ntx2,nagain,nsavelast, &
|
mousedf,mousefqso,neme,nsked,naggressive,ntx2,nagain,nsavelast, &
|
||||||
shok,sendingsh,d2a(661500),d2b(661500),b(60000),jza,jzb,ntime, &
|
shok,sendingsh,d2a(661500),d2b(661500),b(60000),jza,jzb,ntime, &
|
||||||
idinterval,msmax,lenappdir,idf,ndiskdat,nlines,nflat,ntxreq,ntxnow, &
|
idinterval,msmax,lenappdir,idf,ndiskdat,nlines,nflat,ntxreq,ntxnow,&
|
||||||
ndepth,nspecial,ndf,nfmid,nfrange,ss1(-224:224),ss2(-224:224), &
|
ndepth,nspecial,ndf,nfmid,nfrange,ss1(-224:224),ss2(-224:224), &
|
||||||
mycall,hiscall,hisgrid,txmsg,sending,mode,fname0,fnamea, &
|
mycall,hiscall,hisgrid,txmsg,sending,mode,fname0,fnamea, &
|
||||||
fnameb,decodedfile,AppDir,filetokilla,filetokillb,utcdate,pttport, &
|
fnameb,decodedfile,AppDir,filetokilla,filetokillb,utcdate,pttport, &
|
||||||
utcdata
|
utcdata
|
||||||
|
|
||||||
!### volatile /gcom2/
|
!### volatile /gcom2/
|
||||||
|
18
map65.py
18
map65.py
@ -879,6 +879,14 @@ def left_arrow(event=NONE):
|
|||||||
if n<0: n=n-5
|
if n<0: n=n-5
|
||||||
if n==Audio.gcom2.mousedf: n=n-5
|
if n==Audio.gcom2.mousedf: n=n-5
|
||||||
Audio.gcom2.mousedf=n
|
Audio.gcom2.mousedf=n
|
||||||
|
|
||||||
|
#------------------------------------------------------ inc_fqso
|
||||||
|
def inc_fqso(event=NONE):
|
||||||
|
Audio.gcom2.mousefqso=Audio.gcom2.mousefqso + 1
|
||||||
|
|
||||||
|
#------------------------------------------------------ dec_fqso
|
||||||
|
def dec_fqso(event=NONE):
|
||||||
|
Audio.gcom2.mousefqso=Audio.gcom2.mousefqso - 1
|
||||||
|
|
||||||
#------------------------------------------------------ GenStdMsgs
|
#------------------------------------------------------ GenStdMsgs
|
||||||
def GenStdMsgs(event=NONE):
|
def GenStdMsgs(event=NONE):
|
||||||
@ -1086,8 +1094,10 @@ def update():
|
|||||||
t=time.strftime('%Y %b %d\n%H:%M:%S',utc)
|
t=time.strftime('%Y %b %d\n%H:%M:%S',utc)
|
||||||
Audio.gcom2.utcdate=t[:12]
|
Audio.gcom2.utcdate=t[:12]
|
||||||
ldate.configure(text=t)
|
ldate.configure(text=t)
|
||||||
t="Rx noise: %.1f" % Audio.gcom2.rxnoise
|
t="Rx noise: %.1f dB" % Audio.gcom2.rxnoise
|
||||||
msg5.configure(text=t)
|
msg5.configure(text=t)
|
||||||
|
t="Drop: %.1f %%" % Audio.gcom2.pctlost
|
||||||
|
msg6.configure(text=t)
|
||||||
root_geom=root.geometry()
|
root_geom=root.geometry()
|
||||||
try:
|
try:
|
||||||
bm_geom=bm.geometry()
|
bm_geom=bm.geometry()
|
||||||
@ -1363,7 +1373,7 @@ filemenu.add_separator()
|
|||||||
filemenu.add('command', label = 'Delete all *.WAV files in RxWav', \
|
filemenu.add('command', label = 'Delete all *.WAV files in RxWav', \
|
||||||
command = delwav)
|
command = delwav)
|
||||||
filemenu.add_separator()
|
filemenu.add_separator()
|
||||||
filemenu.add('command', label = 'Erase ALL.TXT', command = del_all)
|
filemenu.add('command', label = 'Erase ALL65.TXT', command = del_all)
|
||||||
filemenu.add_separator()
|
filemenu.add_separator()
|
||||||
filemenu.add('command', label = 'Exit', command = quit)
|
filemenu.add('command', label = 'Exit', command = quit)
|
||||||
|
|
||||||
@ -1528,7 +1538,9 @@ root.bind_all('<Control-F8>', ModeJT65C)
|
|||||||
root.bind_all('<F10>', showspecjt)
|
root.bind_all('<F10>', showspecjt)
|
||||||
root.bind_all('<Shift-F10>', astro1)
|
root.bind_all('<Shift-F10>', astro1)
|
||||||
root.bind_all('<F11>',left_arrow)
|
root.bind_all('<F11>',left_arrow)
|
||||||
|
root.bind_all('<Shift-F11>',dec_fqso)
|
||||||
root.bind_all('<F12>',right_arrow)
|
root.bind_all('<F12>',right_arrow)
|
||||||
|
root.bind_all('<Shift-F12>',inc_fqso)
|
||||||
root.bind_all('<Alt-Key-1>',btx1)
|
root.bind_all('<Alt-Key-1>',btx1)
|
||||||
root.bind_all('<Alt-Key-2>',btx2)
|
root.bind_all('<Alt-Key-2>',btx2)
|
||||||
root.bind_all('<Alt-Key-3>',btx3)
|
root.bind_all('<Alt-Key-3>',btx3)
|
||||||
@ -1754,6 +1766,8 @@ msg4=Message(iframe6, text="", width=300,relief=SUNKEN)
|
|||||||
msg4.pack(side=LEFT, fill=X, padx=1)
|
msg4.pack(side=LEFT, fill=X, padx=1)
|
||||||
msg5=Message(iframe6, text="", width=300,relief=SUNKEN)
|
msg5=Message(iframe6, text="", width=300,relief=SUNKEN)
|
||||||
msg5.pack(side=LEFT, fill=X, padx=1)
|
msg5.pack(side=LEFT, fill=X, padx=1)
|
||||||
|
msg6=Message(iframe6, text="", width=300,relief=SUNKEN)
|
||||||
|
msg6.pack(side=LEFT, fill=X, padx=1)
|
||||||
msg7=Message(iframe6, text=' ', width=300,relief=SUNKEN)
|
msg7=Message(iframe6, text=' ', width=300,relief=SUNKEN)
|
||||||
msg7.pack(side=RIGHT, fill=X, padx=1)
|
msg7.pack(side=RIGHT, fill=X, padx=1)
|
||||||
iframe6.pack(expand=1, fill=X, padx=4)
|
iframe6.pack(expand=1, fill=X, padx=4)
|
||||||
|
18
map65a.f90
18
map65a.f90
@ -15,17 +15,20 @@ subroutine map65a
|
|||||||
character*3 shmsg0(4),shmsg
|
character*3 shmsg0(4),shmsg
|
||||||
integer indx(MAXMSG),nsiz(MAXMSG)
|
integer indx(MAXMSG),nsiz(MAXMSG)
|
||||||
logical done(MAXMSG)
|
logical done(MAXMSG)
|
||||||
|
logical even
|
||||||
character decoded*22,blank*22
|
character decoded*22,blank*22
|
||||||
include 'datcom.f90'
|
include 'datcom.f90'
|
||||||
common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT)
|
common/spcom/ip0,ss(4,322,NFFT),ss5(322,NFFT)
|
||||||
data blank/' '/
|
data blank/' '/
|
||||||
data shmsg0/'ATT','RO ','RRR','73 '/
|
data shmsg0/'ATT','RO ','RRR','73 '/
|
||||||
data nfile/0/,nutc0/-999/,nid/0/,ip00/1/
|
data nfile/0/,nutc0/-999/,nid/0/,ip000/1/,ip001/1/
|
||||||
include 'gcom2.f90'
|
include 'gcom2.f90'
|
||||||
save
|
save
|
||||||
|
|
||||||
if(nlost.ne.0) write(*,1001) nutc,nlost
|
pctlost=nlost/331.03
|
||||||
1001 format('UTC:',i5.4,' Lost packets:',i6)
|
if(nlost.ne.0) write(*,1001) nutc,nlost,pctlost
|
||||||
|
1001 format('UTC:',i5.4,' Lost packets:',i6,', or',f6.1,' %')
|
||||||
|
even=mod(nutc,2).eq.0
|
||||||
|
|
||||||
if(newdat2.eq.0) newdat2=1 !###
|
if(newdat2.eq.0) newdat2=1 !###
|
||||||
if(newdat2.gt.0) nid=1
|
if(newdat2.gt.0) nid=1
|
||||||
@ -75,7 +78,8 @@ subroutine map65a
|
|||||||
nfilt=2 !nfilt=2 is faster for selected freq
|
nfilt=2 !nfilt=2 is faster for selected freq
|
||||||
do kpol=0,3
|
do kpol=0,3
|
||||||
freq=fselect + 0.001*mousedf
|
freq=fselect + 0.001*mousedf
|
||||||
ip0=ip00+kpol
|
if(even) ip0=ip000+kpol
|
||||||
|
if(.not.even) ip0=ip001+kpol
|
||||||
if(ip0.gt.4) ip0=ip0-4
|
if(ip0.gt.4) ip0=ip0-4
|
||||||
dt00=2.314240
|
dt00=2.314240
|
||||||
dt=dt00
|
dt=dt00
|
||||||
@ -91,7 +95,9 @@ subroutine map65a
|
|||||||
if(nkv.gt.0) go to 5
|
if(nkv.gt.0) go to 5
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
5 ip00=ip0
|
5 if(even) ip000=ip0
|
||||||
|
if(.not.even) ip001=ip0
|
||||||
|
|
||||||
nkHz=nint(freq-1.600)
|
nkHz=nint(freq-1.600)
|
||||||
npol=nint(57.2957795*pol)
|
npol=nint(57.2957795*pol)
|
||||||
nqual=qual
|
nqual=qual
|
||||||
@ -304,6 +310,8 @@ subroutine map65a
|
|||||||
nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ###
|
nsync2=nint(10.0*log10(sync2)) - 40 !### empirical ###
|
||||||
write(26,1014) f0,ndf,ndf0,ndf1,ndf2,dt,npol,nsync1, &
|
write(26,1014) f0,ndf,ndf0,ndf1,ndf2,dt,npol,nsync1, &
|
||||||
nsync2,nutc,decoded,nkv,nqual,nhist
|
nsync2,nutc,decoded,nkv,nqual,nhist
|
||||||
|
write(21,1014) f0,ndf,ndf0,ndf1,ndf2,dt,npol,nsync1, &
|
||||||
|
nsync2,nutc,decoded,nkv,nqual,nhist
|
||||||
1014 format(f7.3,i5,3i3,f5.1,i5,i3,i4,i5.4,2x,a22,3i3)
|
1014 format(f7.3,i5,3i3,f5.1,i5,i3,i4,i5.4,2x,a22,3i3)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
77
specjt.py
77
specjt.py
@ -43,6 +43,7 @@ frange0=2000
|
|||||||
isec0=-99
|
isec0=-99
|
||||||
mode0=""
|
mode0=""
|
||||||
mousedf0=0
|
mousedf0=0
|
||||||
|
mousefqso0=0
|
||||||
naxis=IntVar()
|
naxis=IntVar()
|
||||||
ncall=0
|
ncall=0
|
||||||
newMinute=0
|
newMinute=0
|
||||||
@ -123,11 +124,13 @@ def fdf_change2(event):
|
|||||||
def set_fqso(event):
|
def set_fqso(event):
|
||||||
n=int(g.Freq + 0.5)
|
n=int(g.Freq + 0.5)
|
||||||
Audio.gcom2.mousefqso=n
|
Audio.gcom2.mousefqso=n
|
||||||
|
df_mark()
|
||||||
|
|
||||||
#---------------------------------------------------- set_freezedf
|
#---------------------------------------------------- set_freezedf
|
||||||
def set_freezedf(event):
|
def set_freezedf(event):
|
||||||
n=int(g.DFreq + 0.5)
|
n=int(g.DFreq + 0.5)
|
||||||
Audio.gcom2.mousedf=n
|
Audio.gcom2.mousedf=n
|
||||||
|
df_mark()
|
||||||
|
|
||||||
#------------------------------------------------------ ftnstr
|
#------------------------------------------------------ ftnstr
|
||||||
def ftnstr(x):
|
def ftnstr(x):
|
||||||
@ -139,40 +142,27 @@ def ftnstr(x):
|
|||||||
#---------------------------------------------------- df_mark
|
#---------------------------------------------------- df_mark
|
||||||
def df_mark():
|
def df_mark():
|
||||||
draw_axis()
|
draw_axis()
|
||||||
if nmark.get()==0 or Audio.gcom2.nfreeze:
|
# if nmark.get()==0 or Audio.gcom2.nfreeze:
|
||||||
fstep=10.0*11025.0/4096.0
|
# Mark QSO freq in top graph
|
||||||
if g.mode[4:5]=='B': fstep=2*fstep
|
color='green'
|
||||||
if g.mode[4:5]=='C': fstep=4*fstep
|
df=96.0/750.0
|
||||||
|
x1=393.0 + (Audio.gcom2.mousefqso-125)/df
|
||||||
|
c.create_line(x1-0.5,25,x1-0.5,12,fill=color)
|
||||||
|
c.create_line(x1+0.5,25,x1+0.5,12,fill=color)
|
||||||
|
|
||||||
|
df=96000.0/32768.0
|
||||||
# Mark sync tone and top JT65 tone (green) and shorthand tones (red)
|
# Mark sync tone and top JT65 tone (green) and shorthand tones (red)
|
||||||
dx=288.7 + (1500-fmid)/df
|
fstep=20.0*11025.0/4096.0
|
||||||
color='green'
|
x1=375.0 + (Audio.gcom2.mousedf + 6.6*fstep)/df
|
||||||
x1=(Audio.gcom2.mousedf + 6.6*fstep)/df + dx
|
c2.create_line(x1-0.5,25,x1-0.5,12,fill=color)
|
||||||
c.create_line(x1-0.5,25,x1-0.5,12,fill=color)
|
c2.create_line(x1+0.5,25,x1+0.5,12,fill=color)
|
||||||
c.create_line(x1+0.5,25,x1+0.5,12,fill=color)
|
for i in range(5):
|
||||||
for i in range(5):
|
x1=375.0 + (Audio.gcom2.mousedf + i*fstep)/df
|
||||||
x1=(Audio.gcom2.mousedf + i*fstep)/df + dx
|
j=12
|
||||||
j=12
|
if i>0: j=15
|
||||||
if i>0: j=15
|
if i!=1: c2.create_line(x1-0.5,25,x1-0.5,j,fill=color)
|
||||||
if i!=1: c.create_line(x1-0.5,25,x1-0.5,j,fill=color)
|
if i!=1: c2.create_line(x1+0.5,25,x1+0.5,j,fill=color)
|
||||||
if i!=1: c.create_line(x1+0.5,25,x1+0.5,j,fill=color)
|
color='red'
|
||||||
color='red'
|
|
||||||
|
|
||||||
#---------------------------------------------------- change_fmid
|
|
||||||
##def change_fmid1():
|
|
||||||
## global fmid
|
|
||||||
## fmid=fmid+100
|
|
||||||
## if fmid>5000-1000*nfr.get(): fmid=5000-1000*nfr.get()
|
|
||||||
##
|
|
||||||
##def change_fmid2():
|
|
||||||
## global fmid
|
|
||||||
## fmid=fmid-100
|
|
||||||
## if fmid<1000*nfr.get(): fmid=1000*nfr.get()
|
|
||||||
##
|
|
||||||
##def set_fmid():
|
|
||||||
## global fmid
|
|
||||||
## if nfr.get()==1: fmid=1200
|
|
||||||
## if nfr.get()==2: fmid=2200
|
|
||||||
|
|
||||||
#---------------------------------------------------- freq_range
|
#---------------------------------------------------- freq_range
|
||||||
def freq_range(event):
|
def freq_range(event):
|
||||||
@ -221,7 +211,7 @@ def freeze_decode(event):
|
|||||||
def update():
|
def update():
|
||||||
global a,a2,b0,c0,g0,im,im2,isec0,line0,line02,newMinute,\
|
global a,a2,b0,c0,g0,im,im2,isec0,line0,line02,newMinute,\
|
||||||
nscroll,pim,pim2, \
|
nscroll,pim,pim2, \
|
||||||
root_geom,t0,mousedf0,nfreeze0,tol0,mode0,nmark0, \
|
root_geom,t0,mousedf0,mousefqso0,nfreeze0,tol0,mode0,nmark0, \
|
||||||
fmid,fmid0,frange,frange0
|
fmid,fmid0,frange,frange0
|
||||||
|
|
||||||
utc=time.gmtime(time.time()+0.1*Audio.gcom1.ndsec)
|
utc=time.gmtime(time.time()+0.1*Audio.gcom1.ndsec)
|
||||||
@ -299,13 +289,14 @@ def update():
|
|||||||
newMinute=0
|
newMinute=0
|
||||||
Audio.gcom2.newspec=0
|
Audio.gcom2.newspec=0
|
||||||
|
|
||||||
if (Audio.gcom2.mousedf != mousedf0 or Audio.gcom2.dftolerance != tol0):
|
if (Audio.gcom2.mousedf != mousedf0 or
|
||||||
|
Audio.gcom2.mousefqso != mousefqso0):
|
||||||
df_mark()
|
df_mark()
|
||||||
|
|
||||||
# The following int() calls are to ensure that the values copied to
|
# The following int() calls are to ensure that the values copied to
|
||||||
# mousedf0 and tol0 are static.
|
# mousedf0 and mousefqso0 are static.
|
||||||
mousedf0=int(Audio.gcom2.mousedf)
|
mousedf0=int(Audio.gcom2.mousedf)
|
||||||
tol0=int(Audio.gcom2.dftolerance)
|
mousefqso0=int(Audio.gcom2.mousefqso)
|
||||||
|
|
||||||
if Audio.gcom2.nfreeze != nfreeze0:
|
if Audio.gcom2.nfreeze != nfreeze0:
|
||||||
if not Audio.gcom2.nfreeze: draw_axis()
|
if not Audio.gcom2.nfreeze: draw_axis()
|
||||||
@ -376,10 +367,10 @@ def draw_axis():
|
|||||||
c2.create_text(x,y,text=str(ix))
|
c2.create_text(x,y,text=str(ix))
|
||||||
c2.create_line(i,25,i,j,fill='black')
|
c2.create_line(i,25,i,j,fill='black')
|
||||||
|
|
||||||
tol=Audio.gcom2.dftolerance
|
# tol=Audio.gcom2.dftolerance
|
||||||
x1=(Audio.gcom2.mousedf-tol)/xdf2 + 0.5*NX
|
# x1=(Audio.gcom2.mousedf-tol)/xdf2 + 0.5*NX
|
||||||
x2=(Audio.gcom2.mousedf+tol)/xdf2 + 0.5*NX
|
# x2=(Audio.gcom2.mousedf+tol)/xdf2 + 0.5*NX
|
||||||
c2.create_line(x1,25,x2,25,fill='green',width=2)
|
# c2.create_line(x1,25,x2,25,fill='green',width=2)
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------- Create GUI widgets
|
#-------------------------------------------------------- Create GUI widgets
|
||||||
@ -476,8 +467,6 @@ Widget.bind(c2,"<Shift-Button-3>",freq_range)
|
|||||||
graph2=Canvas(iframe1, bg='black', width=NX, height=NY,bd=0,cursor='crosshair')
|
graph2=Canvas(iframe1, bg='black', width=NX, height=NY,bd=0,cursor='crosshair')
|
||||||
graph2.pack(side=TOP)
|
graph2.pack(side=TOP)
|
||||||
Widget.bind(graph2,"<Motion>",fdf_change2)
|
Widget.bind(graph2,"<Motion>",fdf_change2)
|
||||||
#Widget.bind(graph2,"<Button-1>",decode_request)
|
|
||||||
#Widget.bind(graph2,"<Button-3>",decode_request)
|
|
||||||
Widget.bind(graph2,"<Button-1>",set_freezedf)
|
Widget.bind(graph2,"<Button-1>",set_freezedf)
|
||||||
Widget.bind(graph2,"<Double-Button-1>",freeze_decode)
|
Widget.bind(graph2,"<Double-Button-1>",freeze_decode)
|
||||||
iframe1.pack(expand=1, fill=X)
|
iframe1.pack(expand=1, fill=X)
|
||||||
@ -553,7 +542,9 @@ if g.cmap == "AFMHot":
|
|||||||
npal.set(5)
|
npal.set(5)
|
||||||
|
|
||||||
#---------------------------------------------- Display GUI and start mainloop
|
#---------------------------------------------- Display GUI and start mainloop
|
||||||
draw_axis()
|
#draw_axis()
|
||||||
|
df_mark()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ndevin=g.ndevin.get()
|
ndevin=g.ndevin.get()
|
||||||
except:
|
except:
|
||||||
|
@ -13,7 +13,7 @@ C Compute spectra at four polarizations, using half-symbol steps.
|
|||||||
|
|
||||||
! fac=1.e-4
|
! fac=1.e-4
|
||||||
! fac=1.7e-4
|
! fac=1.7e-4
|
||||||
fac=0.0002 * 10.0**(0.1*(-rxnoise))
|
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
|
||||||
npts=hsym !Integral samples per half symbol
|
npts=hsym !Integral samples per half symbol
|
||||||
|
Loading…
x
Reference in New Issue
Block a user