[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r9196 - gnuradio/branches/features/experimental-gui
From: |
jblum |
Subject: |
[Commit-gnuradio] r9196 - gnuradio/branches/features/experimental-gui |
Date: |
Wed, 6 Aug 2008 15:33:23 -0600 (MDT) |
Author: jblum
Date: 2008-08-06 15:33:22 -0600 (Wed, 06 Aug 2008)
New Revision: 9196
Modified:
gnuradio/branches/features/experimental-gui/constsink.py
gnuradio/branches/features/experimental-gui/fftsink.py
gnuradio/branches/features/experimental-gui/grc_constsink_test.py
gnuradio/branches/features/experimental-gui/grc_fftsink_test.py
gnuradio/branches/features/experimental-gui/grc_numbersink_test.py
gnuradio/branches/features/experimental-gui/grc_waterfallsink_test.py
gnuradio/branches/features/experimental-gui/numbersink.py
gnuradio/branches/features/experimental-gui/scopesink.py
gnuradio/branches/features/experimental-gui/waterfallsink.py
Log:
changes in wrappers to match wxgui api
Modified: gnuradio/branches/features/experimental-gui/constsink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/constsink.py 2008-08-06
20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/constsink.py 2008-08-06
21:33:22 UTC (rev 9196)
@@ -82,38 +82,44 @@
fmin = -fmax
gain_omega = .25*gain_mu**2 #redundant, will be updated
omega = 1 #set_sample_rate will update this
- sync = gr.mpsk_receiver_cc(
- M, #psk order
- theta,
- alpha,
- beta,
- fmin,
- fmax,
- mu,
- gain_mu,
- omega,
- gain_omega,
- omega_limit,
- )
+ # Costas frequency/phase recovery loop
+ # Critically damped 2nd order PLL
+ self._costas = gr.costas_loop_cc(alpha, beta, fmax, fmin, M)
+ # Timing recovery loop
+ # Critically damped 2nd order DLL
+ self._retime = gr.clock_recovery_mm_cc(omega, gain_omega, mu,
gain_mu, omega_limit)
+ #sync = gr.mpsk_receiver_cc(
+ # M, #psk order
+ # theta,
+ # alpha,
+ # beta,
+ # fmin,
+ # fmax,
+ # mu,
+ # gain_mu,
+ # omega,
+ # gain_omega,
+ # omega_limit,
+ #)
agc = gr.feedforward_agc_cc(16, 1)
msgq = gr.msg_queue(2)
sink = gr.message_sink(gr.sizeof_gr_complex*const_size, msgq,
True)
#connect
- self.connect(self, sync, agc, sd, sink)
+ self.connect(self, self._costas, self._retime, agc, sd, sink)
#controller
def setter(p, k, x): # lambdas can't have assignments :(
p[k] = x
self.controller = pubsub()
- self.controller.subscribe(ALPHA_KEY, sync.set_alpha)
- self.controller.publish(ALPHA_KEY, sync.alpha)
- self.controller.subscribe(BETA_KEY, sync.set_beta)
- self.controller.publish(BETA_KEY, sync.beta)
- self.controller.subscribe(GAIN_MU_KEY, sync.set_gain_mu)
- self.controller.publish(GAIN_MU_KEY, sync.gain_mu)
- self.controller.subscribe(OMEGA_KEY, sync.set_omega)
- self.controller.publish(OMEGA_KEY, sync.omega)
- self.controller.subscribe(GAIN_OMEGA_KEY, sync.set_gain_omega)
- self.controller.publish(GAIN_OMEGA_KEY, sync.gain_omega)
+ self.controller.subscribe(ALPHA_KEY, self._costas.set_alpha)
+ self.controller.publish(ALPHA_KEY, self._costas.alpha)
+ self.controller.subscribe(BETA_KEY, self._costas.set_beta)
+ self.controller.publish(BETA_KEY, self._costas.beta)
+ self.controller.subscribe(GAIN_MU_KEY, self._retime.set_gain_mu)
+ self.controller.publish(GAIN_MU_KEY, self._retime.gain_mu)
+ self.controller.subscribe(OMEGA_KEY, self._retime.set_omega)
+ self.controller.publish(OMEGA_KEY, self._retime.omega)
+ self.controller.subscribe(GAIN_OMEGA_KEY,
self._retime.set_gain_omega)
+ self.controller.publish(GAIN_OMEGA_KEY, self._retime.gain_omega)
self.controller.subscribe(SAMPLE_RATE_KEY, sd.set_sample_rate)
self.controller.subscribe(SAMPLE_RATE_KEY, lambda x:
setter(self.controller, OMEGA_KEY, float(x)/symbol_rate))
self.controller.publish(SAMPLE_RATE_KEY, sd.sample_rate)
Modified: gnuradio/branches/features/experimental-gui/fftsink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/fftsink.py 2008-08-06
20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/fftsink.py 2008-08-06
21:33:22 UTC (rev 9196)
@@ -53,7 +53,7 @@
ref_level=50,
sample_rate=1,
fft_size=512,
- frame_rate=fft_window.DEFAULT_FRAME_RATE,
+ fft_rate=fft_window.DEFAULT_FRAME_RATE,
average=False,
avg_alpha=None,
title='',
@@ -61,20 +61,20 @@
peak_hold=False,
):
#ensure avg alpha
- if avg_alpha is None: avg_alpha = 2.0/frame_rate
+ if avg_alpha is None: avg_alpha = 2.0/fft_rate
#init
gr.hier_block2.__init__(
self,
"fft_sink",
- gr.io_signature(1, 1, self.item_size),
+ gr.io_signature(1, 1, self._item_size),
gr.io_signature(0, 0, 0),
)
#blocks
- copy = gr.kludge_copy(self.item_size)
- fft = self.fft_chain(
+ copy = gr.kludge_copy(self._item_size)
+ fft = self._fft_chain(
sample_rate=sample_rate,
fft_size=fft_size,
- frame_rate=frame_rate,
+ frame_rate=fft_rate,
ref_scale=ref_scale,
avg_alpha=avg_alpha,
average=average,
@@ -101,7 +101,7 @@
controller=self.controller,
size=size,
title=title,
- real=self.real,
+ real=self._real,
fft_size=fft_size,
baseband_freq=baseband_freq,
sample_rate_key=SAMPLE_RATE_KEY,
@@ -121,10 +121,11 @@
self._register_set_prop(self.controller, AVG_ALPHA_KEY)
class fft_sink_f(_fft_sink_base):
- fft_chain = blks2.logpwrfft_f
- item_size = gr.sizeof_float
- real = True
+ _fft_chain = blks2.logpwrfft_f
+ _item_size = gr.sizeof_float
+ _real = True
+
class fft_sink_c(_fft_sink_base):
- fft_chain = blks2.logpwrfft_c
- item_size = gr.sizeof_gr_complex
- real = False
+ _fft_chain = blks2.logpwrfft_c
+ _item_size = gr.sizeof_gr_complex
+ _real = False
Modified: gnuradio/branches/features/experimental-gui/grc_constsink_test.py
===================================================================
--- gnuradio/branches/features/experimental-gui/grc_constsink_test.py
2008-08-06 20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/grc_constsink_test.py
2008-08-06 21:33:22 UTC (rev 9196)
@@ -16,7 +16,7 @@
import wx
const = (1, -1j, -1, 1j)
-freq_off = 0
+freq_off = 250
noise = .1
samp_rate = 50e3
samples_per_symbol = 4
Modified: gnuradio/branches/features/experimental-gui/grc_fftsink_test.py
===================================================================
--- gnuradio/branches/features/experimental-gui/grc_fftsink_test.py
2008-08-06 20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/grc_fftsink_test.py
2008-08-06 21:33:22 UTC (rev 9196)
@@ -76,7 +76,7 @@
ref_level=50,
sample_rate=samp_rate,
fft_size=512,
- frame_rate=60,
+ fft_rate=60,
average=True,
avg_alpha=None,
title="FFT Plot",
Modified: gnuradio/branches/features/experimental-gui/grc_numbersink_test.py
===================================================================
--- gnuradio/branches/features/experimental-gui/grc_numbersink_test.py
2008-08-06 20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/grc_numbersink_test.py
2008-08-06 21:33:22 UTC (rev 9196)
@@ -49,7 +49,7 @@
self.GetWin(),
minval=0,
maxval=100,
- decimal_places=10,
+ decimal_places=3,
sample_rate=samp_rate,
title="Number Plot",
)
Modified: gnuradio/branches/features/experimental-gui/grc_waterfallsink_test.py
===================================================================
--- gnuradio/branches/features/experimental-gui/grc_waterfallsink_test.py
2008-08-06 20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/grc_waterfallsink_test.py
2008-08-06 21:33:22 UTC (rev 9196)
@@ -81,7 +81,7 @@
ref_level=-20,
sample_rate=samp_rate,
fft_size=1024,
- frame_rate=7,
+ fft_rate=7,
average=False,
avg_alpha=None,
title="Waterfall Plot",
Modified: gnuradio/branches/features/experimental-gui/numbersink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/numbersink.py 2008-08-06
20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/numbersink.py 2008-08-06
21:33:22 UTC (rev 9196)
@@ -46,7 +46,7 @@
parent,
minval=0,
maxval=1,
- decimal_places=10,
+ decimal_places=3,
show_gauge=True,
sample_rate=1,
number_rate=number_window.DEFAULT_NUMBER_RATE,
Modified: gnuradio/branches/features/experimental-gui/scopesink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/scopesink.py 2008-08-06
20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/scopesink.py 2008-08-06
21:33:22 UTC (rev 9196)
@@ -40,7 +40,7 @@
##################################################
# Scope sink block (wrapper for old wxgui)
##################################################
-class scope_sink_f(gr.hier_block2, common.prop_setter):
+class _scope_sink_base(gr.hier_block2, common.prop_setter):
"""!
A scope block with a gui window.
"""
@@ -51,25 +51,33 @@
title='',
sample_rate=1,
size=scope_window.DEFAULT_WIN_SIZE,
- frame_rate=scope_window.DEFAULT_FRAME_RATE,
+ frame_decim=None, #ignore (old wrapper)
v_scale=scope_window.DEFAULT_V_SCALE,
t_scale=None,
num_inputs=1,
ac_couple=False,
+ frame_rate=scope_window.DEFAULT_FRAME_RATE,
):
#init
gr.hier_block2.__init__(
self,
"scope_sink",
- gr.io_signature(num_inputs, num_inputs,
gr.sizeof_float),
+ gr.io_signature(num_inputs, num_inputs,
self._item_size),
gr.io_signature(0, 0, 0),
)
#scope
msgq = gr.msg_queue(2)
scope = gr.oscope_sink_f(sample_rate, msgq)
#connect
- for i in range(num_inputs):
- self.connect((self, i), (scope, i))
+ if self._real:
+ for i in range(num_inputs):
+ self.connect((self, i), (scope, i))
+ else:
+ for i in range(num_inputs):
+ c2f = gr.complex_to_float()
+ self.connect((self, i), c2f)
+ self.connect((c2f, 0), (scope, 2*i+0))
+ self.connect((c2f, 1), (scope, 2*i+1))
#controller
self.controller = pubsub()
self.controller.subscribe(SAMPLE_RATE_KEY,
scope.set_sample_rate)
@@ -113,3 +121,11 @@
for attr in filter(lambda a: a.startswith('set_'),
dir(self.win)):
setattr(self, attr, getattr(self.win, attr))
self._register_set_prop(self.controller, SAMPLE_RATE_KEY)
+
+class scope_sink_f(_scope_sink_base):
+ _item_size = gr.sizeof_float
+ _real = True
+
+class scope_sink_c(_scope_sink_base):
+ _item_size = gr.sizeof_gr_complex
+ _real = False
Modified: gnuradio/branches/features/experimental-gui/waterfallsink.py
===================================================================
--- gnuradio/branches/features/experimental-gui/waterfallsink.py
2008-08-06 20:12:03 UTC (rev 9195)
+++ gnuradio/branches/features/experimental-gui/waterfallsink.py
2008-08-06 21:33:22 UTC (rev 9196)
@@ -49,32 +49,33 @@
self,
parent,
baseband_freq=0,
- ref_scale=2.0,
- dynamic_range=80,
+ y_per_div=None, #ignore (old wrapper)
ref_level=50,
sample_rate=1,
fft_size=512,
- frame_rate=waterfall_window.DEFAULT_FRAME_RATE,
+ fft_rate=waterfall_window.DEFAULT_FRAME_RATE,
average=False,
avg_alpha=None,
title='',
size=waterfall_window.DEFAULT_WIN_SIZE,
+ ref_scale=2.0,
+ dynamic_range=80,
):
#ensure avg alpha
- if avg_alpha is None: avg_alpha = 2.0/frame_rate
+ if avg_alpha is None: avg_alpha = 2.0/fft_rate
#init
gr.hier_block2.__init__(
self,
"waterfall_sink",
- gr.io_signature(1, 1, self.item_size),
+ gr.io_signature(1, 1, self._item_size),
gr.io_signature(0, 0, 0),
)
#blocks
- copy = gr.kludge_copy(self.item_size)
- fft = self.fft_chain(
+ copy = gr.kludge_copy(self._item_size)
+ fft = self._fft_chain(
sample_rate=sample_rate,
fft_size=fft_size,
- frame_rate=frame_rate,
+ frame_rate=fft_rate,
ref_scale=ref_scale,
avg_alpha=avg_alpha,
average=average,
@@ -104,7 +105,7 @@
controller=self.controller,
size=size,
title=title,
- real=self.real,
+ real=self._real,
fft_size=fft_size,
baseband_freq=baseband_freq,
decimation_key=DECIMATION_KEY,
@@ -124,10 +125,11 @@
self._register_set_prop(self.controller, AVG_ALPHA_KEY)
class waterfall_sink_f(_waterfall_sink_base):
- fft_chain = blks2.logpwrfft_f
- item_size = gr.sizeof_float
- real = True
+ _fft_chain = blks2.logpwrfft_f
+ _item_size = gr.sizeof_float
+ _real = True
+
class waterfall_sink_c(_waterfall_sink_base):
- fft_chain = blks2.logpwrfft_c
- item_size = gr.sizeof_gr_complex
- real = False
+ _fft_chain = blks2.logpwrfft_c
+ _item_size = gr.sizeof_gr_complex
+ _real = False
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r9196 - gnuradio/branches/features/experimental-gui,
jblum <=