summaryrefslogtreecommitdiff
path: root/gr-uhd
diff options
context:
space:
mode:
Diffstat (limited to 'gr-uhd')
-rw-r--r--gr-uhd/CMakeLists.txt2
-rwxr-xr-xgr-uhd/apps/hf_explorer/hfx.py6
-rwxr-xr-xgr-uhd/apps/uhd_rx_cfile11
-rw-r--r--gr-uhd/examples/c++/CMakeLists.txt3
-rw-r--r--gr-uhd/examples/grc/uhd_const_wave.grc240
-rw-r--r--gr-uhd/examples/grc/uhd_dpsk_mod.grc2
-rw-r--r--gr-uhd/examples/grc/uhd_fft.grc74
-rw-r--r--gr-uhd/examples/grc/uhd_rx_dpsk.grc86
-rw-r--r--gr-uhd/examples/grc/uhd_tx_dpsk.grc180
-rw-r--r--gr-uhd/examples/grc/uhd_wbfm_receive.grc138
-rwxr-xr-xgr-uhd/examples/python/fm_tx4.py2
-rwxr-xr-xgr-uhd/examples/python/max_power.py3
-rwxr-xr-xgr-uhd/examples/python/usrp_spectrum_sense.py41
-rwxr-xr-xgr-uhd/examples/python/usrp_tv_rcv.py8
-rwxr-xr-xgr-uhd/examples/python/usrp_tv_rcv_nogui.py12
-rw-r--r--gr-uhd/gnuradio-uhd.pc.in2
-rw-r--r--gr-uhd/include/uhd/CMakeLists.txt2
-rw-r--r--gr-uhd/lib/CMakeLists.txt10
-rw-r--r--gr-uhd/lib/amsg_source_impl.cc2
-rw-r--r--gr-uhd/lib/amsg_source_impl.h4
-rw-r--r--gr-uhd/lib/usrp_sink_impl.cc22
-rw-r--r--gr-uhd/lib/usrp_sink_impl.h2
-rw-r--r--gr-uhd/lib/usrp_source_impl.cc22
-rw-r--r--gr-uhd/lib/usrp_source_impl.h2
-rw-r--r--gr-uhd/swig/CMakeLists.txt6
-rw-r--r--gr-uhd/swig/uhd_swig.i6
26 files changed, 554 insertions, 334 deletions
diff --git a/gr-uhd/CMakeLists.txt b/gr-uhd/CMakeLists.txt
index b0407cb8c8..30dcba141d 100644
--- a/gr-uhd/CMakeLists.txt
+++ b/gr-uhd/CMakeLists.txt
@@ -31,7 +31,7 @@ include(GrComponent)
GR_REGISTER_COMPONENT("gr-uhd" ENABLE_GR_UHD
Boost_FOUND
UHD_FOUND
- ENABLE_GR_CORE
+ ENABLE_GNURADIO_RUNTIME
ENABLE_GR_FILTER
ENABLE_GR_BLOCKS
ENABLE_GR_ANALOG
diff --git a/gr-uhd/apps/hf_explorer/hfx.py b/gr-uhd/apps/hf_explorer/hfx.py
index 9e00805134..93d34c0977 100755
--- a/gr-uhd/apps/hf_explorer/hfx.py
+++ b/gr-uhd/apps/hf_explorer/hfx.py
@@ -255,7 +255,7 @@ class MyFrame(wx.Frame):
self.tune_offset = 0
else:
- self.src = gr.file_source (gr.sizeof_short,options.input_file)
+ self.src = blocks.file_source (gr.sizeof_short,options.input_file)
self.tune_offset = 2200 # 2200 works for 3.5-4Mhz band
# convert rf data in interleaved short int form to complex
@@ -271,7 +271,7 @@ class MyFrame(wx.Frame):
# save radio data to a file
if SAVE_RADIO_TO_FILE:
- radio_file = gr.file_sink(gr.sizeof_short, options.radio_file)
+ radio_file = blocks.file_sink(gr.sizeof_short, options.radio_file)
self.tb.connect (self.src, radio_file)
# 2nd DDC
@@ -375,7 +375,7 @@ class MyFrame(wx.Frame):
self.tb.connect(agc,dst)
if SAVE_AUDIO_TO_FILE:
- f_out = gr.file_sink(gr.sizeof_short,options.audio_file)
+ f_out = blocks.file_sink(gr.sizeof_short,options.audio_file)
sc1 = blocks.multiply_const_ff(64000)
f2s1 = blocks.float_to_short()
self.tb.connect(agc,sc1,f2s1,f_out)
diff --git a/gr-uhd/apps/uhd_rx_cfile b/gr-uhd/apps/uhd_rx_cfile
index 62874771c1..5531bb35b8 100755
--- a/gr-uhd/apps/uhd_rx_cfile
+++ b/gr-uhd/apps/uhd_rx_cfile
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2012 Free Software Foundation, Inc.
+# Copyright 2012,2013 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -27,6 +27,7 @@ outputs single precision complex float values or complex short values
"""
from gnuradio import gr, gru, eng_notation
+from gnuradio import blocks
from gnuradio import uhd
from gnuradio.eng_option import eng_option
from optparse import OptionParser
@@ -43,11 +44,11 @@ class rx_cfile_block(gr.top_block):
if options.output_shorts:
self._u = uhd.usrp_source(device_addr=options.args, stream_args=uhd.stream_args('sc16',
options.wire_format, args=options.stream_args))
- self._sink = gr.file_sink(gr.sizeof_short*2, filename)
+ self._sink = blocks.file_sink(gr.sizeof_short*2, filename)
else:
self._u = uhd.usrp_source(device_addr=options.args, stream_args=uhd.stream_args('fc32',
options.wire_format, args=options.stream_args))
- self._sink = gr.file_sink(gr.sizeof_gr_complex, filename)
+ self._sink = blocks.file_sink(gr.sizeof_gr_complex, filename)
# Set the subdevice spec
if(options.spec):
@@ -82,9 +83,9 @@ class rx_cfile_block(gr.top_block):
self.connect(self._u, self._sink)
else:
if options.output_shorts:
- self._head = gr.head(gr.sizeof_short*2, int(options.nsamples))
+ self._head = blocks.head(gr.sizeof_short*2, int(options.nsamples))
else:
- self._head = gr.head(gr.sizeof_gr_complex, int(options.nsamples))
+ self._head = blocks.head(gr.sizeof_gr_complex, int(options.nsamples))
self.connect(self._u, self._head, self._sink)
diff --git a/gr-uhd/examples/c++/CMakeLists.txt b/gr-uhd/examples/c++/CMakeLists.txt
index a6c9891d73..655ef0c0a9 100644
--- a/gr-uhd/examples/c++/CMakeLists.txt
+++ b/gr-uhd/examples/c++/CMakeLists.txt
@@ -23,8 +23,7 @@
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${GR_UHD_INCLUDE_DIRS}
- ${GNURADIO_CORE_INCLUDE_DIRS}
- ${GRUEL_INCLUDE_DIRS}
+ ${GNURADIO_RUNTIME_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${UHD_INCLUDE_DIRS}
)
diff --git a/gr-uhd/examples/grc/uhd_const_wave.grc b/gr-uhd/examples/grc/uhd_const_wave.grc
index c64721c833..46596109de 100644
--- a/gr-uhd/examples/grc/uhd_const_wave.grc
+++ b/gr-uhd/examples/grc/uhd_const_wave.grc
@@ -1,27 +1,59 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Sat Oct 8 10:24:27 2011</timestamp>
+ <timestamp>Mon Mar 18 11:04:05 2013</timestamp>
<block>
- <key>const_source_x</key>
+ <key>options</key>
<param>
<key>id</key>
- <value>const_source_x_0</value>
+ <value>uhd_const_wave</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>complex</value>
+ <key>title</key>
+ <value>UHD Constant Wave</value>
</param>
<param>
- <key>const</key>
- <value>ampl</value>
+ <key>author</key>
+ <value>Example</value>
+ </param>
+ <param>
+ <key>description</key>
+ <value>Tune UHD Device</value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>1280, 1024</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>wx_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>realtime_scheduling</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(102, 193)</value>
+ <value>(10, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -194,54 +226,69 @@
</param>
</block>
<block>
- <key>options</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>uhd_const_wave</value>
+ <value>address</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>title</key>
- <value>UHD Constant Wave</value>
+ <key>label</key>
+ <value>IP Address</value>
</param>
<param>
- <key>author</key>
- <value>Example</value>
+ <key>value</key>
+ <value>addr=192.168.11.2</value>
</param>
<param>
- <key>description</key>
- <value>Tune UHD Device</value>
+ <key>type</key>
+ <value>string</value>
</param>
<param>
- <key>window_size</key>
- <value>1280, 1024</value>
+ <key>short_id</key>
+ <value>a</value>
</param>
<param>
- <key>generate_options</key>
- <value>wx_gui</value>
+ <key>_coordinate</key>
+ <value>(188, 12)</value>
</param>
<param>
- <key>category</key>
- <value>Custom</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
+ </block>
+ <block>
+ <key>parameter</key>
<param>
- <key>run_options</key>
- <value>prompt</value>
+ <key>id</key>
+ <value>samp_rate</value>
</param>
<param>
- <key>run</key>
+ <key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>label</key>
+ <value>Sample Rate</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>1e6</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>s</value>
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(342, 14)</value>
</param>
<param>
<key>_rotation</key>
@@ -252,7 +299,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>address</value>
+ <value>freq</value>
</param>
<param>
<key>_enabled</key>
@@ -260,23 +307,23 @@
</param>
<param>
<key>label</key>
- <value>IP Address</value>
+ <value>Default Frequency</value>
</param>
<param>
<key>value</key>
- <value>addr=192.168.11.2</value>
+ <value>2.45e9</value>
</param>
<param>
<key>type</key>
- <value>string</value>
+ <value>eng_float</value>
</param>
<param>
<key>short_id</key>
- <value>a</value>
+ <value>f</value>
</param>
<param>
<key>_coordinate</key>
- <value>(188, 12)</value>
+ <value>(468, 14)</value>
</param>
<param>
<key>_rotation</key>
@@ -287,7 +334,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>samp_rate</value>
+ <value>gain</value>
</param>
<param>
<key>_enabled</key>
@@ -295,11 +342,11 @@
</param>
<param>
<key>label</key>
- <value>Sample Rate</value>
+ <value>Default Gain</value>
</param>
<param>
<key>value</key>
- <value>1e6</value>
+ <value>0</value>
</param>
<param>
<key>type</key>
@@ -307,11 +354,11 @@
</param>
<param>
<key>short_id</key>
- <value>s</value>
+ <value>g</value>
</param>
<param>
<key>_coordinate</key>
- <value>(342, 14)</value>
+ <value>(616, 13)</value>
</param>
<param>
<key>_rotation</key>
@@ -330,7 +377,15 @@
</param>
<param>
<key>type</key>
- <value>complex</value>
+ <value>fc32</value>
+ </param>
+ <param>
+ <key>otw</key>
+ <value></value>
+ </param>
+ <param>
+ <key>stream_args</key>
+ <value></value>
</param>
<param>
<key>dev_addr</key>
@@ -349,7 +404,11 @@
<value>1</value>
</param>
<param>
- <key>ref_source0</key>
+ <key>clock_source0</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source0</key>
<value></value>
</param>
<param>
@@ -357,7 +416,11 @@
<value></value>
</param>
<param>
- <key>ref_source1</key>
+ <key>clock_source1</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source1</key>
<value></value>
</param>
<param>
@@ -365,7 +428,11 @@
<value></value>
</param>
<param>
- <key>ref_source2</key>
+ <key>clock_source2</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source2</key>
<value></value>
</param>
<param>
@@ -373,7 +440,11 @@
<value></value>
</param>
<param>
- <key>ref_source3</key>
+ <key>clock_source3</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source3</key>
<value></value>
</param>
<param>
@@ -381,7 +452,11 @@
<value></value>
</param>
<param>
- <key>ref_source4</key>
+ <key>clock_source4</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source4</key>
<value></value>
</param>
<param>
@@ -389,7 +464,11 @@
<value></value>
</param>
<param>
- <key>ref_source5</key>
+ <key>clock_source5</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source5</key>
<value></value>
</param>
<param>
@@ -397,7 +476,11 @@
<value></value>
</param>
<param>
- <key>ref_source6</key>
+ <key>clock_source6</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source6</key>
<value></value>
</param>
<param>
@@ -405,7 +488,11 @@
<value></value>
</param>
<param>
- <key>ref_source7</key>
+ <key>clock_source7</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source7</key>
<value></value>
</param>
<param>
@@ -942,69 +1029,26 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>analog_const_source_x</key>
<param>
<key>id</key>
- <value>freq</value>
+ <value>analog_const_source_x_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>Default Frequency</value>
- </param>
- <param>
- <key>value</key>
- <value>2.45e9</value>
- </param>
- <param>
- <key>type</key>
- <value>eng_float</value>
- </param>
- <param>
- <key>short_id</key>
- <value>f</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(468, 14)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>gain</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>Default Gain</value>
- </param>
- <param>
- <key>value</key>
- <value>0</value>
- </param>
- <param>
<key>type</key>
- <value>eng_float</value>
+ <value>complex</value>
</param>
<param>
- <key>short_id</key>
- <value>g</value>
+ <key>const</key>
+ <value>ampl</value>
</param>
<param>
<key>_coordinate</key>
- <value>(616, 13)</value>
+ <value>(74, 193)</value>
</param>
<param>
<key>_rotation</key>
@@ -1012,7 +1056,7 @@
</param>
</block>
<connection>
- <source_block_id>const_source_x_0</source_block_id>
+ <source_block_id>analog_const_source_x_0</source_block_id>
<sink_block_id>uhd_usrp_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
diff --git a/gr-uhd/examples/grc/uhd_dpsk_mod.grc b/gr-uhd/examples/grc/uhd_dpsk_mod.grc
index 9caafbb6ac..8387890372 100644
--- a/gr-uhd/examples/grc/uhd_dpsk_mod.grc
+++ b/gr-uhd/examples/grc/uhd_dpsk_mod.grc
@@ -226,7 +226,7 @@
</param>
<param>
<key>trig_mode</key>
- <value>gr.gr_TRIG_MODE_AUTO</value>
+ <value>wxgui.TRIG_MODE_AUTO</value>
</param>
<param>
<key>y_axis_label</key>
diff --git a/gr-uhd/examples/grc/uhd_fft.grc b/gr-uhd/examples/grc/uhd_fft.grc
index 2582b5e3b1..08e5f70edb 100644
--- a/gr-uhd/examples/grc/uhd_fft.grc
+++ b/gr-uhd/examples/grc/uhd_fft.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon Jun 18 14:20:11 2012</timestamp>
+ <timestamp>Mon Mar 18 15:42:27 2013</timestamp>
<block>
<key>options</key>
<param>
@@ -248,7 +248,7 @@
</param>
<param>
<key>trig_mode</key>
- <value>gr.gr_TRIG_MODE_AUTO</value>
+ <value>wxgui.TRIG_MODE_AUTO</value>
</param>
<param>
<key>y_axis_label</key>
@@ -1146,41 +1146,6 @@
</param>
</block>
<block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>address</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>IP Address</value>
- </param>
- <param>
- <key>value</key>
- <value></value>
- </param>
- <param>
- <key>type</key>
- <value>string</value>
- </param>
- <param>
- <key>short_id</key>
- <value>a</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(190, 15)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>wxgui_fftsink2</key>
<param>
<key>id</key>
@@ -1507,6 +1472,41 @@
<value>0</value>
</param>
</block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>address</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>IP Address</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>addr=192.168.11.2</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>string</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>a</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(190, 15)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
<connection>
<source_block_id>uhd_usrp_source_0</source_block_id>
<sink_block_id>wxgui_scopesink2_0</sink_block_id>
diff --git a/gr-uhd/examples/grc/uhd_rx_dpsk.grc b/gr-uhd/examples/grc/uhd_rx_dpsk.grc
index 73848ff3cd..8a9faa4b73 100644
--- a/gr-uhd/examples/grc/uhd_rx_dpsk.grc
+++ b/gr-uhd/examples/grc/uhd_rx_dpsk.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Sat Oct 8 15:08:55 2011</timestamp>
+ <timestamp>Mon Mar 18 11:10:25 2013</timestamp>
<block>
<key>options</key>
<param>
@@ -44,6 +44,10 @@
<value>True</value>
</param>
<param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
<key>realtime_scheduling</key>
<value></value>
</param>
@@ -310,10 +314,10 @@
</param>
</block>
<block>
- <key>gr_null_sink</key>
+ <key>blocks_null_sink</key>
<param>
<key>id</key>
- <value>gr_null_sink_0</value>
+ <value>blocks_null_sink_0</value>
</param>
<param>
<key>_enabled</key>
@@ -604,6 +608,10 @@
<value></value>
</param>
<param>
+ <key>freqvar</key>
+ <value>None</value>
+ </param>
+ <param>
<key>_coordinate</key>
<value>(710, 236)</value>
</param>
@@ -635,20 +643,20 @@
<value>0.35</value>
</param>
<param>
- <key>phase_bw</key>
+ <key>freq_bw</key>
<value>6.28/100.0</value>
</param>
<param>
- <key>timing_bw</key>
+ <key>phase_bw</key>
<value>6.28/100.0</value>
</param>
<param>
- <key>omega_relative_limit</key>
- <value>0.005</value>
+ <key>timing_bw</key>
+ <value>6.28/100.0</value>
</param>
<param>
- <key>gray_coded</key>
- <value>True</value>
+ <key>mod_code</key>
+ <value>"gray"</value>
</param>
<param>
<key>verbose</key>
@@ -793,7 +801,15 @@
</param>
<param>
<key>type</key>
- <value>complex</value>
+ <value>fc32</value>
+ </param>
+ <param>
+ <key>otw</key>
+ <value></value>
+ </param>
+ <param>
+ <key>stream_args</key>
+ <value></value>
</param>
<param>
<key>dev_addr</key>
@@ -812,7 +828,11 @@
<value>1</value>
</param>
<param>
- <key>ref_source0</key>
+ <key>clock_source0</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source0</key>
<value></value>
</param>
<param>
@@ -820,7 +840,11 @@
<value></value>
</param>
<param>
- <key>ref_source1</key>
+ <key>clock_source1</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source1</key>
<value></value>
</param>
<param>
@@ -828,7 +852,11 @@
<value></value>
</param>
<param>
- <key>ref_source2</key>
+ <key>clock_source2</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source2</key>
<value></value>
</param>
<param>
@@ -836,7 +864,11 @@
<value></value>
</param>
<param>
- <key>ref_source3</key>
+ <key>clock_source3</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source3</key>
<value></value>
</param>
<param>
@@ -844,7 +876,11 @@
<value></value>
</param>
<param>
- <key>ref_source4</key>
+ <key>clock_source4</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source4</key>
<value></value>
</param>
<param>
@@ -852,7 +888,11 @@
<value></value>
</param>
<param>
- <key>ref_source5</key>
+ <key>clock_source5</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source5</key>
<value></value>
</param>
<param>
@@ -860,7 +900,11 @@
<value></value>
</param>
<param>
- <key>ref_source6</key>
+ <key>clock_source6</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source6</key>
<value></value>
</param>
<param>
@@ -868,7 +912,11 @@
<value></value>
</param>
<param>
- <key>ref_source7</key>
+ <key>clock_source7</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source7</key>
<value></value>
</param>
<param>
@@ -1406,7 +1454,7 @@
</block>
<connection>
<source_block_id>digital_dxpsk_demod_0</source_block_id>
- <sink_block_id>gr_null_sink_0</sink_block_id>
+ <sink_block_id>blocks_null_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-uhd/examples/grc/uhd_tx_dpsk.grc b/gr-uhd/examples/grc/uhd_tx_dpsk.grc
index 38318bef4b..b5f8e41054 100644
--- a/gr-uhd/examples/grc/uhd_tx_dpsk.grc
+++ b/gr-uhd/examples/grc/uhd_tx_dpsk.grc
@@ -1,6 +1,65 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Sat Oct 8 14:55:39 2011</timestamp>
+ <timestamp>Mon Mar 18 11:11:06 2013</timestamp>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>uhd_tx_dpsk</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>title</key>
+ <value>UHD TX DPSK</value>
+ </param>
+ <param>
+ <key>author</key>
+ <value></value>
+ </param>
+ <param>
+ <key>description</key>
+ <value></value>
+ </param>
+ <param>
+ <key>window_size</key>
+ <value>1280, 1024</value>
+ </param>
+ <param>
+ <key>generate_options</key>
+ <value>wx_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>realtime_scheduling</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(10, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
<block>
<key>variable</key>
<param>
@@ -321,8 +380,8 @@
<value>0.35</value>
</param>
<param>
- <key>gray_coded</key>
- <value>True</value>
+ <key>mod_code</key>
+ <value>"gray"</value>
</param>
<param>
<key>verbose</key>
@@ -423,7 +482,15 @@
</param>
<param>
<key>type</key>
- <value>complex</value>
+ <value>fc32</value>
+ </param>
+ <param>
+ <key>otw</key>
+ <value></value>
+ </param>
+ <param>
+ <key>stream_args</key>
+ <value></value>
</param>
<param>
<key>dev_addr</key>
@@ -442,7 +509,11 @@
<value>1</value>
</param>
<param>
- <key>ref_source0</key>
+ <key>clock_source0</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source0</key>
<value></value>
</param>
<param>
@@ -450,7 +521,11 @@
<value></value>
</param>
<param>
- <key>ref_source1</key>
+ <key>clock_source1</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source1</key>
<value></value>
</param>
<param>
@@ -458,7 +533,11 @@
<value></value>
</param>
<param>
- <key>ref_source2</key>
+ <key>clock_source2</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source2</key>
<value></value>
</param>
<param>
@@ -466,7 +545,11 @@
<value></value>
</param>
<param>
- <key>ref_source3</key>
+ <key>clock_source3</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source3</key>
<value></value>
</param>
<param>
@@ -474,7 +557,11 @@
<value></value>
</param>
<param>
- <key>ref_source4</key>
+ <key>clock_source4</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source4</key>
<value></value>
</param>
<param>
@@ -482,7 +569,11 @@
<value></value>
</param>
<param>
- <key>ref_source5</key>
+ <key>clock_source5</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source5</key>
<value></value>
</param>
<param>
@@ -490,7 +581,11 @@
<value></value>
</param>
<param>
- <key>ref_source6</key>
+ <key>clock_source6</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source6</key>
<value></value>
</param>
<param>
@@ -498,7 +593,11 @@
<value></value>
</param>
<param>
- <key>ref_source7</key>
+ <key>clock_source7</key>
+ <value></value>
+ </param>
+ <param>
+ <key>time_source7</key>
<value></value>
</param>
<param>
@@ -1144,63 +1243,12 @@
<value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(827, 299)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>options</key>
- <param>
- <key>id</key>
- <value>uhd_tx_dpsk</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>title</key>
- <value>UHD TX DPSK</value>
- </param>
- <param>
- <key>author</key>
- <value></value>
- </param>
- <param>
- <key>description</key>
- <value></value>
- </param>
- <param>
- <key>window_size</key>
- <value>1280, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>wx_gui</value>
- </param>
- <param>
- <key>category</key>
- <value>Custom</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>freqvar</key>
+ <value>None</value>
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(827, 299)</value>
</param>
<param>
<key>_rotation</key>
diff --git a/gr-uhd/examples/grc/uhd_wbfm_receive.grc b/gr-uhd/examples/grc/uhd_wbfm_receive.grc
index 943e82cf31..e19015a790 100644
--- a/gr-uhd/examples/grc/uhd_wbfm_receive.grc
+++ b/gr-uhd/examples/grc/uhd_wbfm_receive.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Tue Apr 24 16:59:09 2012</timestamp>
+ <timestamp>Mon Mar 18 11:13:02 2013</timestamp>
<block>
<key>options</key>
<param>
@@ -44,6 +44,10 @@
<value>True</value>
</param>
<param>
+ <key>max_nouts</key>
+ <value>0</value>
+ </param>
+ <param>
<key>realtime_scheduling</key>
<value></value>
</param>
@@ -1044,41 +1048,6 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>address</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>IP Address</value>
- </param>
- <param>
- <key>value</key>
- <value>addr=192.168.10.2</value>
- </param>
- <param>
- <key>type</key>
- <value>string</value>
- </param>
- <param>
- <key>short_id</key>
- <value>a</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(199, 14)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
<value>samp_rate</value>
</param>
<param>
@@ -1181,33 +1150,6 @@
</param>
</block>
<block>
- <key>blks2_wfm_rcv</key>
- <param>
- <key>id</key>
- <value>blks2_wfm_rcv</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>quad_rate</key>
- <value>samp_rate</value>
- </param>
- <param>
- <key>audio_decimation</key>
- <value>audio_decim</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(626, 153)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>low_pass_filter</key>
<param>
<key>id</key>
@@ -1364,6 +1306,10 @@
<value></value>
</param>
<param>
+ <key>freqvar</key>
+ <value>None</value>
+ </param>
+ <param>
<key>_coordinate</key>
<value>(624, 278)</value>
</param>
@@ -1372,6 +1318,68 @@
<value>0</value>
</param>
</block>
+ <block>
+ <key>analog_wfm_rcv</key>
+ <param>
+ <key>id</key>
+ <value>analog_wfm_rcv</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>quad_rate</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>audio_decimation</key>
+ <value>audio_decim</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(625, 153)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>address</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>IP Address</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>addr=192.168.10.2</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>string</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>a</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(199, 14)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
<connection>
<source_block_id>blocks_multiply_const_vxx</source_block_id>
<sink_block_id>audio_sink</sink_block_id>
@@ -1379,14 +1387,14 @@
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blks2_wfm_rcv</source_block_id>
+ <source_block_id>analog_wfm_rcv</source_block_id>
<sink_block_id>blocks_multiply_const_vxx</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>low_pass_filter_0</source_block_id>
- <sink_block_id>blks2_wfm_rcv</sink_block_id>
+ <sink_block_id>analog_wfm_rcv</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
diff --git a/gr-uhd/examples/python/fm_tx4.py b/gr-uhd/examples/python/fm_tx4.py
index e4cf3ded24..fefa67861b 100755
--- a/gr-uhd/examples/python/fm_tx4.py
+++ b/gr-uhd/examples/python/fm_tx4.py
@@ -56,7 +56,7 @@ class pipeline(gr.hier_block2):
gr.io_signature(1, 1, gr.sizeof_gr_complex))
try:
- src = gr.file_source (gr.sizeof_float, filename, True)
+ src = blocks.file_source (gr.sizeof_float, filename, True)
except RuntimeError:
sys.stderr.write(("\nError: Could not open file '%s'\n\n" % \
filename))
diff --git a/gr-uhd/examples/python/max_power.py b/gr-uhd/examples/python/max_power.py
index 79fe120641..e1504e5ea2 100755
--- a/gr-uhd/examples/python/max_power.py
+++ b/gr-uhd/examples/python/max_power.py
@@ -27,6 +27,7 @@ Setup USRP for maximum power consumption.
from gnuradio import gr
from gnuradio import analog
+from gnuradio import blocks
from gnuradio import uhd
from gnuradio.eng_option import eng_option
from optparse import OptionParser
@@ -95,7 +96,7 @@ class build_block(gr.top_block):
self.u_rx = uhd.usrp_source(device_addr=args,
io_type=uhd.io_type.COMPLEX_FLOAT32,
num_channels=rx_nchan)
- self.rx_dst0 = gr.null_sink(gr.sizeof_gr_complex)
+ self.rx_dst0 = blocks.null_sink(gr.sizeof_gr_complex)
self.u_rx.set_samp_rate(MAX_RATE)
diff --git a/gr-uhd/examples/python/usrp_spectrum_sense.py b/gr-uhd/examples/python/usrp_spectrum_sense.py
index 39e85ab18a..fe97e21cbd 100755
--- a/gr-uhd/examples/python/usrp_spectrum_sense.py
+++ b/gr-uhd/examples/python/usrp_spectrum_sense.py
@@ -107,7 +107,10 @@ class my_top_block(gr.top_block):
help="time to delay (in seconds) after changing frequency [default=%default]")
parser.add_option("", "--dwell-delay", type="eng_float",
default=10e-3, metavar="SECS",
- help="time to dwell (in seconds) at a given frequncy [default=%default]")
+ help="time to dwell (in seconds) at a given frequency [default=%default]")
+ parser.add_option("", "--channel-bandwidth", type="eng_float",
+ default=12.5e3, metavar="Hz",
+ help="channel bandwidth of fft bins in Hz [default=%default]")
parser.add_option("-F", "--fft-size", type="int", default=256,
help="specify number of FFT bins [default=%default]")
parser.add_option("", "--real-time", action="store_true", default=False,
@@ -125,8 +128,9 @@ class my_top_block(gr.top_block):
# swap them
self.min_freq, self.max_freq = self.max_freq, self.min_freq
- self.fft_size = options.fft_size
-
+ self.fft_size = options.fft_size
+ self.channel_bandwidth = options.channel_bandwidth
+
if not options.real_time:
realtime = False
else:
@@ -150,14 +154,14 @@ class my_top_block(gr.top_block):
if(options.antenna):
self.u.set_antenna(options.antenna, 0)
- usrp_rate = options.samp_rate
+ self.usrp_rate = usrp_rate = options.samp_rate
self.u.set_samp_rate(usrp_rate)
dev_rate = self.u.get_samp_rate()
- s2v = blocks.stream_to_vector(gr.sizeof_gr_complex, self.fft_size)
+ s2v = blocks.stream_to_vector(gr.sizeof_gr_complex, self.fft_size)
mywindow = filter.window.blackmanharris(self.fft_size)
- ffter = fft.fft_vcc(self.fft_size, True, mywindow)
+ ffter = fft.fft_vcc(self.fft_size, True, mywindow, True)
power = 0
for tap in mywindow:
power += tap*tap
@@ -197,7 +201,7 @@ class my_top_block(gr.top_block):
options.gain = float(g.start()+g.stop())/2.0
self.set_gain(options.gain)
- print "gain =", options.gain
+ print "gain =", options.gain
def set_next_freq(self):
target_freq = self.next_freq
@@ -231,6 +235,20 @@ class my_top_block(gr.top_block):
def main_loop(tb):
+
+ def nearest_freq(freq, channel_bandwidth):
+ freq = round(freq / channel_bandwidth, 0) * channel_bandwidth
+ return freq
+
+ def bin_freq(i_bin, center_freq):
+ hz_per_bin = tb.usrp_rate / tb.fft_size
+ freq = center_freq - (tb.usrp_rate / 2) + (hz_per_bin * i_bin)
+ freq = nearest_freq(freq, tb.channel_bandwidth)
+ return freq
+
+ bin_start = int(tb.fft_size * ((1 - 0.75) / 2))
+ bin_stop = int(tb.fft_size - bin_start)
+
while 1:
# Get the next message sent from the C++ code (blocking call).
@@ -238,7 +256,7 @@ def main_loop(tb):
m = parse_msg(tb.msgq.delete_head())
# Print center freq so we know that something is happening...
- print m.center_freq
+ #print "m.center_freq:", m.center_freq
# FIXME do something useful with the data...
@@ -248,6 +266,13 @@ def main_loop(tb):
# m.raw_data is a string that contains the binary floats.
# You could write this as binary to a file.
+ for i_bin in range(bin_start, bin_stop):
+
+ # create signal object to find matching signals
+ freq = int(bin_freq(i_bin, m.center_freq))
+ power = float(m.data[i_bin])
+
+ print freq, power
if __name__ == '__main__':
t = ThreadClass()
diff --git a/gr-uhd/examples/python/usrp_tv_rcv.py b/gr-uhd/examples/python/usrp_tv_rcv.py
index 3e612f6a02..301840f41d 100755
--- a/gr-uhd/examples/python/usrp_tv_rcv.py
+++ b/gr-uhd/examples/python/usrp_tv_rcv.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005-2007,2011,2012 Free Software Foundation, Inc.
+# Copyright 2005-2007,2011-2013 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -124,7 +124,7 @@ class tv_rx_block (stdgui2.std_top_block):
if not ((filename is None) or (filename=="usrp")):
# file is data source
- self.filesource = gr.file_source(gr.sizeof_short,filename,options.repeat)
+ self.filesource = blocks.file_source(gr.sizeof_short,filename,options.repeat)
self.istoc = blocks.interleaved_short_to_complex()
self.connect(self.filesource,self.istoc)
self.src=self.istoc
@@ -193,7 +193,7 @@ class tv_rx_block (stdgui2.std_top_block):
+ " gray:" + options.out_filename
print "(Use the spacebar to advance to next frames)"
options.repeat=False
- file_sink=gr.file_sink(gr.sizeof_char, options.out_filename)
+ file_sink = blocks.file_sink(gr.sizeof_char, options.out_filename)
self.dst =file_sink
self.agc = analog.agc_cc(1e-7,1.0,1.0) #1e-7
@@ -226,7 +226,7 @@ class tv_rx_block (stdgui2.std_top_block):
elif process_type=='do_nullsink':
#self.connect (self.src, self.am_demod,self.invert_and_scale,f2uc,video_sink)
c2r=blocks.complex_to_real()
- nullsink=gr.null_sink(gr.sizeof_float)
+ nullsink=blocks.null_sink(gr.sizeof_float)
self.connect (self.src, c2r,nullsink) #video_sink)
elif process_type=='do_tv_sync_corr':
frame_size=width*height #int(usrp_rate/25.0)
diff --git a/gr-uhd/examples/python/usrp_tv_rcv_nogui.py b/gr-uhd/examples/python/usrp_tv_rcv_nogui.py
index 5eef4a00f6..80e2e1c17a 100755
--- a/gr-uhd/examples/python/usrp_tv_rcv_nogui.py
+++ b/gr-uhd/examples/python/usrp_tv_rcv_nogui.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
-# Copyright 2005-2007,2011 Free Software Foundation, Inc.
+# Copyright 2005-2007,2011,2013 Free Software Foundation, Inc.
#
# This file is part of GNU Radio
#
@@ -120,9 +120,9 @@ class my_top_block(gr.top_block):
if not (options.in_filename=="usrp"):
# file is data source, capture with usr_rx_csfile.py
- self.filesource = gr.file_source(gr.sizeof_short,
- options.in_filename,
- options.repeat)
+ self.filesource = blocks.file_source(gr.sizeof_short,
+ options.in_filename,
+ options.repeat)
self.istoc = blocks.interleaved_short_to_complex()
self.connect(self.filesource,self.istoc)
self.src=self.istoc
@@ -196,13 +196,13 @@ class my_top_block(gr.top_block):
print "use the following line to show the demodulated TV-signal:"
print "display -depth 8 -size " +str(width)+ "x" + str(height) + " gray:" +filename
print "(Use the spacebar to advance to next frames)"
- file_sink=gr.file_sink(gr.sizeof_char, filename)
+ file_sink = blocks.file_sink(gr.sizeof_char, filename)
self.dst =file_sink
if options.nframes is None:
self.connect(self.src, self.agc)
else:
- self.head = gr.head(gr.sizeof_gr_complex, int(options.nframes*width*height))
+ self.head = blocks.head(gr.sizeof_gr_complex, int(options.nframes*width*height))
self.connect(self.src, self.head, self.agc)
self.connect (self.agc, self.am_demod, self.invert_and_scale,
diff --git a/gr-uhd/gnuradio-uhd.pc.in b/gr-uhd/gnuradio-uhd.pc.in
index 721141c520..3be8635328 100644
--- a/gr-uhd/gnuradio-uhd.pc.in
+++ b/gr-uhd/gnuradio-uhd.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
Name: gnuradio-uhd
Description: GNU Radio blocks for UHD
-Requires: gnuradio-core
+Requires: gnuradio-runtime
Version: @LIBVER@
Libs: -L${libdir} -lgnuradio-uhd
Cflags: -I${includedir}
diff --git a/gr-uhd/include/uhd/CMakeLists.txt b/gr-uhd/include/uhd/CMakeLists.txt
index 066487c6ca..71c17b89cd 100644
--- a/gr-uhd/include/uhd/CMakeLists.txt
+++ b/gr-uhd/include/uhd/CMakeLists.txt
@@ -25,6 +25,6 @@ install(FILES
usrp_source.h
usrp_sink.h
amsg_source.h
- DESTINATION ${GR_INCLUDE_DIR}/gnuradio/gr_uhd
+ DESTINATION ${GR_INCLUDE_DIR}/gnuradio/uhd
COMPONENT "uhd_devel"
)
diff --git a/gr-uhd/lib/CMakeLists.txt b/gr-uhd/lib/CMakeLists.txt
index a6bd4e98b7..9121dd41b8 100644
--- a/gr-uhd/lib/CMakeLists.txt
+++ b/gr-uhd/lib/CMakeLists.txt
@@ -23,8 +23,7 @@
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${GR_UHD_INCLUDE_DIRS}
- ${GNURADIO_CORE_INCLUDE_DIRS}
- ${GRUEL_INCLUDE_DIRS}
+ ${GNURADIO_RUNTIME_INCLUDE_DIRS}
${LOG4CXX_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${UHD_INCLUDE_DIRS}
@@ -41,6 +40,9 @@ if(ENABLE_GR_CTRLPORT)
include_directories(${ICE_INCLUDE_DIR})
endif(ENABLE_GR_CTRLPORT)
+include_directories(${LOG4CPP_INCLUDE_DIRS})
+link_directories(${LOG4CPP_LIBRARY_DIRS})
+
########################################################################
# Setup library
########################################################################
@@ -65,10 +67,10 @@ if(MSVC)
endif(MSVC)
list(APPEND uhd_libs
- gnuradio-core
+ gnuradio-runtime
${Boost_LIBRARIES}
${UHD_LIBRARIES}
- ${LOG4CXX_LIBRARIES}
+ ${LOG4CPP_LIBRARIES}
)
add_library(gnuradio-uhd SHARED ${gr_uhd_sources})
diff --git a/gr-uhd/lib/amsg_source_impl.cc b/gr-uhd/lib/amsg_source_impl.cc
index 76603e4989..cf344db202 100644
--- a/gr-uhd/lib/amsg_source_impl.cc
+++ b/gr-uhd/lib/amsg_source_impl.cc
@@ -48,7 +48,7 @@ namespace gr {
{
_dev = ::uhd::usrp::multi_usrp::make(device_addr);
_amsg_thread =
- gruel::thread(boost::bind(&amsg_source_impl::recv_loop, this));
+ gr::thread::thread(boost::bind(&amsg_source_impl::recv_loop, this));
}
amsg_source_impl::~amsg_source_impl()
diff --git a/gr-uhd/lib/amsg_source_impl.h b/gr-uhd/lib/amsg_source_impl.h
index 2928e85adb..f0f3d4bfb1 100644
--- a/gr-uhd/lib/amsg_source_impl.h
+++ b/gr-uhd/lib/amsg_source_impl.h
@@ -21,7 +21,7 @@
*/
#include <uhd/amsg_source.h>
-#include <gruel/thread.h>
+#include <thread/thread.h>
namespace gr {
namespace uhd {
@@ -38,7 +38,7 @@ namespace gr {
protected:
::uhd::usrp::multi_usrp::sptr _dev;
- gruel::thread _amsg_thread;
+ gr::thread::thread _amsg_thread;
gr_msg_queue_sptr _msgq;
bool _running;
};
diff --git a/gr-uhd/lib/usrp_sink_impl.cc b/gr-uhd/lib/usrp_sink_impl.cc
index 563917abaf..a049e79d8f 100644
--- a/gr-uhd/lib/usrp_sink_impl.cc
+++ b/gr-uhd/lib/usrp_sink_impl.cc
@@ -571,5 +571,27 @@ namespace gr {
return true;
}
+ void
+ usrp_sink_impl::setup_rpc()
+ {
+#ifdef GR_CTRLPORT
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_get<usrp_sink, double>(
+ alias(), "samp_rate",
+ &usrp_sink::get_samp_rate,
+ pmt::mp(100000.0f), pmt::mp(25000000.0f), pmt::mp(1000000.0f),
+ "sps", "TX Sample Rate", RPC_PRIVLVL_MIN,
+ DISPTIME | DISPOPTSTRIP)));
+
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_set<usrp_sink, double>(
+ alias(), "samp_rate",
+ &usrp_sink::set_samp_rate,
+ pmt::mp(100000.0f), pmt::mp(25000000.0f), pmt::mp(1000000.0f),
+ "sps", "TX Sample Rate",
+ RPC_PRIVLVL_MIN, DISPNULL)));
+#endif /* GR_CTRLPORT */
+ }
+
} /* namespace uhd */
} /* namespace gr */
diff --git a/gr-uhd/lib/usrp_sink_impl.h b/gr-uhd/lib/usrp_sink_impl.h
index d630e0f2fc..d2058fb4a8 100644
--- a/gr-uhd/lib/usrp_sink_impl.h
+++ b/gr-uhd/lib/usrp_sink_impl.h
@@ -56,6 +56,8 @@ namespace gr {
const ::uhd::stream_args_t &stream_args);
~usrp_sink_impl();
+ void setup_rpc();
+
::uhd::dict<std::string, std::string> get_usrp_info(size_t chan);
double get_samp_rate(void);
::uhd::meta_range_t get_samp_rates(void);
diff --git a/gr-uhd/lib/usrp_source_impl.cc b/gr-uhd/lib/usrp_source_impl.cc
index 9d6a55ae5a..ad3ffef2ad 100644
--- a/gr-uhd/lib/usrp_source_impl.cc
+++ b/gr-uhd/lib/usrp_source_impl.cc
@@ -624,5 +624,27 @@ namespace gr {
return num_samps;
}
+ void
+ usrp_source_impl::setup_rpc()
+ {
+#ifdef GR_CTRLPORT
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_get<usrp_source, double>(
+ alias(), "samp_rate",
+ &usrp_source::get_samp_rate,
+ pmt::mp(100000.0f), pmt::mp(25000000.0f), pmt::mp(1000000.0f),
+ "sps", "RX Sample Rate", RPC_PRIVLVL_MIN,
+ DISPTIME | DISPOPTSTRIP)));
+
+ add_rpc_variable(
+ rpcbasic_sptr(new rpcbasic_register_set<usrp_source, double>(
+ alias(), "samp_rate",
+ &usrp_source::set_samp_rate,
+ pmt::mp(100000.0f), pmt::mp(25000000.0f), pmt::mp(1000000.0f),
+ "sps", "RX Sample Rate",
+ RPC_PRIVLVL_MIN, DISPNULL)));
+#endif /* GR_CTRLPORT */
+ }
+
} /* namespace uhd */
} /* namespace gr */
diff --git a/gr-uhd/lib/usrp_source_impl.h b/gr-uhd/lib/usrp_source_impl.h
index b0b04a795b..e31263bda0 100644
--- a/gr-uhd/lib/usrp_source_impl.h
+++ b/gr-uhd/lib/usrp_source_impl.h
@@ -56,6 +56,8 @@ namespace gr {
const ::uhd::stream_args_t &stream_args);
~usrp_source_impl();
+ void setup_rpc();
+
// Get Commands
::uhd::dict<std::string, std::string> get_usrp_info(size_t chan);
std::string get_subdev_spec(size_t mboard);
diff --git a/gr-uhd/swig/CMakeLists.txt b/gr-uhd/swig/CMakeLists.txt
index 3a5132e7fd..ac80c5122b 100644
--- a/gr-uhd/swig/CMakeLists.txt
+++ b/gr-uhd/swig/CMakeLists.txt
@@ -27,14 +27,14 @@ set(GR_SWIG_FLAGS -DGR_HAVE_UHD) #needed to parse uhd_swig.i
set(GR_SWIG_INCLUDE_DIRS
${GR_UHD_INCLUDE_DIRS}
- ${GNURADIO_CORE_SWIG_INCLUDE_DIRS}
- ${GRUEL_INCLUDE_DIRS}
+ ${GNURADIO_RUNTIME_SWIG_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
${UHD_INCLUDE_DIRS}
)
set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/uhd_swig_doc.i)
-set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/uhd)
+set(GR_SWIG_DOCS_TARGET_DEPS runtime_swig_swig_doc)
link_directories(${UHD_LIBRARY_DIRS})
set(GR_SWIG_LIBRARIES gnuradio-uhd ${UHD_LIBRARIES})
diff --git a/gr-uhd/swig/uhd_swig.i b/gr-uhd/swig/uhd_swig.i
index 8ab4d59f3e..3df3c885b6 100644
--- a/gr-uhd/swig/uhd_swig.i
+++ b/gr-uhd/swig/uhd_swig.i
@@ -32,7 +32,7 @@
////////////////////////////////////////////////////////////////////////
// standard includes
////////////////////////////////////////////////////////////////////////
-%include "gnuradio.i"
+%include "runtime_swig.i"
//load generated python docstrings
%include "uhd_swig_doc.i"
@@ -49,9 +49,6 @@
////////////////////////////////////////////////////////////////////////
// used types
////////////////////////////////////////////////////////////////////////
-%template(string_vector_t) std::vector<std::string>;
-
-%template(size_vector_t) std::vector<size_t>;
%include <uhd/config.hpp>
@@ -91,7 +88,6 @@
////////////////////////////////////////////////////////////////////////
%include stdint.i
%include <uhd/types/serial.hpp>
-%template(byte_vector_t) std::vector<uint8_t>;
%include <uhd/usrp/dboard_iface.hpp>
%template(dboard_iface_sptr) boost::shared_ptr<uhd::usrp::dboard_iface>;