[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3772 - gnuradio/trunk/gr-radio-astronomy/src/python
From: |
mleech |
Subject: |
[Commit-gnuradio] r3772 - gnuradio/trunk/gr-radio-astronomy/src/python |
Date: |
Tue, 10 Oct 2006 20:36:24 -0600 (MDT) |
Author: mleech
Date: 2006-10-10 20:36:24 -0600 (Tue, 10 Oct 2006)
New Revision: 3772
Modified:
gnuradio/trunk/gr-radio-astronomy/src/python/ra_waterfallsink.py
gnuradio/trunk/gr-radio-astronomy/src/python/usrp_ra_receiver.py
Log:
Added "Spectral Cursor" functionality into the waterfall display.
Modified: gnuradio/trunk/gr-radio-astronomy/src/python/ra_waterfallsink.py
===================================================================
--- gnuradio/trunk/gr-radio-astronomy/src/python/ra_waterfallsink.py
2006-10-11 00:16:02 UTC (rev 3771)
+++ gnuradio/trunk/gr-radio-astronomy/src/python/ra_waterfallsink.py
2006-10-11 02:36:24 UTC (rev 3772)
@@ -193,7 +193,7 @@
wx.Panel.__init__(self, parent, id, pos, size, style, name)
self.fftsink = fftsink
- self.bm = wx.EmptyBitmap(1024, 300, -1)
+ self.bm = wx.EmptyBitmap(1024, 512, -1)
self.scale_factor = self.fftsink.scaling
@@ -211,6 +211,7 @@
wx.EVT_CLOSE (self, self.on_close_window)
self.Bind(wx.EVT_RIGHT_UP, self.on_right_click)
+ self.Bind(wx.EVT_MOTION, self.on_motion)
self.input_watcher = input_watcher(fftsink.msgq, fftsink.fft_size,
self)
@@ -295,7 +296,7 @@
dc1 = wx.MemoryDC()
dc1.SelectObject(self.bm)
- dc1.Blit(0,1,1024,300,dc1,0,0,wx.COPY,False,-1,-1)
+ dc1.Blit(0,1,1024,512,dc1,0,0,wx.COPY,False,-1,-1)
x = max(abs(self.fftsink.sample_rate), abs(self.fftsink.baseband_freq))
if x >= 1e9:
@@ -330,8 +331,6 @@
idx = min(WATERFALL_WIDTH-1,idx)
x_positions[idx] = idx
y_values[idx] = y_values[idx] + value
- #dc1.SetPen(self.pens[value])
- #dc1.DrawRectangle(x_pos*p_width, 0, p_width, 1)
else: # complex fft
for x_pos in range(0, d_max): # positive freqs
value = int(dB[x_pos] * scale_factor)
@@ -340,8 +339,6 @@
idx = min(WATERFALL_WIDTH-1,idx)
x_positions[idx] = idx
y_values[idx] = y_values[idx] + value
- #dc1.SetPen(self.pens[value])
- #dc1.DrawRectangle(x_pos*p_width + d_max, 0, p_width, 1)
for x_pos in range(0 , d_max): # negative freqs
value = int(dB[x_pos+d_max] * scale_factor)
value = min(255, max(0, value))
@@ -349,8 +346,6 @@
idx = min(WATERFALL_WIDTH-1,idx)
x_positions[idx] = idx
y_values[idx] = y_values[idx] + value
- #dc1.SetPen(self.pens[value])
- #dc1.DrawRectangle(x_pos*p_width, 0, p_width, 1)
for i in range(0,WATERFALL_WIDTH):
yv = y_values[i]/x_scale
@@ -371,6 +366,11 @@
item.Check(pred())
self.PopupMenu(menu, event.GetPosition())
+ def on_motion(self, event):
+ if not self.fftsink.xydfunc == None:
+ pos = event.GetPosition()
+ self.fftsink.xydfunc(pos)
+
def on_scaling(self, evt):
Id = evt.GetId()
if Id == self.id_scaling_100:
Modified: gnuradio/trunk/gr-radio-astronomy/src/python/usrp_ra_receiver.py
===================================================================
--- gnuradio/trunk/gr-radio-astronomy/src/python/usrp_ra_receiver.py
2006-10-11 00:16:02 UTC (rev 3771)
+++ gnuradio/trunk/gr-radio-astronomy/src/python/usrp_ra_receiver.py
2006-10-11 02:36:24 UTC (rev 3772)
@@ -226,11 +226,11 @@
self.scope = ra_fftsink.ra_fft_sink_c (self, panel,
fft_size=int(self.fft_size), sample_rate=self.fft_input_rate,
fft_rate=int(self.fft_rate), title="Spectral",
- ofunc=self.fft_outfunc, xydfunc=None)
+ ofunc=self.fft_outfunc, xydfunc=self.xydfunc)
else:
self.scope = ra_waterfallsink.ra_waterfallsink_c (self, panel,
fft_size=int(self.fft_size), sample_rate=self.fft_input_rate,
- fft_rate=int(self.fft_rate), title="Spectral",
ofunc=self.fft_outfunc, xydfunc=self.xydfunc)
+ fft_rate=int(self.fft_rate), title="Spectral",
ofunc=self.fft_outfunc, xydfunc=self.xydfunc_waterfall)
# Set up ephemeris data
self.locality = ephem.Observer()
@@ -467,10 +467,9 @@
parent=self.panel, sizer=vbox1, label="Current LMST", weight=1)
vbox1.Add((4,0), 0, 0)
- if self.waterfall == False:
- myform['spec_data'] = form.static_text_field(
- parent=self.panel, sizer=vbox1, label="Spectral Cursor",
weight=1)
- vbox1.Add((4,0), 0, 0)
+ myform['spec_data'] = form.static_text_field(
+ parent=self.panel, sizer=vbox1, label="Spectral Cursor", weight=1)
+ vbox1.Add((4,0), 0, 0)
vbox2 = wx.BoxSizer(wx.VERTICAL)
g = self.subdev.gain_range()
@@ -870,6 +869,13 @@
s2 = "\n%.3fkm/s" % vs
self.myform['spec_data'].set_value(s+s2)
+ def xydfunc_waterfall(self,pos):
+ lower = self.observing - (self.seti_fft_bandwidth / 2)
+ upper = self.observing + (self.seti_fft_bandwidth / 2)
+ binwidth = self.seti_fft_bandwidth / 1024
+ s = "%.6fMHz" % ((lower + (pos.x*binwidth)) / 1.0e6)
+ self.myform['spec_data'].set_value(s)
+
def toggle_cal(self):
if (self.calstate == True):
self.calstate = False
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3772 - gnuradio/trunk/gr-radio-astronomy/src/python,
mleech <=