diff options
Diffstat (limited to 'grc')
25 files changed, 11 insertions, 1911 deletions
diff --git a/grc/Makefile.am b/grc/Makefile.am index 330777bb7..c36786281 100644 --- a/grc/Makefile.am +++ b/grc/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2008,2009,2010 Free Software Foundation, Inc. +# Copyright 2008-2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -25,16 +25,12 @@ if PYTHON SUBDIRS = \ base \ blocks \ + freedesktop \ grc_gnuradio \ gui \ python \ scripts -## append freedesktop to the list of subdirs when xdg utils are present -if XDG_UTILS -SUBDIRS += freedesktop -endif - ourpythondir = $(pkgpythondir)/grc ourpython_PYTHON = __init__.py diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am index 15c641fbc..6f7802169 100644 --- a/grc/blocks/Makefile.am +++ b/grc/blocks/Makefile.am @@ -24,8 +24,6 @@ include $(top_srcdir)/Makefile.common ourdatadir = $(grc_blocksdir) dist_ourdata_DATA = \ block_tree.xml \ - audio_sink.xml \ - audio_source.xml \ band_pass_filter.xml \ band_reject_filter.xml \ blks2_am_demod_cf.xml \ @@ -210,14 +208,6 @@ dist_ourdata_DATA = \ trellis_siso_f.xml \ trellis_viterbi_combined_xx.xml \ trellis_viterbi_x.xml \ - usrp2_probe.xml \ - usrp2_sink_xxxx.xml \ - usrp2_source_xxxx.xml \ - usrp_dual_sink_x.xml \ - usrp_dual_source_x.xml \ - usrp_probe.xml \ - usrp_simple_sink_x.xml \ - usrp_simple_source_x.xml \ variable.xml \ variable_config.xml \ variable_function_probe.xml \ diff --git a/grc/blocks/audio_sink.xml b/grc/blocks/audio_sink.xml deleted file mode 100644 index 75d583470..000000000 --- a/grc/blocks/audio_sink.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Audio Sink -################################################### - --> -<block> - <name>Audio Sink</name> - <key>audio_sink</key> - <import>from gnuradio import audio</import> - <make>audio.sink($samp_rate, $device_name, $ok_to_block)</make> - <param> - <name>Sample Rate</name> - <key>samp_rate</key> - <value>32000</value> - <type>int</type> - <option> - <name>16KHz</name> - <key>16000</key> - </option> - <option> - <name>22.05KHz</name> - <key>22050</key> - </option> - <option> - <name>24KHz</name> - <key>24000</key> - </option> - <option> - <name>32KHz</name> - <key>32000</key> - </option> - <option> - <name>44.1KHz</name> - <key>44100</key> - </option> - <option> - <name>48KHz</name> - <key>48000</key> - </option> - </param> - <param> - <name>Device Name</name> - <key>device_name</key> - <value></value> - <type>string</type> - <hide>#if $device_name() then 'none' else 'part'#</hide> - </param> - <param> - <name>OK to Block</name> - <key>ok_to_block</key> - <value>True</value> - <type>enum</type> - <hide>part</hide> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Num Inputs</name> - <key>num_inputs</key> - <value>1</value> - <type>int</type> - </param> - <check>0 < $num_inputs</check> - <sink> - <name>in</name> - <type>float</type> - <nports>$num_inputs</nports> - </sink> - <doc> -Not all sampling rates will be supported by your hardware. - -Leave the device name blank to choose deafult audio device. \ -ALSA users with audio trouble may try setting the device name to plughw:0,0 - -The audio sink can have multiple inputs depending upon your hardware. \ -For example, set the inputs to 2 for stereo audio. - </doc> -</block> diff --git a/grc/blocks/audio_source.xml b/grc/blocks/audio_source.xml deleted file mode 100644 index 1f5d1033e..000000000 --- a/grc/blocks/audio_source.xml +++ /dev/null @@ -1,85 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Audio Source -################################################### - --> -<block> - <name>Audio Source</name> - <key>audio_source</key> - <import>from gnuradio import audio</import> - <make>audio.source($samp_rate, $device_name, $ok_to_block)</make> - <param> - <name>Sample Rate</name> - <key>samp_rate</key> - <value>32000</value> - <type>int</type> - <option> - <name>16KHz</name> - <key>16000</key> - </option> - <option> - <name>22.05KHz</name> - <key>22050</key> - </option> - <option> - <name>24KHz</name> - <key>24000</key> - </option> - <option> - <name>32KHz</name> - <key>32000</key> - </option> - <option> - <name>44.1KHz</name> - <key>44100</key> - </option> - <option> - <name>48KHz</name> - <key>48000</key> - </option> - </param> - <param> - <name>Device Name</name> - <key>device_name</key> - <value></value> - <type>string</type> - <hide>#if $device_name() then 'none' else 'part'#</hide> - </param> - <param> - <name>OK to Block</name> - <key>ok_to_block</key> - <value>True</value> - <type>enum</type> - <hide>part</hide> - <option> - <name>Yes</name> - <key>True</key> - </option> - <option> - <name>No</name> - <key>False</key> - </option> - </param> - <param> - <name>Num Outputs</name> - <key>num_outputs</key> - <value>1</value> - <type>int</type> - </param> - <check>0 < $num_outputs</check> - <source> - <name>out</name> - <type>float</type> - <nports>$num_outputs</nports> - </source> - <doc> -Not all sampling rates will be supported by your hardware. - -Leave the device name blank to choose deafult audio device. \ -ALSA users with audio trouble may try setting the device name to plughw:0,0 - -The audio source can have multiple outputs depending upon your hardware. \ -For example, set the outputs to 2 for stereo audio. - </doc> -</block> diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml index e9a0c1591..549ffbdbf 100644 --- a/grc/blocks/block_tree.xml +++ b/grc/blocks/block_tree.xml @@ -18,7 +18,6 @@ <block>gr_file_source</block> <block>blks2_tcp_source</block> <block>gr_udp_source</block> - <block>audio_source</block> <block>gr_wavfile_source</block> <block>gr_message_source</block> <block>pad_source</block> @@ -31,7 +30,6 @@ <block>gr_file_sink</block> <block>blks2_tcp_sink</block> <block>gr_udp_sink</block> - <block>audio_sink</block> <block>gr_wavfile_sink</block> <block>gr_message_sink</block> <block>pad_sink</block> @@ -263,15 +261,6 @@ <block>gr_probe_signal_f</block> </cat> <cat> - <name>USRP</name> - <block>usrp_simple_source_x</block> - <block>usrp_simple_sink_x</block> - <block>usrp_dual_source_x</block> - <block>usrp_dual_sink_x</block> - <block>usrp2_source_xxxx</block> - <block>usrp2_sink_xxxx</block> - </cat> - <cat> <name>Variables</name> <block>variable</block> <block>variable_config</block> diff --git a/grc/blocks/usrp2_probe.xml b/grc/blocks/usrp2_probe.xml deleted file mode 100644 index cc3f9c2fd..000000000 --- a/grc/blocks/usrp2_probe.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP2 Probe: -## This block should not appear in the tree. -################################################### - --> -<block> - <name>USRP2 Probe</name> - <key>usrp2_probe</key> - <make></make> - <param> - <name>Interface</name> - <key>interface</key> - <value></value> - <type>string</type> - </param> - <param> - <name>Type</name> - <key>type</key> - <value>rx</value> - <type>enum</type> - <option> - <name>RX</name> - <key>rx</key> - </option> - <option> - <name>TX</name> - <key>tx</key> - </option> - </param> - <doc>Press "Probe" to retrieve USRP2 information...</doc> -</block> diff --git a/grc/blocks/usrp2_sink_xxxx.xml b/grc/blocks/usrp2_sink_xxxx.xml deleted file mode 100644 index f9fb25361..000000000 --- a/grc/blocks/usrp2_sink_xxxx.xml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP2 Sink -## Note: the center freq must be set after the lo offset -################################################### - --> -<block> - <name>USRP2 Sink</name> - <key>usrp2_sink_xxxx</key> - <import>from gnuradio import usrp2</import> - <make>#if not $interface() and not $mac_addr() -usrp2.sink_$(type.fcn)() -#elif not $mac_addr() -usrp2.sink_$(type.fcn)($interface) -#else -usrp2.sink_$(type.fcn)($interface, $mac_addr) -#end if -self.$(id).set_interp($interpolation) -#if $lo_offset() != float('inf') -self.$(id).set_lo_offset($lo_offset) -#end if -self.$(id).set_center_freq($frequency) -self.$(id).set_gain($gain) -self.$(id).config_mimo($usrp2_clock_src)</make> - <callback>set_interp($interpolation)</callback> - <callback>#if $lo_offset() != float('inf') -self.$(id).set_lo_offset($lo_offset) -#end if -self.$(id).set_center_freq($frequency)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:32fc</opt> - <opt>vlen:1</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:16sc</opt> - <opt>vlen:2</opt> - </option> - </param> - <param> - <name>Interface</name> - <key>interface</key> - <value></value> - <type>string</type> - </param> - <param> - <name>MAC Addr</name> - <key>mac_addr</key> - <value></value> - <type>string</type> - </param> - <param> - <name>Interpolation</name> - <key>interpolation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Clock Source</name> - <key>usrp2_clock_src</key> - <value>usrp2.MC_WE_DONT_LOCK</value> - <type>enum</type> - <option> - <name>Internal</name> - <key>usrp2.MC_WE_DONT_LOCK</key> - </option> - <option> - <name>External SMA</name> - <key>usrp2.MC_WE_LOCK_TO_SMA</key> - </option> - <option> - <name>External MIMO</name> - <key>usrp2.MC_WE_LOCK_TO_MIMO</key> - </option> - </param> - <sink> - <name>in</name> - <type>$type</type> - <vlen>$type.vlen</vlen> - </sink> - <doc> -The USRP2 sink inputs 100 Megasamples per second / interpolation. - -Input amplitude should be between 0.0 and 1.0. - -To use the default ethernet device, leave interface blank. \ -For systems with only 1 USRP2, you may leave the mac address blank. \ -For multi-USRP2 systems, specify the mac address in the form 00:50:C2:85:3x:xx. - </doc> -</block> diff --git a/grc/blocks/usrp2_source_xxxx.xml b/grc/blocks/usrp2_source_xxxx.xml deleted file mode 100644 index 584199798..000000000 --- a/grc/blocks/usrp2_source_xxxx.xml +++ /dev/null @@ -1,118 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP2 Source -## Note: the center freq must be set after the lo offset -################################################### - --> -<block> - <name>USRP2 Source</name> - <key>usrp2_source_xxxx</key> - <import>from gnuradio import usrp2</import> - <make>#if not $interface() and not $mac_addr() -usrp2.source_$(type.fcn)() -#elif not $mac_addr() -usrp2.source_$(type.fcn)($interface) -#else -usrp2.source_$(type.fcn)($interface, $mac_addr) -#end if -self.$(id).set_decim($decimation) -#if $lo_offset() != float('inf') -self.$(id).set_lo_offset($lo_offset) -#end if -self.$(id).set_center_freq($frequency) -self.$(id).set_gain($gain) -self.$(id).config_mimo($usrp2_clock_src)</make> - <callback>set_decim($decimation)</callback> - <callback>#if $lo_offset() != float('inf') -self.$(id).set_lo_offset($lo_offset) -#end if -self.$(id).set_center_freq($frequency)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:32fc</opt> - <opt>vlen:1</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:16sc</opt> - <opt>vlen:2</opt> - </option> - </param> - <param> - <name>Interface</name> - <key>interface</key> - <value></value> - <type>string</type> - </param> - <param> - <name>MAC Addr</name> - <key>mac_addr</key> - <value></value> - <type>string</type> - </param> - <param> - <name>Decimation</name> - <key>decimation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Clock Source</name> - <key>usrp2_clock_src</key> - <value>usrp2.MC_WE_DONT_LOCK</value> - <type>enum</type> - <option> - <name>Internal</name> - <key>usrp2.MC_WE_DONT_LOCK</key> - </option> - <option> - <name>External SMA</name> - <key>usrp2.MC_WE_LOCK_TO_SMA</key> - </option> - <option> - <name>External MIMO</name> - <key>usrp2.MC_WE_LOCK_TO_MIMO</key> - </option> - </param> - <source> - <name>out</name> - <type>$type</type> - <vlen>$type.vlen</vlen> - </source> - <doc> -The USRP2 source outputs 100 Megasamples per second / decimation. - -To use the default ethernet device, leave interface blank. \ -For systems with only 1 USRP2, you may leave the mac address blank. \ -For multi-USRP2 systems, specify the mac address in the form 00:50:C2:85:3x:xx. - </doc> -</block> diff --git a/grc/blocks/usrp_dual_sink_x.xml b/grc/blocks/usrp_dual_sink_x.xml deleted file mode 100644 index 4539b62f9..000000000 --- a/grc/blocks/usrp_dual_sink_x.xml +++ /dev/null @@ -1,203 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Dual Sink -################################################### - --> -<block> - <name>USRP Dual Sink</name> - <key>usrp_dual_sink_x</key> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.dual_sink_$(type.fcn)(which=$which) -self.$(id).set_interp_rate($interpolation) -self.$(id).set_frequency_a($frequency_a, verbose=True#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -) -self.$(id).set_frequency_b($frequency_b, verbose=True#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -) -self.$(id).set_gain_a($gain_a) -self.$(id).set_gain_b($gain_b) -################################################## -## Flex RF A -################################################## -#if $transmit_a.tx_enb -self.$(id).set_enable_a(True) -#end if -#if $transmit_a.auto_tr -self.$(id).set_auto_tr_a(True) -#end if -################################################## -## Flex RF B -################################################## -#if $transmit_b.tx_enb -self.$(id).set_enable_b(True) -#end if -#if $transmit_b.auto_tr -self.$(id).set_auto_tr_b(True) -#end if</make> - <callback>set_interp_rate($interpolation)</callback> - <callback>set_frequency_a($frequency_a#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -)</callback> - <callback>set_frequency_b($frequency_b#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -)</callback> - <callback>set_gain_a($gain_a)</callback> - <callback>set_gain_b($gain_b)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Interpolation</name> - <key>interpolation</key> - <type>int</type> - </param> - <param> - <name>Frequency A (Hz)</name> - <key>frequency_a</key> - <type>real</type> - </param> - <param> - <name>Frequency B (Hz)</name> - <key>frequency_b</key> - <type>real</type> - </param> - <param> - <name>LO Offset A (Hz)</name> - <key>lo_offset_a</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_a() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>LO Offset B (Hz)</name> - <key>lo_offset_b</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_b() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain A (dB)</name> - <key>gain_a</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Gain B (dB)</name> - <key>gain_b</key> - <value>0</value> - <type>real</type> - </param> -<!-- -################################################### -## Flex RF A -################################################### - --> - <param> - <name>Transmit A</name> - <key>transmit_a</key> - <value></value> - <type>enum</type> - <hide>#if $transmit_a.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> -<!-- -################################################### -## Flex RF B -################################################### - --> - <param> - <name>Transmit B</name> - <key>transmit_b</key> - <value></value> - <type>enum</type> - <hide>#if $transmit_b.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> - <sink> - <name>Ain</name> - <type>$type</type> - </sink> - <sink> - <name>Bin</name> - <type>$type</type> - </sink> - <doc> -The USRP sink inputs 128 Megasamples per second / interpolation. - -Input amplitude should be between 0 and 32767. - -Flex RF boards only: The "Transmit Setting" must be configured. \ -When set to "Enable" the transmitter is always on. \ -When set to "Auto Transmit/Receive", the transmitter is disabled while receiving. - </doc> -</block> diff --git a/grc/blocks/usrp_dual_source_x.xml b/grc/blocks/usrp_dual_source_x.xml deleted file mode 100644 index 07d3174bb..000000000 --- a/grc/blocks/usrp_dual_source_x.xml +++ /dev/null @@ -1,242 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Dual Source -################################################### - --> -<block> - <name>USRP Dual Source</name> - <key>usrp_dual_source_x</key> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.dual_source_$(type.fcn)( - which=$which, - rx_ant_a=$rx_ant_a, rx_ant_b=$rx_ant_b, - rx_source_a=$rx_source_a, rx_source_b=$rx_source_b, -) -#if $format() -self.$(id).set_format(width=$format.width, shift=$format.shift) -#end if -self.$(id).set_decim_rate($decimation) -self.$(id).set_frequency_a($frequency_a, verbose=True#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -) -self.$(id).set_frequency_b($frequency_b, verbose=True#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -) -self.$(id).set_gain_a($gain_a) -self.$(id).set_gain_b($gain_b)</make> - <callback>set_decim_rate($decimation)</callback> - <callback>set_frequency_a($frequency_a#slurp -#if $lo_offset_a() != float('inf') -, lo_offset=$lo_offset_a#slurp -#end if -)</callback> - <callback>set_frequency_b($frequency_b#slurp -#if $lo_offset_b() != float('inf') -, lo_offset=$lo_offset_b#slurp -#end if -)</callback> - <callback>set_gain_a($gain_a)</callback> - <callback>set_gain_b($gain_b)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Format</name> - <key>format</key> - <value></value> - <type>enum</type> - <hide>#if $format() then '' else 'part'#</hide> - <option> - <name>16 Bits (Default)</name> - <key></key> - <opt>width:16</opt> - <opt>shift:0</opt> - </option> - <option> - <name>8 Bits, Shift 8</name> - <key>w8_s8</key> - <opt>width:8</opt> - <opt>shift:8</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Decimation</name> - <key>decimation</key> - <type>int</type> - </param> - <param> - <name>Frequency A (Hz)</name> - <key>frequency_a</key> - <type>real</type> - </param> - <param> - <name>Frequency B (Hz)</name> - <key>frequency_b</key> - <type>real</type> - </param> - <param> - <name>LO Offset A (Hz)</name> - <key>lo_offset_a</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_a() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>LO Offset B (Hz)</name> - <key>lo_offset_b</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset_b() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain A (dB)</name> - <key>gain_a</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Gain B (dB)</name> - <key>gain_b</key> - <value>0</value> - <type>real</type> - </param> -<!-- -################################################### -## Antenna A -################################################### - --> - <param> - <name>RX Antenna A</name> - <key>rx_ant_a</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> -<!-- -################################################### -## Antenna B -################################################### - --> - <param> - <name>RX Antenna B</name> - <key>rx_ant_b</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> - <param> - <name>RX Source A</name> - <key>rx_source_a</key> - <value>A</value> - <type>string</type> - <hide>#if $rx_source_a() == 'A' then 'part' else 'none'#</hide> - <option> - <name>Side A</name> - <key>A</key> - </option> - <option> - <name>Side B</name> - <key>B</key> - </option> - </param> - <param> - <name>RX Source B</name> - <key>rx_source_b</key> - <value>B</value> - <type>string</type> - <hide>#if $rx_source_b() == 'B' then 'part' else 'none'#</hide> - <option> - <name>Side A</name> - <key>A</key> - </option> - <option> - <name>Side B</name> - <key>B</key> - </option> - </param> - <source> - <name>Aout</name> - <type>$type</type> - </source> - <source> - <name>Bout</name> - <type>$type</type> - </source> - <doc> -The USRP source outputs 64 Megasamples per second / decimation. - -The "Receive Antenna Setting" selects one of the SMA connectors as the data source. \ -Flex RF boards use the "TX/RX" and "RX2" settings. \ -Basic RX and LFRX use the "RXA", "RXB", and "RXAB" settings. \ -All other boards use the "RXA" setting. - </doc> -</block> diff --git a/grc/blocks/usrp_probe.xml b/grc/blocks/usrp_probe.xml deleted file mode 100644 index ee207c28d..000000000 --- a/grc/blocks/usrp_probe.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Probe: -## This block should not appear in the tree. -################################################### - --> -<block> - <name>USRP Probe</name> - <key>usrp_probe</key> - <make></make> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Daughter Board</name> - <key>dboard</key> - <type>enum</type> - <option> - <name>RX A</name> - <key>rx_a</key> - </option> - <option> - <name>RX B</name> - <key>rx_b</key> - </option> - <option> - <name>TX A</name> - <key>tx_a</key> - </option> - <option> - <name>TX B</name> - <key>tx_b</key> - </option> - </param> - <doc>Press "Probe" to retrieve USRP information...</doc> -</block> diff --git a/grc/blocks/usrp_simple_sink_x.xml b/grc/blocks/usrp_simple_sink_x.xml deleted file mode 100644 index b52cd4880..000000000 --- a/grc/blocks/usrp_simple_sink_x.xml +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Simple Sink -################################################### - --> -<block> - <name>USRP Sink</name> - <key>usrp_simple_sink_x</key> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.simple_sink_$(type.fcn)(which=$which, side=$side) -self.$(id).set_interp_rate($interpolation) -self.$(id).set_frequency($frequency, verbose=True#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -) -self.$(id).set_gain($gain) -#if $transmit.tx_enb -self.$(id).set_enable(True) -#end if -#if $transmit.auto_tr -self.$(id).set_auto_tr(True) -#end if</make> - <callback>set_interp_rate($interpolation)</callback> - <callback>set_frequency($frequency#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Interpolation</name> - <key>interpolation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Side</name> - <key>side</key> - <value>A</value> - <type>string</type> - <option> - <name>A</name> - <key>A</key> - </option> - <option> - <name>B</name> - <key>B</key> - </option> - </param> - <param> - <name>Transmit</name> - <key>transmit</key> - <value></value> - <type>enum</type> - <hide>#if $transmit.tx_enb then 'none' else 'part'#</hide> - <option> - <name>Unconfigured</name> - <key></key> - <opt>tx_enb:</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Enable</name> - <key>tx_enb</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:</opt> - </option> - <option> - <name>Auto T/R</name> - <key>auto_tr</key> - <opt>tx_enb:1</opt> - <opt>auto_tr:1</opt> - </option> - </param> - <sink> - <name>in</name> - <type>$type</type> - </sink> - <doc> -The USRP sink inputs 128 Megasamples per second / interpolation. - -Input amplitude should be between 0 and 32767. - -Flex RF boards only: The "Transmit Setting" must be configured. \ -When set to "Enable" the transmitter is always on. \ -When set to "Auto Transmit/Receive", the transmitter is disabled while receiving. - </doc> -</block> diff --git a/grc/blocks/usrp_simple_source_x.xml b/grc/blocks/usrp_simple_source_x.xml deleted file mode 100644 index 7fcc7a22c..000000000 --- a/grc/blocks/usrp_simple_source_x.xml +++ /dev/null @@ -1,167 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##USRP Simple Source -################################################### - --> -<block> - <name>USRP Source</name> - <key>usrp_simple_source_x</key> - <import>from grc_gnuradio import usrp as grc_usrp</import> - <make>grc_usrp.simple_source_$(type.fcn)(which=$which, side=$side, rx_ant=$rx_ant#if $hb_filters() then ', no_hb=True' else ''#) -#if $format() -self.$(id).set_format(width=$format.width, shift=$format.shift) -#end if -self.$(id).set_decim_rate($decimation) -self.$(id).set_frequency($frequency, verbose=True#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -) -self.$(id).set_gain($gain)</make> - <callback>set_decim_rate($decimation)</callback> - <callback>set_frequency($frequency#slurp -#if $lo_offset() != float('inf') -, lo_offset=$lo_offset#slurp -#end if -)</callback> - <callback>set_gain($gain)</callback> - <param> - <name>Output Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>fcn:c</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>fcn:s</opt> - </option> - </param> - <param> - <name>Format</name> - <key>format</key> - <value></value> - <type>enum</type> - <hide>#if $format() then '' else 'part'#</hide> - <option> - <name>16 Bits (Default)</name> - <key></key> - <opt>width:16</opt> - <opt>shift:0</opt> - </option> - <option> - <name>8 Bits, Shift 8</name> - <key>w8_s8</key> - <opt>width:8</opt> - <opt>shift:8</opt> - </option> - </param> - <param> - <name>Unit Number</name> - <key>which</key> - <value>0</value> - <type>int</type> - </param> - <param> - <name>Decimation</name> - <key>decimation</key> - <type>int</type> - </param> - <param> - <name>Frequency (Hz)</name> - <key>frequency</key> - <type>real</type> - </param> - <param> - <name>LO Offset (Hz)</name> - <key>lo_offset</key> - <value>float('inf')</value> - <type>real</type> - <hide>#if $lo_offset() == float('inf') then 'part' else 'none'#</hide> - <option> - <name>Default</name> - <key>float('inf')</key> - </option> - </param> - <param> - <name>Gain (dB)</name> - <key>gain</key> - <value>0</value> - <type>real</type> - </param> - <param> - <name>Side</name> - <key>side</key> - <value>A</value> - <type>string</type> - <option> - <name>A</name> - <key>A</key> - </option> - <option> - <name>B</name> - <key>B</key> - </option> - </param> - <param> - <name>RX Antenna</name> - <key>rx_ant</key> - <value>RXA</value> - <type>string</type> - <option> - <name>RXA</name> - <key>RXA</key> - </option> - <option> - <name>RXB</name> - <key>RXB</key> - </option> - <option> - <name>RXAB</name> - <key>RXAB</key> - </option> - <option> - <name>TX/RX</name> - <key>TX/RX</key> - </option> - <option> - <name>RX2</name> - <key>RX2</key> - </option> - </param> - <param> - <name>Halfband Filters</name> - <key>hb_filters</key> - <value></value> - <type>enum</type> - <hide>#if $hb_filters() then 'none' else 'part'#</hide> - <option> - <name>Enable</name> - <key></key> - </option> - <option> - <name>Disable</name> - <key>1</key> - </option> - </param> - <source> - <name>out</name> - <type>$type</type> - </source> - <doc> -The USRP source outputs 64 Megasamples per second / decimation. - -The "Receive Antenna Setting" selects one of the SMA connectors as the data source. \ -Flex RF boards use the "TX/RX" and "RX2" settings. \ -Basic RX and LFRX use the "RXA", "RXB", and "RXAB" settings. \ -All other boards use the "RXA" setting. - -With the format set to 8 bits and the halfband filters disabled, the USRP can acheive a decimation rate of 4. \ -Disabling the halfband filters requires a special USRP firmware without halfband filters or TX paths. \ -For this reason, the USRP cannot transmit with the halfband filters disabled. - </doc> -</block> diff --git a/grc/freedesktop/Makefile.am b/grc/freedesktop/Makefile.am index dd7411bbb..f89a344f7 100644 --- a/grc/freedesktop/Makefile.am +++ b/grc/freedesktop/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2008-2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -29,9 +29,7 @@ dist_ourdata_DATA = \ grc-icon-48.png \ grc-icon-32.png \ gnuradio-grc.xml \ - gnuradio-grc.desktop \ - gnuradio-usrp2_probe.desktop \ - gnuradio-usrp_probe.desktop + gnuradio-grc.desktop pkglibexecdir = $(libexecdir)/$(PACKAGE) dist_pkglibexec_SCRIPTS = grc_setup_freedesktop @@ -42,6 +40,7 @@ grc_setup_freedesktop: $(srcdir)/grc_setup_freedesktop.in Makefile EXTRA_DIST += $(srcdir)/grc_setup_freedesktop.in BUILT_SOURCES += grc_setup_freedesktop +if XDG_UTILS install-data-hook: @printf "\n*** GRC Post-Install Message ***\ \nTo install icons, mime type, and menu items\ @@ -53,3 +52,4 @@ uninstall-hook: \nTo uninstall icons, mime type, and menu items\ \nfor a freedesktop.org system (Gnome/KDE/Xfce):\ \n >>> sudo $(pkglibexecdir)/grc_setup_freedesktop uninstall\n\n" +endif diff --git a/grc/freedesktop/gnuradio-usrp2_probe.desktop b/grc/freedesktop/gnuradio-usrp2_probe.desktop deleted file mode 100644 index c71a092b1..000000000 --- a/grc/freedesktop/gnuradio-usrp2_probe.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=USRP2 Probe -Exec=usrp2_probe -Categories=Development; -Icon=gnuradio-grc diff --git a/grc/freedesktop/gnuradio-usrp_probe.desktop b/grc/freedesktop/gnuradio-usrp_probe.desktop deleted file mode 100644 index 136321994..000000000 --- a/grc/freedesktop/gnuradio-usrp_probe.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=USRP Probe -Exec=usrp_probe -Categories=Development; -Icon=gnuradio-grc diff --git a/grc/freedesktop/grc_setup_freedesktop.in b/grc/freedesktop/grc_setup_freedesktop.in index ab4ce82ef..1e3546197 100644 --- a/grc/freedesktop/grc_setup_freedesktop.in +++ b/grc/freedesktop/grc_setup_freedesktop.in @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2008-2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -28,7 +28,6 @@ ################################################## ICON_SIZES="32 48 64 128 256" -MENU_ITEMS="grc usrp2_probe usrp_probe" if [ -n "$2" ]; then SRCDIR="$2" else @@ -49,9 +48,7 @@ case "$1" in echo "Install mime type" xdg-mime install ${SRCDIR}/gnuradio-grc.xml echo "Install menu items" - for menu_item in ${MENU_ITEMS}; do \ - xdg-desktop-menu install ${SRCDIR}/gnuradio-${menu_item}.desktop; \ - done + xdg-desktop-menu install ${SRCDIR}/*.desktop echo "Done!" echo "" ;; @@ -68,9 +65,7 @@ case "$1" in echo "Uninstall mime type" xdg-mime uninstall ${SRCDIR}/gnuradio-grc.xml echo "Uninstall menu items" - for menu_item in ${MENU_ITEMS}; do \ - xdg-desktop-menu uninstall gnuradio-${menu_item}.desktop; \ - done + xdg-desktop-menu uninstall `ls ${SRCDIR}/*.desktop | xargs -n1 basename` echo "Done!" echo "" ;; diff --git a/grc/grc_gnuradio/Makefile.am b/grc/grc_gnuradio/Makefile.am index c70972f59..af1d86be9 100644 --- a/grc/grc_gnuradio/Makefile.am +++ b/grc/grc_gnuradio/Makefile.am @@ -33,10 +33,3 @@ blks2_python_PYTHON = \ blks2/packet.py \ blks2/selector.py \ blks2/tcp.py - -usrp_pythondir = $(grc_gnuradio_prefix)/usrp -usrp_python_PYTHON = \ - usrp/__init__.py \ - usrp/common.py \ - usrp/dual_usrp.py \ - usrp/simple_usrp.py diff --git a/grc/grc_gnuradio/usrp/__init__.py b/grc/grc_gnuradio/usrp/__init__.py deleted file mode 100644 index 1956bbd5b..000000000 --- a/grc/grc_gnuradio/usrp/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright 2008 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from simple_usrp import \ - simple_source_c, simple_source_s, \ - simple_sink_c, simple_sink_s -from dual_usrp import \ - dual_source_c, dual_source_s, \ - dual_sink_c, dual_sink_s diff --git a/grc/grc_gnuradio/usrp/common.py b/grc/grc_gnuradio/usrp/common.py deleted file mode 100644 index 65c1e7e29..000000000 --- a/grc/grc_gnuradio/usrp/common.py +++ /dev/null @@ -1,75 +0,0 @@ -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import sys -from gnuradio import usrp, gr - -################################################## -# USRP base class with common methods -################################################## -class usrp_helper(object): - def _make_usrp(self, *args, **kwargs): self._u = self._usrp_args[0](*args, **kwargs) - def _get_u(self): return self._u - def _get_io_size(self): return self._usrp_args[1] - def _set_frequency(self, chan, subdev, frequency, verbose=False): - """ - Set the carrier frequency for the given subdevice. - @param chan specifies the DDC/DUC number - @param frequency the carrier frequency in Hz - @param verbose if true, print usrp tuning information - """ - r = self._get_u().tune(chan, subdev, frequency) - if not verbose: return - print subdev.side_and_name() - if r: - print "\tr.baseband_frequency =", r.baseband_freq - print "\tr.dxc_frequency =", r.dxc_freq - print "\tr.residual_frequency =", r.residual_freq - print "\tr.inverted =", r.inverted, "\n" - else: print >> sys.stderr, 'Error calling tune on subdevice.' - def set_format(self, width, shift): self._get_u().set_format(self._get_u().make_format(width, shift)) - -################################################## -# Classes to associate usrp constructor w/ io size -################################################## -class usrp_source_c(usrp_helper): _usrp_args = (usrp.source_c, gr.sizeof_gr_complex) -class usrp_source_s(usrp_helper): _usrp_args = (usrp.source_s, gr.sizeof_short) -class usrp_sink_c(usrp_helper): _usrp_args = (usrp.sink_c, gr.sizeof_gr_complex) -class usrp_sink_s(usrp_helper): _usrp_args = (usrp.sink_s, gr.sizeof_short) - -################################################## -# Side spec and antenna spec functions -################################################## -def is_flex(rx_ant): return rx_ant.upper() in ('TX/RX', 'RX2') -def to_spec(side, rx_ant='RXA'): - """ - Convert the side to a spec number. - @param side A or B - @param rx_ant antenna type - @return the spec (0/1, 0/1/2) - """ - #determine the side spec - try: side_spec = {'A': 0, 'B': 1}[side.upper()] - except: raise ValueError, 'Side A or B expected.' - #determine the subdevice spec - if rx_ant.upper() == 'RXB': subdev_spec = 1 - elif rx_ant.upper() == 'RXAB': subdev_spec = 2 - else: subdev_spec = 0 - return (side_spec, subdev_spec) diff --git a/grc/grc_gnuradio/usrp/dual_usrp.py b/grc/grc_gnuradio/usrp/dual_usrp.py deleted file mode 100644 index 66b76b2df..000000000 --- a/grc/grc_gnuradio/usrp/dual_usrp.py +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 2009, 2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import common -from gnuradio import gr - -#################################################################### -# Dual USRP Source -#################################################################### -class _dual_source(gr.hier_block2): - """A dual usrp source of IO type short or complex.""" - - def __init__(self, which, rx_ant_a='RXA', rx_ant_b='RXA', rx_source_a='A', rx_source_b='B'): - """ - USRP dual source contructor. - @param which the unit number - @param rx_ant_a the antenna choice - @param rx_ant_b the antenna choice - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_dual_source', - gr.io_signature(0, 0, 0), - gr.io_signature(2, 2, self._get_io_size()), - ) - #create usrp object - self._make_usrp(which=which, nchan=2) - subdev_spec_a = common.to_spec(rx_source_a, rx_ant_a) - subdev_spec_b = common.to_spec(rx_source_b, rx_ant_b) - self._get_u().set_mux(self._get_u().determine_rx_mux_value(subdev_spec_a, subdev_spec_b)) - self._subdev_a = self._get_u().selected_subdev(subdev_spec_a) - self._subdev_b = self._get_u().selected_subdev(subdev_spec_b) - #connect - deinter = gr.deinterleave(self._get_io_size()) - self.connect(self._get_u(), deinter) - for i in range(2): self.connect((deinter, i), (self, i)) - - def set_decim_rate(self, decim): self._get_u().set_decim_rate(int(decim)) - def set_frequency_a(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset) - self._set_frequency( - chan=0, #ddc0 - subdev=self._subdev_a, - frequency=frequency, - verbose=verbose, - ) - def set_frequency_b(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset) - self._set_frequency( - chan=1, #ddc1 - subdev=self._subdev_b, - frequency=frequency, - verbose=verbose, - ) - def set_gain_a(self, gain): self._subdev_a.set_gain(gain) - def set_gain_b(self, gain): self._subdev_b.set_gain(gain) - -class dual_source_c(_dual_source, common.usrp_source_c): pass -class dual_source_s(_dual_source, common.usrp_source_s): pass - -#################################################################### -# Dual USRP Sink -#################################################################### -class _dual_sink(gr.hier_block2): - """A dual usrp sink of IO type short or complex.""" - - def __init__(self, which): - """ - USRP simple sink contructor. - @param which the unit number - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_dual_sink', - gr.io_signature(2, 2, self._get_io_size()), - gr.io_signature(0, 0, 0), - ) - #create usrp object - self._make_usrp(which=which, nchan=2) - subdev_spec_a = common.to_spec('A') - subdev_spec_b = common.to_spec('B') - self._get_u().set_mux(self._get_u().determine_tx_mux_value(subdev_spec_a, subdev_spec_b)) - self._subdev_a = self._get_u().selected_subdev(subdev_spec_a) - self._subdev_b = self._get_u().selected_subdev(subdev_spec_b) - #connect - inter = gr.interleave(self._get_io_size()) - self.connect(inter, self._get_u()) - for i in range(2): self.connect((self, i), (inter, i)) - - def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp)) - def set_frequency_a(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_a.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev_a.which(), - subdev=self._subdev_a, - frequency=frequency, - verbose=verbose, - ) - def set_frequency_b(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev_b.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev_b.which(), - subdev=self._subdev_b, - frequency=frequency, - verbose=verbose, - ) - def set_gain_a(self, gain): self._subdev_a.set_gain(gain) - def set_gain_b(self, gain): self._subdev_b.set_gain(gain) - def set_enable_a(self, enable): self._subdev_a.set_enable(enable) - def set_enable_b(self, enable): self._subdev_b.set_enable(enable) - def set_auto_tr_a(self, auto_tr): self._subdev_a.set_auto_tr(auto_tr) - def set_auto_tr_b(self, auto_tr): self._subdev_b.set_auto_tr(auto_tr) - -class dual_sink_c(_dual_sink, common.usrp_sink_c): pass -class dual_sink_s(_dual_sink, common.usrp_sink_s): pass diff --git a/grc/grc_gnuradio/usrp/simple_usrp.py b/grc/grc_gnuradio/usrp/simple_usrp.py deleted file mode 100644 index fb7a39570..000000000 --- a/grc/grc_gnuradio/usrp/simple_usrp.py +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -import common -from gnuradio import gr - -#################################################################### -# Simple USRP Source -#################################################################### -class _simple_source(gr.hier_block2): - """A single usrp source of IO type short or complex.""" - - def __init__(self, which, side='A', rx_ant='RXA', no_hb=False): - """ - USRP simple source contructor. - @param which the unit number - @param side the usrp side A or B - @param rx_ant the antenna choice - @param no_hb disable half band filters - """ - self._no_hb = no_hb - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_simple_source', - gr.io_signature(0, 0, 0), - gr.io_signature(1, 1, self._get_io_size()), - ) - #create usrp object - if self._no_hb: self._make_usrp(which=which, nchan=1, fpga_filename="std_4rx_0tx.rbf") - else: self._make_usrp(which=which, nchan=1) - subdev_spec = common.to_spec(side, rx_ant) - self._get_u().set_mux(self._get_u().determine_rx_mux_value(subdev_spec)) - self._subdev = self._get_u().selected_subdev(subdev_spec) - if common.is_flex(rx_ant): self._subdev.select_rx_antenna(rx_ant) - #connect - self.connect(self._get_u(), self) - - def set_decim_rate(self, decim): - self._get_u().set_decim_rate(int(decim)) - if self._no_hb: #set the BW to half the sample rate - self._subdev.set_bw(self._get_u().converter_rate()/decim/2) - def set_frequency(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev.set_lo_offset(lo_offset) - self._set_frequency( - chan=0, #ddc0 - subdev=self._subdev, - frequency=frequency, - verbose=verbose, - ) - def set_gain(self, gain): self._subdev.set_gain(gain) - -class simple_source_c(_simple_source, common.usrp_source_c): pass -class simple_source_s(_simple_source, common.usrp_source_s): pass - -#################################################################### -# Simple USRP Sink -#################################################################### -class _simple_sink(gr.hier_block2): - """A single usrp sink of IO type short or complex.""" - - def __init__(self, which, side='A'): - """ - USRP simple sink contructor. - @param which the unit number - @param side the usrp side A or B - """ - #initialize hier2 block - gr.hier_block2.__init__( - self, 'usrp_simple_sink', - gr.io_signature(1, 1, self._get_io_size()), - gr.io_signature(0, 0, 0), - ) - #create usrp object - self._make_usrp(which=which, nchan=1) - subdev_spec = common.to_spec(side) - self._get_u().set_mux(self._get_u().determine_tx_mux_value(subdev_spec)) - self._subdev = self._get_u().selected_subdev(subdev_spec) - #connect - self.connect(self, self._get_u()) - - def set_interp_rate(self, interp): self._get_u().set_interp_rate(int(interp)) - def set_frequency(self, frequency, verbose=False, lo_offset=None): - if lo_offset is not None: self._subdev.set_lo_offset(lo_offset) - self._set_frequency( - chan=self._subdev.which(), - subdev=self._subdev, - frequency=frequency, - verbose=verbose, - ) - def set_gain(self, gain): self._subdev.set_gain(gain) - def set_enable(self, enable): self._subdev.set_enable(enable) - def set_auto_tr(self, auto_tr): self._subdev.set_auto_tr(auto_tr) - -class simple_sink_c(_simple_sink, common.usrp_sink_c): pass -class simple_sink_s(_simple_sink, common.usrp_sink_s): pass - diff --git a/grc/scripts/Makefile.am b/grc/scripts/Makefile.am index 9019ec5cc..84e2759dc 100644 --- a/grc/scripts/Makefile.am +++ b/grc/scripts/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2008-2011 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -21,4 +21,4 @@ include $(top_srcdir)/Makefile.common -dist_bin_SCRIPTS = gnuradio-companion usrp2_probe usrp_probe +dist_bin_SCRIPTS = gnuradio-companion diff --git a/grc/scripts/usrp2_probe b/grc/scripts/usrp2_probe deleted file mode 100755 index 38c8f655c..000000000 --- a/grc/scripts/usrp2_probe +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env python -""" -Copyright 2009 Free Software Foundation, Inc. -This file is part of GNU Radio - -GNU Radio Companion is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -GNU Radio Companion is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -""" - -from gnuradio import usrp2 -import subprocess -import os - -import pygtk -pygtk.require('2.0') -import gtk -import gobject - -from gnuradio.grc.gui.Dialogs import TextDisplay - -from gnuradio.grc.python.Platform import Platform -platform = Platform() - -flow_graph = platform.get_new_flow_graph() -block = flow_graph.get_new_block('usrp2_probe') - -##all params -usrp_interface_param = block.get_param('interface') -usrp_type_param = block.get_param('type') - -def get_input(param): - param.validate() - input = param.get_input() - return input - -class USRP2ProbeWindow(gtk.Window): - """ - The main window for USRP Dignostics. - """ - - def delete_event(self, widget, event, data=None): return False - - def destroy(self, widget, data=None): gtk.main_quit() - - def __init__(self): - """ - USRP2ProbeWindow contructor. - Create a new gtk Dialog with a close button, USRP2 input paramaters, and output labels. - """ - self.usrp2_macs = list() - gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) - #quit signals - self.connect("delete_event", self.delete_event) - self.connect("destroy", self.destroy) - #set the title - self.set_title('USRP2 Probe') - #create decorative frame - frame = gtk.Frame() - self.add(frame) - #create vbox for storage - vbox = gtk.VBox() - frame.add(vbox) - vbox.pack_start(get_input(usrp_interface_param), False) - vbox.pack_start(get_input(usrp_type_param), False) - #make the tree model for holding mac addrs - self.treestore = gtk.TreeStore(gobject.TYPE_STRING) - self.treeview = gtk.TreeView(self.treestore) - self.treeview.set_enable_search(False) #disable pop up search box - self.treeview.add_events(gtk.gdk.BUTTON_PRESS_MASK) - self.treeview.connect('button_press_event', self._handle_selection) - selection = self.treeview.get_selection() - selection.set_mode('single') - selection.connect('changed', self._handle_selection) - renderer = gtk.CellRendererText() - column = gtk.TreeViewColumn('Select a USRP2 MAC Address', renderer, text=0) - self.treeview.append_column(column) - vbox.pack_start(self.treeview, False) - #create probe button - self.probe_button = gtk.Button('Probe') - self.probe_button.connect('clicked', self._probe_usrp2) - vbox.pack_start(self.probe_button, False) - #Create a text box for USRP queries - self.query_buffer = TextDisplay() - self.query_buffer.set_text(block.get_doc()) - vbox.pack_start(self.query_buffer) - self.show_all() - self.treeview.hide() - - def _probe_usrp2(self, widget=None): - """Probe the USRP2 device and copy the results into the query text box.""" - #call find usrps - args = ['find_usrps'] - interface = usrp_interface_param.evaluate() - if interface: args.extend(['-e', interface]) - p = subprocess.Popen(args=args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False, universal_newlines=True) - msg = p.stdout.read() - #extract mac addrs - self.usrp2_macs = sorted(map(lambda l: l.split()[0], filter(lambda l: l.count(':') >= 5, msg.strip().splitlines()))) - #set the tree store with the mac addrs - self.treestore.clear() - for usrp2_mac in self.usrp2_macs: self.treestore.append(None, (usrp2_mac,)) - #set the text with the error message for 0 found, hide the list - #when only 1 usrp2, auto handle selection, hide the list - #for multiple usrp2, show the list - if not self.usrp2_macs: - self.treeview.hide() - self.query_buffer.set_text(msg) - elif len(self.usrp2_macs) == 1: - self.treeview.hide() - self.query_buffer.set_text('') - self._handle_selection() - else: - self.treeview.show() - self.query_buffer.set_text('') - - def _handle_selection(self, *args, **kwargs): - """A selection change or click occured.""" - #get the mac addr - selection = self.treeview.get_selection() - treestore, iter = selection.get_selected() - mac_addr = iter and treestore.get_value(iter, 0) or '' - if not mac_addr and len(self.usrp2_macs) > 1: - return #no empty mac addrs for when multiple found - #make the usrp2 object - make, rate_attr = { - 'rx': (usrp2.source_32fc, 'adc_rate'), - 'tx': (usrp2.sink_32fc, 'dac_rate'), - }[usrp_type_param.evaluate()] - interface = usrp_interface_param.evaluate() - try: - if not interface and not mac_addr: u = make() - elif not mac_addr: u = make(interface) - else: u = make(interface, mac_addr) - msg = ">>> USRP2 Probe\n" - msg = "%s\nMAC Addr:\n\t%s\n"%(msg, u.mac_addr()) - msg = "%s\nName (ID):\n\t%s\n"%(msg, u.daughterboard_id()) - msg = "%s\nConverter Rate:\n\t%s Hz\n"%(msg, getattr(u, rate_attr)()) - gain_min, gain_max, gain_step = u.gain_range() - msg = "%s\nGain Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, gain_min, gain_max, gain_step) - freq_min, freq_max = u.freq_range() - msg = "%s\nFreq Range (min, max):\n\t%s Hz\n\t%s Hz\n"%(msg, freq_min, freq_max) - self.query_buffer.set_text(msg) - except Exception, e: #display the error message - self.query_buffer.set_text('>>> Error\n%s'%str(e)) - -if __name__ == '__main__': - #setup icon using icon theme - try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0)) - except: pass - #enter the mainloop - USRP2ProbeWindow() - gtk.main() diff --git a/grc/scripts/usrp_probe b/grc/scripts/usrp_probe deleted file mode 100755 index d2e92e753..000000000 --- a/grc/scripts/usrp_probe +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python -""" -Copyright 2009 Free Software Foundation, Inc. -This file is part of GNU Radio - -GNU Radio Companion is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -GNU Radio Companion is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -""" - -from gnuradio import usrp -import os - -import pygtk -pygtk.require('2.0') -import gtk - -from gnuradio.grc.gui.Dialogs import TextDisplay - -from gnuradio.grc.python.Platform import Platform -platform = Platform() - -flow_graph = platform.get_new_flow_graph() -block = flow_graph.get_new_block('usrp_probe') - -##all params -usrp_which_param = block.get_param('which') -usrp_dboard_param = block.get_param('dboard') - -def get_input(param): - param.validate() - input = param.get_input() - return input - -class USRPProbeWindow(gtk.Window): - """ - The main window for USRP Dignostics. - """ - - def delete_event(self, widget, event, data=None): return False - - def destroy(self, widget, data=None): gtk.main_quit() - - def __init__(self): - """ - USRPProbeWindow contructor. - Create a new gtk Dialog with a close button, USRP input paramaters, and output labels. - """ - gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) - #quit signals - self.connect("delete_event", self.delete_event) - self.connect("destroy", self.destroy) - #set the title - self.set_title('USRP Probe') - #create decorative frame - frame = gtk.Frame() - self.add(frame) - #create vbox for storage - vbox = gtk.VBox() - frame.add(vbox) - vbox.pack_start(get_input(usrp_which_param), False) - vbox.pack_start(get_input(usrp_dboard_param), False) - self.probe_button = gtk.Button('Probe') - self.probe_button.connect('clicked', self._probe_usrp) - vbox.pack_start(self.probe_button, False) - #Create a text box for USRP queries - self.query_buffer = TextDisplay() - self.query_buffer.set_text(block.get_doc()) - vbox.pack_start(self.query_buffer) - self.show_all() - - def _probe_usrp(self, widget=None): - """Probe the USRP device and copy the results into the query text box.""" - dboard = usrp_dboard_param.evaluate() - side = {'a': 0, 'b': 1}[dboard[-1]] - if dboard.startswith('rx'): make = usrp.source_c - elif dboard.startswith('tx'): make = usrp.sink_c - try: - u = make(which=usrp_which_param.evaluate()) - subdev_spec = (side, 0) - subdev = usrp.selected_subdev(u, subdev_spec) #get the subdev - msg = ">>> USRP Probe\n" - msg = "%s\nName:\n\t%s\n"%(msg, str(subdev.name())) - msg = "%s\nConverter Rate:\n\t%s\n"%(msg, u.converter_rate()) - msg = "%s\nUses Quadrature:\n\t%s\n"%(msg, str(subdev.is_quadrature())) - gain_min, gain_max, gain_step = subdev.gain_range() - msg = "%s\nGain Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, gain_min, gain_max, gain_step) - freq_min, freq_max, freq_step = subdev.freq_range() - msg = "%s\nFreq Range (min, max, step size):\n\t%s\n\t%s\n\t%s\n"%(msg, freq_min, freq_max, freq_step) - self.query_buffer.set_text(msg) - except Exception, e: #display the error message - self.query_buffer.set_text('''\ ->>> Error\n%s - -If the USRP cannot be found, make sure that the USRP is plugged-in and restart this program. \ -If the problem persists, there may be a problem with you gnuradio installation or USB 2.0. -'''%str(e)) - -if __name__ == '__main__': - #setup icon using icon theme - try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0)) - except: pass - #enter the mainloop - USRPProbeWindow() - gtk.main() |