#!/usr/bin/env python
#
-# Copyright 2003,2004,2005 Free Software Foundation, Inc.
+# Copyright 2003,2004,2005,2007 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
#
from gnuradio import gr, gru
-from gnuradio.wxgui import stdgui
+from gnuradio.wxgui import stdgui2
import wx
import gnuradio.wxgui.plot as plot
import Numeric
default_stripchartsink_size = (640,140)
global_yvalues = []
-def default_cfunc(datum):
- return(datum)
-
class stripchart_sink_base(object):
def __init__(self, input_is_real=False, y_per_div=10, ref_level=50,
sample_rate=1, stripsize=4,
title='',xlabel="X", ylabel="Y", divbase=0.025,
- cfunc=default_cfunc, parallel=False, scaling=1.0, autoscale=False):
+ parallel=False, scaling=1.0, autoscale=False):
# initialize common attributes
self.y_divs = 8
self.ylabel = ylabel
self.divbase = divbase
self.scaling = scaling
- self.cfunc = cfunc
self.input_is_real = input_is_real
self.msgq = gr.msg_queue(2) # queue that holds a maximum of 2 messages
self.vector=Numeric.zeros(stripsize,Numeric.Float64)
def set_autoscale(self, auto):
self.autoscale = auto
-class stripchart_sink_f(gr.hier_block, stripchart_sink_base):
- def __init__(self, fg, parent,
+class stripchart_sink_f(gr.hier_block2, stripchart_sink_base):
+ def __init__(self, parent,
y_per_div=10, ref_level=50, sample_rate=1,
title='', stripsize=4,
size=default_stripchartsink_size,xlabel="X",
- ylabel="Y", divbase=0.025, cfunc=default_cfunc,
+ ylabel="Y", divbase=0.025,
parallel=False, scaling=1.0, autoscale=False):
+ if parallel == False:
+ gr.hier_block2.__init__(self, "stripchart_sink_f",
+ gr.io_signature(1, 1, gr.sizeof_float),
+ gr.io_signature(0, 0, 0))
+ else:
+ gr.hier_block2.__init__(self, "stripchart_sink_f",
+ gr.io_signature(1, 1, gr.sizeof_float*stripsize),
+ gr.io_signature(0, 0, 0))
+
+
stripchart_sink_base.__init__(self, input_is_real=True,
y_per_div=y_per_div, ref_level=ref_level,
sample_rate=sample_rate,
stripsize=stripsize,
xlabel=xlabel, ylabel=ylabel,
divbase=divbase, title=title,
- cfunc=cfunc, parallel=parallel,
+ parallel=parallel,
scaling=scaling, autoscale=autoscale)
if (parallel == True):
else:
one = gr.keep_one_in_n (gr.sizeof_float, 1)
sink = gr.message_sink(gr.sizeof_float, self.msgq, True)
- fg.connect (one, sink)
-
- gr.hier_block.__init__(self, fg, one, sink)
+ self.connect (self, one, sink)
self.win = stripchart_window(self, parent, size=size)
calc_min = min(indata)
calc_max = max(indata)
d = calc_max - calc_min
- d *= 0.1
+ d = d * 0.1
if self.stripchartsink.autoscale == True and self.stripchartsink.parallel == True:
self.y_range = self._axisInterval ('min', calc_min-d, calc_max+d)
- if (self.stripchartsink.parallel != True):
- indata = self.stripchartsink.cfunc(indata)
-
N = self.stripchartsink.stripsize
if self.stripchartsink.parallel != True:
for i in range(1,N):