mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-23 12:48:40 -05:00
Not finished, but thunderstorm is coming ...
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@489 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
c631b5a6be
commit
0807ab8cd5
@ -43,7 +43,8 @@ integer idphi !Phase offset in Y channel (deg) GUI
|
|||||||
integer nkeep !Timeout limit for band maps (min) GUI
|
integer nkeep !Timeout limit for band maps (min) GUI
|
||||||
integer nmode !Which WSJT mode? GUI,Decoder
|
integer nmode !Which WSJT mode? GUI,Decoder
|
||||||
integer mode65 !JT65 sub-mode (A/B/C ==> 1/2/4) GUI,SoundIn,Decoder
|
integer mode65 !JT65 sub-mode (A/B/C ==> 1/2/4) GUI,SoundIn,Decoder
|
||||||
integer nclip !Clipping level GUI
|
integer nbpp !# FFT Bins/pixel, wideband waterfall Spec
|
||||||
|
integer nfullspec !Set to 1 to display full spectrum GUI
|
||||||
integer ndebug !Write debugging info? GUI
|
integer ndebug !Write debugging info? GUI
|
||||||
integer ndphi !Set to 1 to compute dphi GUI,Decoder
|
integer ndphi !Set to 1 to compute dphi GUI,Decoder
|
||||||
integer nblank !Is NB checked? GUI
|
integer nblank !Is NB checked? GUI
|
||||||
@ -103,7 +104,7 @@ common/gcom2/ps0(431),psavg(450),s2(64,3100),ccf(-5:540), &
|
|||||||
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,minsigdb, &
|
dftolerance,LDecoded,rxdone,monitoring,nzap,minsigdb, &
|
||||||
nclearave,nfreeze,nafc,ncsmin,newspec,nfa,nfb,nfcal,idphi,nkeep, &
|
nclearave,nfreeze,nafc,ncsmin,newspec,nfa,nfb,nfcal,idphi,nkeep, &
|
||||||
nmode,mode65,nclip,ndebug,ndphi, &
|
nmode,mode65,nbpp,nfullspec,ndebug,ndphi, &
|
||||||
nblank,nport,mousedf,mousefqso,neme,nrw26,naggressive,ntx2,nagain, &
|
nblank,nport,mousedf,mousefqso,neme,nrw26,naggressive,ntx2,nagain, &
|
||||||
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, &
|
||||||
|
1
map65.py
1
map65.py
@ -1761,6 +1761,7 @@ GenStdMsgs()
|
|||||||
Audio.gcom4.addpfx=(options.addpfx.get().lstrip()+' ')[:8]
|
Audio.gcom4.addpfx=(options.addpfx.get().lstrip()+' ')[:8]
|
||||||
Audio.gcom2.mousefqso=125
|
Audio.gcom2.mousefqso=125
|
||||||
Audio.gcom2.ncsmin=4
|
Audio.gcom2.ncsmin=4
|
||||||
|
Audio.gcom2.nfullspec=0
|
||||||
monitor()
|
monitor()
|
||||||
first=1
|
first=1
|
||||||
if g.Win32: root.iconbitmap("wsjt.ico")
|
if g.Win32: root.iconbitmap("wsjt.ico")
|
||||||
|
30
spec.f90
30
spec.f90
@ -37,11 +37,6 @@ subroutine spec(brightness,contrast,ngain,nspeed,a,a2)
|
|||||||
nlines=322/nadd
|
nlines=322/nadd
|
||||||
call zero(s,NFFT*NY)
|
call zero(s,NFFT*NY)
|
||||||
k=0
|
k=0
|
||||||
fselect=mousefqso + 1.6
|
|
||||||
imid=nint(1000.0*(fselect-125.0+48.0)/df)
|
|
||||||
ia=imid-374
|
|
||||||
ib=ia+749
|
|
||||||
|
|
||||||
do j=1,nlines
|
do j=1,nlines
|
||||||
do n=1,nadd
|
do n=1,nadd
|
||||||
k=k+1
|
k=k+1
|
||||||
@ -60,16 +55,30 @@ subroutine spec(brightness,contrast,ngain,nspeed,a,a2)
|
|||||||
gain=40*sqrt(nstep(nspeed)/5.0) * 5.0**(0.01*contrast)
|
gain=40*sqrt(nstep(nspeed)/5.0) * 5.0**(0.01*contrast)
|
||||||
gamma=1.3 + 0.01*contrast
|
gamma=1.3 + 0.01*contrast
|
||||||
offset=(brightness+64.0)/2
|
offset=(brightness+64.0)/2
|
||||||
k=0
|
|
||||||
fac=20.0/nadd
|
fac=20.0/nadd
|
||||||
nbpp=NFFT/NX !Bins per pixel in wide waterfall
|
|
||||||
do j=nlines,1,-1 !Reverse order so last will be on top
|
nbpp=(nfb-nfa)*NFFT/(96.0*NX) !Bins per pixel in wideband (upper) waterfall
|
||||||
|
fselect=mousefqso + 1.6
|
||||||
|
imid=nint(1000.0*(fselect-125.0+48.0)/df)
|
||||||
|
fmid=0.5*(nfa+nfb)
|
||||||
|
imid0=nint(1000.0*(fmid-125.0+48.0)/df)
|
||||||
|
i0=imid-374
|
||||||
|
ii0=imid-374*nbpp
|
||||||
|
if(nfullspec.eq.1) then
|
||||||
|
nbpp=NFFT/NX
|
||||||
|
ii0=0
|
||||||
|
endif
|
||||||
|
|
||||||
|
k=0
|
||||||
|
do j=nlines,1,-1 !Reverse order so last will be on top
|
||||||
do i=1,NX
|
do i=1,NX
|
||||||
k=k+1
|
k=k+1
|
||||||
|
|
||||||
n=0
|
n=0
|
||||||
x=0.
|
x=0.
|
||||||
do ii=(i-1)*nbpp+1,i*nbpp
|
iia=(i-1)*nbpp + ii0 + 1
|
||||||
|
iib=i*nbpp + ii0
|
||||||
|
do ii=iia,iib
|
||||||
x=max(x,s(ii,j))
|
x=max(x,s(ii,j))
|
||||||
enddo
|
enddo
|
||||||
x=fac*x
|
x=fac*x
|
||||||
@ -77,8 +86,9 @@ subroutine spec(brightness,contrast,ngain,nspeed,a,a2)
|
|||||||
n=min(252,max(0,n))
|
n=min(252,max(0,n))
|
||||||
a(k)=n
|
a(k)=n
|
||||||
|
|
||||||
|
! Now do the lower (zoomed) waterfall with one FFT bin per pixel.
|
||||||
n=0
|
n=0
|
||||||
x=fac*s(ia+i-1,j)
|
x=fac*s(i0+i-1,j)
|
||||||
if(x.gt.0.0) n=(3.0*x)**gamma + offset
|
if(x.gt.0.0) n=(3.0*x)**gamma + offset
|
||||||
n=min(252,max(0,n))
|
n=min(252,max(0,n))
|
||||||
a2(k)=n
|
a2(k)=n
|
||||||
|
25
specjt.py
25
specjt.py
@ -110,8 +110,13 @@ def pal_AFMHot():
|
|||||||
#---------------------------------------------------- fdf_change
|
#---------------------------------------------------- fdf_change
|
||||||
# Readout of graphical cursor location
|
# Readout of graphical cursor location
|
||||||
def fdf_change(event):
|
def fdf_change(event):
|
||||||
df=96.0/750.0
|
|
||||||
fmid=122.8 # empirical
|
bw=float(Audio.gcom2.nfb - Audio.gcom2.nfa)
|
||||||
|
fmid=130.0
|
||||||
|
if Audio.gcom2.nfullspec:
|
||||||
|
bw=96.0 #Total bw 96 kHz
|
||||||
|
fmid=125.0 - 2.2 #Empirical
|
||||||
|
df=bw/NX #kHz per pixel
|
||||||
g.Freq=df*(event.x-375) + fmid
|
g.Freq=df*(event.x-375) + fmid
|
||||||
n=int(g.Freq+0.5)
|
n=int(g.Freq+0.5)
|
||||||
t="%d" % (n,)
|
t="%d" % (n,)
|
||||||
@ -319,11 +324,15 @@ def update():
|
|||||||
#-------------------------------------------------------- draw_axis
|
#-------------------------------------------------------- draw_axis
|
||||||
def draw_axis():
|
def draw_axis():
|
||||||
c.delete(ALL)
|
c.delete(ALL)
|
||||||
xmid=125.0 - 2.3 #Empirical
|
bw=float(Audio.gcom2.nfb - Audio.gcom2.nfa)
|
||||||
bw=96.0
|
xmid=130.0
|
||||||
x1=int(xmid-0.6*bw)
|
if Audio.gcom2.nfullspec:
|
||||||
x2=int(xmid+0.6*bw)
|
bw=96.0 #Total bw 96 kHz
|
||||||
xdf=bw/NX #128 Hz
|
xmid=125.0 - 2.3 #Empirical
|
||||||
|
xdf=bw/NX #kHz per pixel
|
||||||
|
x1=int(xmid-0.6*bw) #Make it too wide, to be
|
||||||
|
x2=int(xmid+0.6*bw) #sure to get all the numbers
|
||||||
|
# print Audio.gcom2.nfullspec,bw,xdf,x1,x2
|
||||||
for ix in range(x1,x2,1):
|
for ix in range(x1,x2,1):
|
||||||
i=0.5*NX + (ix-xmid)/xdf
|
i=0.5*NX + (ix-xmid)/xdf
|
||||||
j=20
|
j=20
|
||||||
@ -334,7 +343,7 @@ def draw_axis():
|
|||||||
if ix<100: x=x+1
|
if ix<100: x=x+1
|
||||||
y=8
|
y=8
|
||||||
c.create_text(x,y,text=str(ix))
|
c.create_text(x,y,text=str(ix))
|
||||||
c.create_line(i,25,i,j,fill='black')
|
c.create_line(i,25,i,j,fill='black') #Draw the upper scale
|
||||||
|
|
||||||
c2.delete(ALL)
|
c2.delete(ALL)
|
||||||
xmid2=0
|
xmid2=0
|
||||||
|
Loading…
Reference in New Issue
Block a user