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
This commit is contained in:
Joe Taylor 2007-07-10 15:02:56 +00:00
parent 6d3b542f4a
commit f260cc9589
4 changed files with 31 additions and 21 deletions

View File

@ -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

View File

@ -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

View File

@ -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('<Double-Button-1>',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'

View File

@ -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)