from gnuradio import eng_notation
from gnuradio import optfir
from optparse import OptionParser
-from gnuradio.wxgui import stdgui, fftsink, waterfallsink, scopesink, form, slider
+from gnuradio.wxgui import stdgui2, fftsink2, waterfallsink2, scopesink2, form, slider
import wx
-import usrp_dbid
+from usrpm import usrp_dbid
import time
import os.path
import sys
# required FPGA that can do 4 rx channels.
-class my_graph(stdgui.gui_flow_graph):
+class my_top_block(stdgui2.std_top_block):
def __init__(self, frame, panel, vbox, argv):
- stdgui.gui_flow_graph.__init__(self)
+ stdgui2.std_top_block.__init__(self, frame, panel, vbox, argv)
self.frame = frame
self.panel = panel
sw_decim = 1
self.u = usrp.source_c(0, options.decim, fpga_filename="std_4rx_0tx.rbf")
- if self.u.nddc() < nchan:
+ if self.u.nddcs() < nchan:
sys.stderr.write('This code requires an FPGA build with %d DDCs. This FPGA has only %d.\n' % (
- nchan, self.u.nddc()))
+ nchan, self.u.nddcs()))
raise SystemExit
if not self.u.set_nchannels(nchan):
print "USB data rate = %s" % (eng_notation.num_to_str(input_rate),)
print "Scope data rate = %s" % (eng_notation.num_to_str(input_rate/sw_decim),)
- self.subdev = self.u.db[0] + self.u.db[1]
+ self.subdev = self.u.db(0) + self.u.db(1)
- if (len(self.subdev) != 4 or
- self.u.db[0][0].dbid() != usrp_dbid.BASIC_RX or
- self.u.db[1][0].dbid() != usrp_dbid.BASIC_RX):
+ if (len(self.subdev) < 4 or
+ self.u.db(0, 0).dbid() != usrp_dbid.BASIC_RX or
+ self.u.db(0, 0).dbid() != usrp_dbid.BASIC_RX):
sys.stderr.write('This code requires a Basic Rx board on Sides A & B\n')
sys.exit(1)
self.connect(self.u, di)
# our destination (8 float inputs)
- self.scope = scopesink.scope_sink_f(self, panel, sample_rate=input_rate/sw_decim)
+ self.scope = scopesink2.scope_sink_f(panel, sample_rate=input_rate/sw_decim,
+ num_inputs=2*nchan)
# taps for channel filter
chan_filt_coeffs = optfir.low_pass (1, # gain
def main ():
- app = stdgui.stdapp(my_graph, "Multi Scope", nstatus=1)
+ app = stdgui2.stdapp(my_top_block, "Multi Scope", nstatus=1)
app.MainLoop()
if __name__ == '__main__':