commit-gnuradio
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]