From f260cc95891117da5e32a2ba61c1d0168f3dd13c Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 10 Jul 2007 15:02:56 +0000 Subject: [PATCH] Fixed calc of rxnoise for recorded data. Don't display "No Rx data" when transmitting. Add dB to Messages window. Make option labels more informative. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@483 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- display.F90 | 10 +++++----- getfile2.F90 | 11 ++++++++++- map65.py | 19 ++++++++++--------- options.py | 12 ++++++------ 4 files changed, 31 insertions(+), 21 deletions(-) diff --git a/display.F90 b/display.F90 index 035ee2c64..e78383849 100644 --- a/display.F90 +++ b/display.F90 @@ -7,7 +7,7 @@ subroutine display(nkeep) parameter (MAXLINES=500,MX=500) integer indx(MAXLINES),indx2(MX) character*81 line(MAXLINES),line2(MX),line3(MAXLINES) - character out*46,cfreq0*3 + character out*50,cfreq0*3 character*6 callsign,callsign0 character*12 freqcall(100) character*40 bm2 @@ -118,7 +118,7 @@ subroutine display(nkeep) nc=0 callsign0=' ' do k=1,k3 - out=line3(k)(5:12)//line3(k)(28:31)//line3(k)(39:67)//line3(k)(77:81) + out=line3(k)(5:12)//line3(k)(28:31)//line3(k)(35:67)//line3(k)(77:81) if(out(1:3).ne.' ') then if(out(1:3).eq.cfreq0) then out(1:3)=' ' @@ -126,9 +126,9 @@ subroutine display(nkeep) cfreq0=out(1:3) endif write(19,1030) out -1030 format(a46) - i1=index(out(20:),' ') - callsign=out(i1+20:) +1030 format(a50) + i1=index(out(24:),' ') + callsign=out(i1+24:) i2=index(callsign,' ') if(i2.gt.1) callsign(i2:)=' ' if(callsign.ne.' ' .and. callsign.ne.callsign0) then diff --git a/getfile2.F90 b/getfile2.F90 index 36b10a00b..24ad92fda 100644 --- a/getfile2.F90 +++ b/getfile2.F90 @@ -6,6 +6,7 @@ subroutine getfile2(fname,len) character*(*) fname character infile*15 + real*8 sq include 'datcom.f90' include 'gcom1.f90' @@ -49,10 +50,18 @@ subroutine getfile2(fname,len) #endif + sq=0. + ka=0.1*NSMAX + kb=0.8*NSMAX + do k=ka,kb + sq=sq + float(int(id(1,k,1)))**2 + float(int(id(1,k,1)))**2 + & + float(int(id(1,k,1)))**2 + float(int(id(1,k,1)))**2 + enddo + sqave=174*sq/(kb-ka+1) + rxnoise=10.0*log10(sqave) - 48.0 read(filename(8:11),*) nutc ndiskdat=1 mousebutton=0 - rxnoise=8.0 go to 999 998 ierr=1001 diff --git a/map65.py b/map65.py index df6122e64..c906f7a74 100644 --- a/map65.py +++ b/map65.py @@ -1,4 +1,4 @@ -#-------------------------------------------------------------------- MAP65 +#--------------------------------------------------------------------- MAP65 # $Date$ $Revision$ # from Tkinter import * @@ -188,9 +188,9 @@ def messages(event=NONE): bm.geometry(bm_geom) if g.Win32: bm.iconbitmap("wsjt.ico") iframe_bm1 = Frame(bm, bd=1, relief=SUNKEN) - Label(iframe_bm1,text='Freq DF Pol UTC').pack(anchor=W, \ + Label(iframe_bm1,text='Freq DF Pol dB UTC').pack(anchor=W, \ pady=0,side='top') - msgtext=Text(iframe_bm1, height=35, width=41, bg="Navy", fg="yellow") + msgtext=Text(iframe_bm1, height=35, width=45, bg="Navy", fg="yellow") msgtext.bind('',dbl_click_msgtext) msgtext.pack(side=LEFT, fill=X, padx=1, pady=3) bmsb = Scrollbar(iframe_bm1, orient=VERTICAL, command=msgtext.yview) @@ -931,6 +931,8 @@ def update(): utc=time.gmtime(time.time()+0.1*idsec) isec=utc[5] + txminute=0 + if Audio.gcom2.lauto and utc[4]%2 == Audio.gcom1.txfirst: txminute=1 if isec != isec0: #Do once per second isec0=isec @@ -953,8 +955,9 @@ def update(): azdist() g.nfreq=nfreq.get() kxp=int(Audio.datcom.kxp) - if kxp-kxp0 < 50000: - msg5.configure(text='No data',bg='red') + if kxp-kxp0 < 50000 and \ + ((not Audio.gcom2.lauto) or (not Audio.gcom1.transmitting)): + msg5.configure(text='No Rx data',bg='red') else: msg5.configure(bg='gray85') kxp0=kxp @@ -1018,8 +1021,6 @@ def update(): t="QSO DF:%4d" % (int(Audio.gcom2.mousedf),) msg3.configure(text=t) - txminute=0 - if Audio.gcom2.lauto and utc[4]%2 == Audio.gcom1.txfirst: txminute=1 if mode.get()[:4]=='JT65' and (Audio.gcom2.ndecoding>0 or \ (isec>45 and txminute==0 and Audio.gcom2.monitoring==1 and \ Audio.datcom.kkdone!=-99 and Audio.gcom2.ndiskdat!=1)): @@ -1116,10 +1117,10 @@ def update(): msgtext.delete('1.0',END) for i in range(len(lines)): try: - nage=int(lines[i][41:]) + nage=int(lines[i][45:]) except: nage=0 - lines[i]=lines[i][:41]+'\n' + lines[i]=lines[i][:45]+'\n' if nage==0: attr='age0' if nage==1: attr='age1' if nage==2: attr='age2' diff --git a/options.py b/options.py index 5844e49d0..86da9b169 100644 --- a/options.py +++ b/options.py @@ -91,22 +91,22 @@ aux_ra=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Source RA:', entry_width=9,entry_textvariable=auxra) aux_dec=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Source DEC:', entry_width=9,entry_textvariable=auxdec) -nkeep_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='nkeep (min):', +nkeep_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Timeout (min):', entry_width=9,value=20,entry_textvariable=nkeep) dphi_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Dphi (deg):', entry_width=9,entry_textvariable=dphi) -fa_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='fa (kHz):', +fa_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Fmin (kHz):', entry_width=9,value=100,entry_textvariable=fa) -fb_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='fb (kHz):', +fb_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Fmax (kHz):', entry_width=9,value=160,entry_textvariable=fb) -fcal_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='fcal (Hz):', +fcal_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='Fcal (Hz):', entry_width=9,entry_textvariable=fcal) savedir_entry=Pmw.EntryField(g3.interior(),labelpos=W,label_text='SaveDir:', - entry_width=20,value=g.appdir+'/save',entry_textvariable=savedir) + entry_width=23,value=g.appdir+'\save',entry_textvariable=savedir) widgets = (temp_prefix,aux_ra,aux_dec,nkeep_entry,dphi_entry, \ fa_entry,fb_entry,fcal_entry,savedir_entry,) for widget in widgets: - widget.pack(padx=10,pady=2) + widget.pack(padx=2,pady=2) Pmw.alignlabels(widgets) g1.pack(side=LEFT,fill=BOTH,expand=1,padx=6,pady=6)