From 9e85055e987db1d8b753cea6394e3a9d6806529b Mon Sep 17 00:00:00 2001 From: jblum Date: Mon, 19 Jan 2009 22:58:08 +0000 Subject: [PATCH] replaced ", usrp2 blocks, hide for usrp params, mux defaults to 0x0 git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10263 221aa14e-8319-0410-a670-987f0aec2ac5 --- grc/data/platforms/python/block_tree.xml | 2 + grc/data/platforms/python/blocks/Makefile.am | 2 + .../python/blocks/blks2_error_rate.xml | 4 +- .../python/blocks/gr_probe_mpsk_snr_c.xml | 2 +- .../python/blocks/usrp2_sink_xxxx.xml | 127 ++++++++++++++++++ .../python/blocks/usrp2_source_xxxx.xml | 127 ++++++++++++++++++ .../python/blocks/usrp_dual_sink_x.xml | 15 ++- .../python/blocks/usrp_dual_source_x.xml | 23 +++- .../python/blocks/usrp_simple_sink_x.xml | 13 +- .../python/blocks/usrp_simple_source_x.xml | 17 ++- .../python/blocks/variable_chooser.xml | 2 +- .../python/blocks/variable_slider.xml | 2 +- .../python/blocks/variable_text_box.xml | 2 +- .../platforms/python/blocks/xmlrpc_client.xml | 2 +- .../platforms/python/blocks/xmlrpc_server.xml | 2 +- grc/src/grc_gnuradio/usrp/simple_usrp.py | 14 +- 16 files changed, 326 insertions(+), 30 deletions(-) create mode 100644 grc/data/platforms/python/blocks/usrp2_sink_xxxx.xml create mode 100644 grc/data/platforms/python/blocks/usrp2_source_xxxx.xml diff --git a/grc/data/platforms/python/block_tree.xml b/grc/data/platforms/python/block_tree.xml index 1c8d7b7e..cdeef8ba 100644 --- a/grc/data/platforms/python/block_tree.xml +++ b/grc/data/platforms/python/block_tree.xml @@ -249,6 +249,8 @@ usrp_simple_sink_x usrp_dual_source_x usrp_dual_sink_x + usrp2_source_xxxx + usrp2_sink_xxxx Variables diff --git a/grc/data/platforms/python/blocks/Makefile.am b/grc/data/platforms/python/blocks/Makefile.am index 7f5d0c13..7938e768 100644 --- a/grc/data/platforms/python/blocks/Makefile.am +++ b/grc/data/platforms/python/blocks/Makefile.am @@ -197,6 +197,8 @@ dist_ourdata_DATA = \ usrp_dual_source_x.xml \ usrp_simple_sink_x.xml \ usrp_simple_source_x.xml \ + usrp2_sink_xxxx.xml \ + usrp2_source_xxxx.xml \ variable.xml \ variable_chooser.xml \ variable_sink.xml \ diff --git a/grc/data/platforms/python/blocks/blks2_error_rate.xml b/grc/data/platforms/python/blocks/blks2_error_rate.xml index 852e7db0..91a30320 100644 --- a/grc/data/platforms/python/blocks/blks2_error_rate.xml +++ b/grc/data/platforms/python/blocks/blks2_error_rate.xml @@ -20,12 +20,12 @@ enum diff --git a/grc/data/platforms/python/blocks/gr_probe_mpsk_snr_c.xml b/grc/data/platforms/python/blocks/gr_probe_mpsk_snr_c.xml index 8b427076..7f562d2f 100644 --- a/grc/data/platforms/python/blocks/gr_probe_mpsk_snr_c.xml +++ b/grc/data/platforms/python/blocks/gr_probe_mpsk_snr_c.xml @@ -9,7 +9,7 @@ gr_probe_mpsk_snr_c from grc_gnuradio import blks2 as grc_blks2 grc_blks2.probe_mpsk_snr_c( - type="$type", + type='$type', alpha=$alpha, probe_rate=$probe_rate, ) diff --git a/grc/data/platforms/python/blocks/usrp2_sink_xxxx.xml b/grc/data/platforms/python/blocks/usrp2_sink_xxxx.xml new file mode 100644 index 00000000..93405873 --- /dev/null +++ b/grc/data/platforms/python/blocks/usrp2_sink_xxxx.xml @@ -0,0 +1,127 @@ + + + + USRP2 Sink + usrp2_sink_xxxx + from gnuradio import usrp2 + usrp2.sink_$(type.fcn)($interface, $mac_addr) +self.$(id).set_interp_rate($interpolation) +self.$(id).set_frequency($frequency) +self.$(id).set_gain($gain) +#if $auto_tr.eval +self.$(id).set_auto_tr($auto_tr) +#end if +#if $tx_enb.eval +self.$(id).set_enable($tx_enb) +#end if + + set_interp_rate($interpolation) + set_frequency($frequency) + set_gain($gain) + + Output Type + type + enum + + + + + Interface + interface + eth0 + string + + + MAC Addr + mac_addr + 00:50:C2:85:3x:xx + string + + + Frequency + frequency + real + + + Interpolation + interpolation + int + + + Gain + gain + real + + + Auto T/R + auto_tr + + enum + $auto_tr.hide + + + + + + TX Enable + tx_enb + + enum + $tx_enb.hide + + + + + + in + $type + + +The USRP2 sink inputs 100 Megasamples per second / interpolation. + +--- Flex RF specific --- +The "Auto TR" and "TX Enable" settings are flex rf specific and should be left at "Ignore" unless this is a flex rf board. + +If enabled, "Auto Transmit/Receive Switching" handles the preference for transmit packets vs receive packets. \ +By default, "Auto TR" is disabled. + +The "Transmit Enable" configures the transmitter to be on or off. \ +Do not leave this unconfigured. + + diff --git a/grc/data/platforms/python/blocks/usrp2_source_xxxx.xml b/grc/data/platforms/python/blocks/usrp2_source_xxxx.xml new file mode 100644 index 00000000..285ed17c --- /dev/null +++ b/grc/data/platforms/python/blocks/usrp2_source_xxxx.xml @@ -0,0 +1,127 @@ + + + + USRP2 Source + usrp2_source_xxxx + from gnuradio import usrp2 + usrp2.source_$(type.fcn)($interface, $mac_addr) +self.$(id).set_decim_rate($decimation) +self.$(id).set_frequency($frequency) +self.$(id).set_gain($gain) +#if $auto_tr.eval +self.$(id).set_auto_tr($auto_tr) +#end if +#if $rx_ant.eval +self.$(id).select_rx_antenna($rx_ant) +#end if + + set_decim_rate($decimation) + set_frequency($frequency) + set_gain($gain) + + Output Type + type + enum + + + + + Interface + interface + eth0 + string + + + MAC Addr + mac_addr + 00:50:C2:85:3x:xx + string + + + Frequency + frequency + real + + + Decimation + decimation + int + + + Gain + gain + real + + + Auto T/R + auto_tr + + enum + $auto_tr.hide + + + + + + RX Antenna + rx_ant + + enum + $rx_ant.hide + + + + + + out + $type + + +The USRP2 source outputs 100 Megasamples per second / decimation. + +--- Flex RF specific --- +The "Auto TR" and "RX Antenna" settings are flex rf specific and should be left at "Ignore" unless this is a flex rf board. + +If enabled, "Auto Transmit/Receive Switching" handles the preference for transmit packets vs receive packets. \ +By default, "Auto TR" is disabled. + +The "Receive Antenna Setting" selects one of the SMA connectors as the data source. \ +By default, 'TX/RX' is selected. + + diff --git a/grc/data/platforms/python/blocks/usrp_dual_sink_x.xml b/grc/data/platforms/python/blocks/usrp_dual_sink_x.xml index acc14b1f..68213080 100644 --- a/grc/data/platforms/python/blocks/usrp_dual_sink_x.xml +++ b/grc/data/platforms/python/blocks/usrp_dual_sink_x.xml @@ -74,25 +74,30 @@ Mux mux - 0xba98 + 0x0 hex + part Auto T/R auto_tr None enum + $auto_tr.hide @@ -100,17 +105,21 @@ tx_enb_a None enum + $tx_enb_a.hide @@ -118,17 +127,21 @@ tx_enb_b None enum + $tx_enb_b.hide diff --git a/grc/data/platforms/python/blocks/usrp_dual_source_x.xml b/grc/data/platforms/python/blocks/usrp_dual_source_x.xml index bd84c73c..33ff12cb 100644 --- a/grc/data/platforms/python/blocks/usrp_dual_source_x.xml +++ b/grc/data/platforms/python/blocks/usrp_dual_source_x.xml @@ -74,25 +74,30 @@ Mux mux - 0x3210 + 0x0 hex + part Auto T/R auto_tr None enum + $auto_tr.hide @@ -100,17 +105,21 @@ rx_ant_a None enum + $rx_ant_a.hide @@ -118,17 +127,21 @@ rx_ant_b None enum + $rx_ant_b.hide diff --git a/grc/data/platforms/python/blocks/usrp_simple_sink_x.xml b/grc/data/platforms/python/blocks/usrp_simple_sink_x.xml index b525d031..31d01c9b 100644 --- a/grc/data/platforms/python/blocks/usrp_simple_sink_x.xml +++ b/grc/data/platforms/python/blocks/usrp_simple_sink_x.xml @@ -14,11 +14,7 @@ frequency=$frequency, interpolation=$interpolation, gain=$gain, -#if $mux.eval == hex(0) - mux=None, -#else mux=$mux, -#end if auto_tr=$auto_tr, tx_enb=$tx_enb, ) @@ -84,23 +80,28 @@ mux 0x0 hex + part Auto T/R auto_tr None enum + $auto_tr.hide @@ -108,17 +109,21 @@ tx_enb None enum + $tx_enb.hide diff --git a/grc/data/platforms/python/blocks/usrp_simple_source_x.xml b/grc/data/platforms/python/blocks/usrp_simple_source_x.xml index a1598583..e537f700 100644 --- a/grc/data/platforms/python/blocks/usrp_simple_source_x.xml +++ b/grc/data/platforms/python/blocks/usrp_simple_source_x.xml @@ -14,11 +14,7 @@ frequency=$frequency, decimation=$decimation, gain=$gain, -#if $mux.eval == hex(0) - mux=None, -#else mux=$mux, -#end if auto_tr=$auto_tr, rx_ant=$rx_ant, ) @@ -92,23 +88,28 @@ mux 0x0 hex + part Auto T/R auto_tr None enum + $auto_tr.hide @@ -116,17 +117,21 @@ rx_ant None enum + $rx_ant.hide diff --git a/grc/data/platforms/python/blocks/variable_chooser.xml b/grc/data/platforms/python/blocks/variable_chooser.xml index 4eba84d4..2a00a1cf 100644 --- a/grc/data/platforms/python/blocks/variable_chooser.xml +++ b/grc/data/platforms/python/blocks/variable_chooser.xml @@ -14,7 +14,7 @@ _$(id)_control = grc_wxgui.$(chooser_type)_control( #if $label.eval label=$label, #else - label="$id", + label='$id', #end if index=$value_index, choices=$choices, diff --git a/grc/data/platforms/python/blocks/variable_slider.xml b/grc/data/platforms/python/blocks/variable_slider.xml index 27ac7ea5..635f3ed4 100644 --- a/grc/data/platforms/python/blocks/variable_slider.xml +++ b/grc/data/platforms/python/blocks/variable_slider.xml @@ -14,7 +14,7 @@ _$(id)_control = grc_wxgui.slider_$(slider_type)_control( #if $label.eval label=$label, #else - label="$id", + label='$id', #end if value=$id, min=$min, diff --git a/grc/data/platforms/python/blocks/variable_text_box.xml b/grc/data/platforms/python/blocks/variable_text_box.xml index 0dad3d82..97c6aa0d 100644 --- a/grc/data/platforms/python/blocks/variable_text_box.xml +++ b/grc/data/platforms/python/blocks/variable_text_box.xml @@ -14,7 +14,7 @@ _$(id)_control = grc_wxgui.text_box_control( #if $label.eval label=$label, #else - label="$id", + label='$id', #end if value=$id, ) diff --git a/grc/data/platforms/python/blocks/xmlrpc_client.xml b/grc/data/platforms/python/blocks/xmlrpc_client.xml index 82ae8cee..f132a786 100644 --- a/grc/data/platforms/python/blocks/xmlrpc_client.xml +++ b/grc/data/platforms/python/blocks/xmlrpc_client.xml @@ -8,7 +8,7 @@ XMLRPC Client xmlrpc_client import xmlrpclib - xmlrpclib.Server("http://$(addr.eval):$(port)") + xmlrpclib.Server('http://$(addr.eval):$(port)') $(callback.eval)($variable) Address diff --git a/grc/data/platforms/python/blocks/xmlrpc_server.xml b/grc/data/platforms/python/blocks/xmlrpc_server.xml index 40e547ef..6c31bd1a 100644 --- a/grc/data/platforms/python/blocks/xmlrpc_server.xml +++ b/grc/data/platforms/python/blocks/xmlrpc_server.xml @@ -33,7 +33,7 @@ Ex: If the variable is called freq, the function provided by the server will be Example client in python: import xmlrpclib -s = xmlrpclib.Server("http://localhost:8080") +s = xmlrpclib.Server('http://localhost:8080') s.set_freq(5000) diff --git a/grc/src/grc_gnuradio/usrp/simple_usrp.py b/grc/src/grc_gnuradio/usrp/simple_usrp.py index c1019d33..d829cf9e 100644 --- a/grc/src/grc_gnuradio/usrp/simple_usrp.py +++ b/grc/src/grc_gnuradio/usrp/simple_usrp.py @@ -146,7 +146,7 @@ class _simple_usrp(object): class _simple_source(gr.hier_block2, _simple_usrp): """A single usrp source of IO type short or complex.""" - def __init__(self, number, subdev_spec, frequency, decimation, gain, mux=None, auto_tr=None, rx_ant=None): + def __init__(self, number, subdev_spec, frequency, decimation, gain, mux=0x0, auto_tr=None, rx_ant=None): """ USRP simple source contructor. @param number the unit number @@ -168,7 +168,7 @@ class _simple_source(gr.hier_block2, _simple_usrp): u = self.constructor[0](number, nchan=1) if subdev_spec is None: subdev_spec = usrp.pick_rx_subdevice(u) u.set_decim_rate(decimation) - if mux is None: mux = usrp.determine_rx_mux_value(u, subdev_spec) + if not mux: mux = usrp.determine_rx_mux_value(u, subdev_spec) u.set_mux(mux) subdev = _setup_rx_subdev(u, subdev_spec, 0, gain, frequency, auto_tr, rx_ant) _simple_usrp.__init__(self, u, subdev, 0) @@ -186,7 +186,7 @@ class simple_source_s(_simple_source): constructor = (usrp.source_s, ) class _simple_sink(gr.hier_block2, _simple_usrp): """A single usrp sink of IO type short or complex.""" - def __init__(self, number, subdev_spec, frequency, interpolation, gain, mux=None, auto_tr=None, tx_enb=None): + def __init__(self, number, subdev_spec, frequency, interpolation, gain, mux=0x0, auto_tr=None, tx_enb=None): """ USRP simple sink contructor. @param number the unit number @@ -208,7 +208,7 @@ class _simple_sink(gr.hier_block2, _simple_usrp): u = self.constructor[0](number, nchan=1) if subdev_spec is None: subdev_spec = usrp.pick_tx_subdevice(u) u.set_interp_rate(interpolation) - if mux is None: mux = usrp.determine_tx_mux_value(u, subdev_spec) + if not mux: mux = usrp.determine_tx_mux_value(u, subdev_spec) u.set_mux(mux) subdev = _setup_tx_subdev(u, subdev_spec, gain, frequency, auto_tr, tx_enb) _simple_usrp.__init__(self, u, subdev, subdev.which()) @@ -299,7 +299,7 @@ class _dual_usrp(object): class _dual_source(gr.hier_block2, _dual_usrp): """A dual usrp source of IO type short or complex.""" - def __init__(self, number, frequency_a, frequency_b, decimation, gain_a, gain_b, mux=0x3210, auto_tr=None, rx_ant_a=None, rx_ant_b=None): + def __init__(self, number, frequency_a, frequency_b, decimation, gain_a, gain_b, mux=0x0, auto_tr=None, rx_ant_a=None, rx_ant_b=None): """ USRP dual source contructor. @param number the unit number @@ -322,6 +322,7 @@ class _dual_source(gr.hier_block2, _dual_usrp): #create usrp object u = self.constructor[0](number, nchan=2) u.set_decim_rate(decimation) + if not mux: mux = 0x3210 u.set_mux(mux) subdev_a = _setup_rx_subdev(u, (0, 0), 0, gain_a, frequency_a, auto_tr, rx_ant_a) subdev_b = _setup_rx_subdev(u, (1, 0), 1, gain_b, frequency_b, auto_tr, rx_ant_b) @@ -342,7 +343,7 @@ class dual_source_s(_dual_source): constructor = usrp.source_s class _dual_sink(gr.hier_block2, _dual_usrp): """A dual usrp sink of IO type short or complex.""" - def __init__(self, number, frequency_a, frequency_b, interpolation, gain_a, gain_b, mux=0xba98, auto_tr=None, tx_enb_a=None, tx_enb_b=None): + def __init__(self, number, frequency_a, frequency_b, interpolation, gain_a, gain_b, mux=0x0, auto_tr=None, tx_enb_a=None, tx_enb_b=None): """ USRP dual sink contructor. @param number the unit number @@ -363,6 +364,7 @@ class _dual_sink(gr.hier_block2, _dual_usrp): #create usrp object u = self.constructor[0](number, nchan=2) u.set_interp_rate(interpolation) + if not mux: mux = 0xba98 u.set_mux(mux) subdev_a = _setup_tx_subdev(u, (0, 0), gain_a, frequency_a, auto_tr, tx_enb_a) subdev_b = _setup_tx_subdev(u, (1, 0), gain_b, frequency_b, auto_tr, tx_enb_b) -- 2.47.2