summaryrefslogtreecommitdiff
path: root/grc
diff options
context:
space:
mode:
Diffstat (limited to 'grc')
-rw-r--r--grc/Makefile.am8
-rw-r--r--grc/blocks/Makefile.am10
-rw-r--r--grc/blocks/audio_sink.xml85
-rw-r--r--grc/blocks/audio_source.xml85
-rw-r--r--grc/blocks/block_tree.xml11
-rw-r--r--grc/blocks/usrp2_probe.xml33
-rw-r--r--grc/blocks/usrp2_sink_xxxx.xml120
-rw-r--r--grc/blocks/usrp2_source_xxxx.xml118
-rw-r--r--grc/blocks/usrp_dual_sink_x.xml203
-rw-r--r--grc/blocks/usrp_dual_source_x.xml242
-rw-r--r--grc/blocks/usrp_probe.xml40
-rw-r--r--grc/blocks/usrp_simple_sink_x.xml132
-rw-r--r--grc/blocks/usrp_simple_source_x.xml167
-rw-r--r--grc/freedesktop/Makefile.am8
-rw-r--r--grc/freedesktop/gnuradio-usrp2_probe.desktop7
-rw-r--r--grc/freedesktop/gnuradio-usrp_probe.desktop7
-rw-r--r--grc/freedesktop/grc_setup_freedesktop.in11
-rw-r--r--grc/grc_gnuradio/Makefile.am7
-rw-r--r--grc/grc_gnuradio/usrp/__init__.py26
-rw-r--r--grc/grc_gnuradio/usrp/common.py75
-rw-r--r--grc/grc_gnuradio/usrp/dual_usrp.py132
-rw-r--r--grc/grc_gnuradio/usrp/simple_usrp.py113
-rw-r--r--grc/scripts/Makefile.am4
-rwxr-xr-xgrc/scripts/usrp2_probe163
-rwxr-xr-xgrc/scripts/usrp_probe115
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 &lt; $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 &lt; $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()