diff options
-rw-r--r-- | gr-uhd/grc/.gitignore | 3 | ||||
-rw-r--r-- | gr-uhd/grc/gen_uhd_usrp_blocks.py | 18 | ||||
-rw-r--r-- | gr-uhd/grc/uhd_usrp_sink.xml | 1255 | ||||
-rw-r--r-- | gr-uhd/grc/uhd_usrp_source.xml | 1255 | ||||
-rw-r--r-- | gr-uhd/include/gr_uhd_usrp_sink.h | 14 | ||||
-rw-r--r-- | gr-uhd/include/gr_uhd_usrp_source.h | 14 | ||||
-rw-r--r-- | gr-uhd/lib/gr_uhd_usrp_sink.cc | 8 | ||||
-rw-r--r-- | gr-uhd/lib/gr_uhd_usrp_source.cc | 8 |
8 files changed, 61 insertions, 2514 deletions
diff --git a/gr-uhd/grc/.gitignore b/gr-uhd/grc/.gitignore index d8ab9bd0c..797c54ae7 100644 --- a/gr-uhd/grc/.gitignore +++ b/gr-uhd/grc/.gitignore @@ -1,4 +1,3 @@ -/uhd_multi*.xml -/uhd_single*.xml +/uhd_usrp*.xml /Makefile /Makefile.in diff --git a/gr-uhd/grc/gen_uhd_usrp_blocks.py b/gr-uhd/grc/gen_uhd_usrp_blocks.py index ee8d692dd..831d69fc4 100644 --- a/gr-uhd/grc/gen_uhd_usrp_blocks.py +++ b/gr-uhd/grc/gen_uhd_usrp_blocks.py @@ -30,11 +30,14 @@ MAIN_TMPL = """\ num_channels=\$nchan, ) \#if \$ref_clk() -self.\$(id).set_clock_config(uhd.clock_config.external(), uhd.ALL_MBOARDS); +self.\$(id).set_clock_config(uhd.clock_config.external(), uhd.ALL_MBOARDS) \#end if \#if \$sync() self.\$(id).set_time_unknown_pps(uhd.time_spec()) \#end if +\#if \$clock_rate() +self.\$(id).set_clock_rate(\$clock_rate, uhd.ALL_MBOARDS) +\#end if #for $m in range($max_mboards) \#if \$num_mboards() > $m and \$sd_spec$(m)() self.\$(id).set_subdev_spec(\$sd_spec$(m), $m) @@ -109,7 +112,7 @@ self.\$(id).set_bandwidth(\$bw$(n), $n) <param> <name>Sync</name> <key>sync</key> - <value>sync</value> + <value></value> <type>enum</type> <hide>\#if \$sync() then 'none' else 'part'#</hide> <option> @@ -122,6 +125,17 @@ self.\$(id).set_bandwidth(\$bw$(n), $n) </option> </param> <param> + <name>Clock Rate (Hz)</name> + <key>clock_rate</key> + <value>0.0</value> + <type>real</type> + <hide>\#if \$clock_rate() then 'none' else 'part'#</hide> + <option> + <name>Default</name> + <key>0.0</key> + </option> + </param> + <param> <name>Num Mboards</name> <key>num_mboards</key> <value>1</value> diff --git a/gr-uhd/grc/uhd_usrp_sink.xml b/gr-uhd/grc/uhd_usrp_sink.xml deleted file mode 100644 index 2b8e89d57..000000000 --- a/gr-uhd/grc/uhd_usrp_sink.xml +++ /dev/null @@ -1,1255 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>UHD: USRP Sink</name> - <key>uhd_usrp_sink</key> - <import>from gnuradio import uhd</import> - <make>uhd.usrp_sink( - device_addr=$dev_addr, - io_type=uhd.io_type.$type.type, - num_channels=$nchan, -) -#if $ref_clk() -self.$(id).set_clock_config(uhd.clock_config.external(), uhd.ALL_MBOARDS); -#end if -#if $sync() -self.$(id).set_time_unknown_pps(uhd.time_spec()) -#end if -#if $num_mboards() > 0 and $sd_spec0() -self.$(id).set_subdev_spec($sd_spec0, 0) -#end if -#if $num_mboards() > 1 and $sd_spec1() -self.$(id).set_subdev_spec($sd_spec1, 1) -#end if -#if $num_mboards() > 2 and $sd_spec2() -self.$(id).set_subdev_spec($sd_spec2, 2) -#end if -#if $num_mboards() > 3 and $sd_spec3() -self.$(id).set_subdev_spec($sd_spec3, 3) -#end if -self.$(id).set_samp_rate($samp_rate) -#if $nchan() > 0 -self.$(id).set_center_freq($center_freq0, 0) -self.$(id).set_gain($gain0, 0) - #if $ant0() -self.$(id).set_antenna($ant0, 0) - #end if - #if $bw0() -self.$(id).set_bandwidth($bw0, 0) - #end if -#end if -#if $nchan() > 1 -self.$(id).set_center_freq($center_freq1, 1) -self.$(id).set_gain($gain1, 1) - #if $ant1() -self.$(id).set_antenna($ant1, 1) - #end if - #if $bw1() -self.$(id).set_bandwidth($bw1, 1) - #end if -#end if -#if $nchan() > 2 -self.$(id).set_center_freq($center_freq2, 2) -self.$(id).set_gain($gain2, 2) - #if $ant2() -self.$(id).set_antenna($ant2, 2) - #end if - #if $bw2() -self.$(id).set_bandwidth($bw2, 2) - #end if -#end if -#if $nchan() > 3 -self.$(id).set_center_freq($center_freq3, 3) -self.$(id).set_gain($gain3, 3) - #if $ant3() -self.$(id).set_antenna($ant3, 3) - #end if - #if $bw3() -self.$(id).set_bandwidth($bw3, 3) - #end if -#end if -#if $nchan() > 4 -self.$(id).set_center_freq($center_freq4, 4) -self.$(id).set_gain($gain4, 4) - #if $ant4() -self.$(id).set_antenna($ant4, 4) - #end if - #if $bw4() -self.$(id).set_bandwidth($bw4, 4) - #end if -#end if -#if $nchan() > 5 -self.$(id).set_center_freq($center_freq5, 5) -self.$(id).set_gain($gain5, 5) - #if $ant5() -self.$(id).set_antenna($ant5, 5) - #end if - #if $bw5() -self.$(id).set_bandwidth($bw5, 5) - #end if -#end if -#if $nchan() > 6 -self.$(id).set_center_freq($center_freq6, 6) -self.$(id).set_gain($gain6, 6) - #if $ant6() -self.$(id).set_antenna($ant6, 6) - #end if - #if $bw6() -self.$(id).set_bandwidth($bw6, 6) - #end if -#end if -#if $nchan() > 7 -self.$(id).set_center_freq($center_freq7, 7) -self.$(id).set_gain($gain7, 7) - #if $ant7() -self.$(id).set_antenna($ant7, 7) - #end if - #if $bw7() -self.$(id).set_bandwidth($bw7, 7) - #end if -#end if -#if $nchan() > 8 -self.$(id).set_center_freq($center_freq8, 8) -self.$(id).set_gain($gain8, 8) - #if $ant8() -self.$(id).set_antenna($ant8, 8) - #end if - #if $bw8() -self.$(id).set_bandwidth($bw8, 8) - #end if -#end if -#if $nchan() > 9 -self.$(id).set_center_freq($center_freq9, 9) -self.$(id).set_gain($gain9, 9) - #if $ant9() -self.$(id).set_antenna($ant9, 9) - #end if - #if $bw9() -self.$(id).set_bandwidth($bw9, 9) - #end if -#end if -#if $nchan() > 10 -self.$(id).set_center_freq($center_freq10, 10) -self.$(id).set_gain($gain10, 10) - #if $ant10() -self.$(id).set_antenna($ant10, 10) - #end if - #if $bw10() -self.$(id).set_bandwidth($bw10, 10) - #end if -#end if -#if $nchan() > 11 -self.$(id).set_center_freq($center_freq11, 11) -self.$(id).set_gain($gain11, 11) - #if $ant11() -self.$(id).set_antenna($ant11, 11) - #end if - #if $bw11() -self.$(id).set_bandwidth($bw11, 11) - #end if -#end if -#if $nchan() > 12 -self.$(id).set_center_freq($center_freq12, 12) -self.$(id).set_gain($gain12, 12) - #if $ant12() -self.$(id).set_antenna($ant12, 12) - #end if - #if $bw12() -self.$(id).set_bandwidth($bw12, 12) - #end if -#end if -#if $nchan() > 13 -self.$(id).set_center_freq($center_freq13, 13) -self.$(id).set_gain($gain13, 13) - #if $ant13() -self.$(id).set_antenna($ant13, 13) - #end if - #if $bw13() -self.$(id).set_bandwidth($bw13, 13) - #end if -#end if -#if $nchan() > 14 -self.$(id).set_center_freq($center_freq14, 14) -self.$(id).set_gain($gain14, 14) - #if $ant14() -self.$(id).set_antenna($ant14, 14) - #end if - #if $bw14() -self.$(id).set_bandwidth($bw14, 14) - #end if -#end if -#if $nchan() > 15 -self.$(id).set_center_freq($center_freq15, 15) -self.$(id).set_gain($gain15, 15) - #if $ant15() -self.$(id).set_antenna($ant15, 15) - #end if - #if $bw15() -self.$(id).set_bandwidth($bw15, 15) - #end if -#end if -</make> - <callback>set_samp_rate($samp_rate)</callback> - <callback>set_center_freq($center_freq0, 0)</callback> - <callback>set_gain($gain0, 0)</callback> - <callback>set_antenna($ant0, 0)</callback> - <callback>set_bandwidth($bw0, 0)</callback> - <callback>set_center_freq($center_freq1, 1)</callback> - <callback>set_gain($gain1, 1)</callback> - <callback>set_antenna($ant1, 1)</callback> - <callback>set_bandwidth($bw1, 1)</callback> - <callback>set_center_freq($center_freq2, 2)</callback> - <callback>set_gain($gain2, 2)</callback> - <callback>set_antenna($ant2, 2)</callback> - <callback>set_bandwidth($bw2, 2)</callback> - <callback>set_center_freq($center_freq3, 3)</callback> - <callback>set_gain($gain3, 3)</callback> - <callback>set_antenna($ant3, 3)</callback> - <callback>set_bandwidth($bw3, 3)</callback> - <callback>set_center_freq($center_freq4, 4)</callback> - <callback>set_gain($gain4, 4)</callback> - <callback>set_antenna($ant4, 4)</callback> - <callback>set_bandwidth($bw4, 4)</callback> - <callback>set_center_freq($center_freq5, 5)</callback> - <callback>set_gain($gain5, 5)</callback> - <callback>set_antenna($ant5, 5)</callback> - <callback>set_bandwidth($bw5, 5)</callback> - <callback>set_center_freq($center_freq6, 6)</callback> - <callback>set_gain($gain6, 6)</callback> - <callback>set_antenna($ant6, 6)</callback> - <callback>set_bandwidth($bw6, 6)</callback> - <callback>set_center_freq($center_freq7, 7)</callback> - <callback>set_gain($gain7, 7)</callback> - <callback>set_antenna($ant7, 7)</callback> - <callback>set_bandwidth($bw7, 7)</callback> - <callback>set_center_freq($center_freq8, 8)</callback> - <callback>set_gain($gain8, 8)</callback> - <callback>set_antenna($ant8, 8)</callback> - <callback>set_bandwidth($bw8, 8)</callback> - <callback>set_center_freq($center_freq9, 9)</callback> - <callback>set_gain($gain9, 9)</callback> - <callback>set_antenna($ant9, 9)</callback> - <callback>set_bandwidth($bw9, 9)</callback> - <callback>set_center_freq($center_freq10, 10)</callback> - <callback>set_gain($gain10, 10)</callback> - <callback>set_antenna($ant10, 10)</callback> - <callback>set_bandwidth($bw10, 10)</callback> - <callback>set_center_freq($center_freq11, 11)</callback> - <callback>set_gain($gain11, 11)</callback> - <callback>set_antenna($ant11, 11)</callback> - <callback>set_bandwidth($bw11, 11)</callback> - <callback>set_center_freq($center_freq12, 12)</callback> - <callback>set_gain($gain12, 12)</callback> - <callback>set_antenna($ant12, 12)</callback> - <callback>set_bandwidth($bw12, 12)</callback> - <callback>set_center_freq($center_freq13, 13)</callback> - <callback>set_gain($gain13, 13)</callback> - <callback>set_antenna($ant13, 13)</callback> - <callback>set_bandwidth($bw13, 13)</callback> - <callback>set_center_freq($center_freq14, 14)</callback> - <callback>set_gain($gain14, 14)</callback> - <callback>set_antenna($ant14, 14)</callback> - <callback>set_bandwidth($bw14, 14)</callback> - <callback>set_center_freq($center_freq15, 15)</callback> - <callback>set_gain($gain15, 15)</callback> - <callback>set_antenna($ant15, 15)</callback> - <callback>set_bandwidth($bw15, 15)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>type:COMPLEX_FLOAT32</opt> - <opt>vlen:1</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>type:COMPLEX_INT16</opt> - <opt>vlen:2</opt> - </option> - </param> - <param> - <name>Device Addr</name> - <key>dev_addr</key> - <value></value> - <type>string</type> - <hide> - #if $dev_addr() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ref Clock</name> - <key>ref_clk</key> - <value></value> - <type>enum</type> - <hide>#if $ref_clk() then 'none' else 'part'#</hide> - <option> - <name>External</name> - <key>ext</key> - </option> - <option> - <name>Internal</name> - <key></key> - </option> - </param> - <param> - <name>Sync</name> - <key>sync</key> - <value>sync</value> - <type>enum</type> - <hide>#if $sync() then 'none' else 'part'#</hide> - <option> - <name>unknown PPS</name> - <key>sync</key> - </option> - <option> - <name>don't sync</name> - <key></key> - </option> - </param> - <param> - <name>Num Mboards</name> - <key>num_mboards</key> - <value>1</value> - <type>int</type> - <option> - <name>1</name> - <key>1</key> - </option> - <option> - <name>2</name> - <key>2</key> - </option> - <option> - <name>3</name> - <key>3</key> - </option> - <option> - <name>4</name> - <key>4</key> - </option> - </param> - <param> - <name>Mb0: Subdev Spec</name> - <key>sd_spec0</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 0 - all - #elif $sd_spec0() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb1: Subdev Spec</name> - <key>sd_spec1</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 1 - all - #elif $sd_spec1() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb2: Subdev Spec</name> - <key>sd_spec2</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 2 - all - #elif $sd_spec2() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb3: Subdev Spec</name> - <key>sd_spec3</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 3 - all - #elif $sd_spec3() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Num Channels</name> - <key>nchan</key> - <value>1</value> - <type>int</type> - <option> - <name>1</name> - <key>1</key> - </option> - <option> - <name>2</name> - <key>2</key> - </option> - <option> - <name>3</name> - <key>3</key> - </option> - <option> - <name>4</name> - <key>4</key> - </option> - <option> - <name>5</name> - <key>5</key> - </option> - <option> - <name>6</name> - <key>6</key> - </option> - <option> - <name>7</name> - <key>7</key> - </option> - <option> - <name>8</name> - <key>8</key> - </option> - <option> - <name>9</name> - <key>9</key> - </option> - <option> - <name>10</name> - <key>10</key> - </option> - <option> - <name>11</name> - <key>11</key> - </option> - <option> - <name>12</name> - <key>12</key> - </option> - <option> - <name>13</name> - <key>13</key> - </option> - <option> - <name>14</name> - <key>14</key> - </option> - <option> - <name>15</name> - <key>15</key> - </option> - <option> - <name>16</name> - <key>16</key> - </option> - </param> - <param> - <name>Samp Rate (Sps)</name> - <key>samp_rate</key> - <value>samp_rate</value> - <type>real</type> - </param> - - <param> - <name>Ch0: Center Freq (Hz)</name> - <key>center_freq0</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 0 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch0: Gain (dB)</name> - <key>gain0</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 0 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch0: Antenna</name> - <key>ant0</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 0 - all - #elif $ant0() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch0: Bandwidth (Hz)</name> - <key>bw0</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 0 - all - #elif $bw0() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch1: Center Freq (Hz)</name> - <key>center_freq1</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 1 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch1: Gain (dB)</name> - <key>gain1</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 1 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch1: Antenna</name> - <key>ant1</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 1 - all - #elif $ant1() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch1: Bandwidth (Hz)</name> - <key>bw1</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 1 - all - #elif $bw1() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch2: Center Freq (Hz)</name> - <key>center_freq2</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 2 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch2: Gain (dB)</name> - <key>gain2</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 2 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch2: Antenna</name> - <key>ant2</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 2 - all - #elif $ant2() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch2: Bandwidth (Hz)</name> - <key>bw2</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 2 - all - #elif $bw2() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch3: Center Freq (Hz)</name> - <key>center_freq3</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 3 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch3: Gain (dB)</name> - <key>gain3</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 3 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch3: Antenna</name> - <key>ant3</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 3 - all - #elif $ant3() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch3: Bandwidth (Hz)</name> - <key>bw3</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 3 - all - #elif $bw3() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch4: Center Freq (Hz)</name> - <key>center_freq4</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 4 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch4: Gain (dB)</name> - <key>gain4</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 4 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch4: Antenna</name> - <key>ant4</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 4 - all - #elif $ant4() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch4: Bandwidth (Hz)</name> - <key>bw4</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 4 - all - #elif $bw4() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch5: Center Freq (Hz)</name> - <key>center_freq5</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 5 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch5: Gain (dB)</name> - <key>gain5</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 5 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch5: Antenna</name> - <key>ant5</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 5 - all - #elif $ant5() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch5: Bandwidth (Hz)</name> - <key>bw5</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 5 - all - #elif $bw5() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch6: Center Freq (Hz)</name> - <key>center_freq6</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 6 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch6: Gain (dB)</name> - <key>gain6</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 6 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch6: Antenna</name> - <key>ant6</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 6 - all - #elif $ant6() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch6: Bandwidth (Hz)</name> - <key>bw6</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 6 - all - #elif $bw6() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch7: Center Freq (Hz)</name> - <key>center_freq7</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 7 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch7: Gain (dB)</name> - <key>gain7</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 7 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch7: Antenna</name> - <key>ant7</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 7 - all - #elif $ant7() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch7: Bandwidth (Hz)</name> - <key>bw7</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 7 - all - #elif $bw7() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch8: Center Freq (Hz)</name> - <key>center_freq8</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 8 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch8: Gain (dB)</name> - <key>gain8</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 8 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch8: Antenna</name> - <key>ant8</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 8 - all - #elif $ant8() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch8: Bandwidth (Hz)</name> - <key>bw8</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 8 - all - #elif $bw8() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch9: Center Freq (Hz)</name> - <key>center_freq9</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 9 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch9: Gain (dB)</name> - <key>gain9</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 9 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch9: Antenna</name> - <key>ant9</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 9 - all - #elif $ant9() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch9: Bandwidth (Hz)</name> - <key>bw9</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 9 - all - #elif $bw9() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch10: Center Freq (Hz)</name> - <key>center_freq10</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 10 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch10: Gain (dB)</name> - <key>gain10</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 10 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch10: Antenna</name> - <key>ant10</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 10 - all - #elif $ant10() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch10: Bandwidth (Hz)</name> - <key>bw10</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 10 - all - #elif $bw10() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch11: Center Freq (Hz)</name> - <key>center_freq11</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 11 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch11: Gain (dB)</name> - <key>gain11</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 11 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch11: Antenna</name> - <key>ant11</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 11 - all - #elif $ant11() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch11: Bandwidth (Hz)</name> - <key>bw11</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 11 - all - #elif $bw11() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch12: Center Freq (Hz)</name> - <key>center_freq12</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 12 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch12: Gain (dB)</name> - <key>gain12</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 12 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch12: Antenna</name> - <key>ant12</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 12 - all - #elif $ant12() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch12: Bandwidth (Hz)</name> - <key>bw12</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 12 - all - #elif $bw12() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch13: Center Freq (Hz)</name> - <key>center_freq13</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 13 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch13: Gain (dB)</name> - <key>gain13</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 13 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch13: Antenna</name> - <key>ant13</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 13 - all - #elif $ant13() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch13: Bandwidth (Hz)</name> - <key>bw13</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 13 - all - #elif $bw13() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch14: Center Freq (Hz)</name> - <key>center_freq14</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 14 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch14: Gain (dB)</name> - <key>gain14</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 14 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch14: Antenna</name> - <key>ant14</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 14 - all - #elif $ant14() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch14: Bandwidth (Hz)</name> - <key>bw14</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 14 - all - #elif $bw14() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch15: Center Freq (Hz)</name> - <key>center_freq15</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 15 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch15: Gain (dB)</name> - <key>gain15</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 15 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch15: Antenna</name> - <key>ant15</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 15 - all - #elif $ant15() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch15: Bandwidth (Hz)</name> - <key>bw15</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 15 - all - #elif $bw15() - none - #else - part - #end if - </hide> - </param> - - <check>16 >= $nchan</check> - <check>$nchan > 0</check> - <check>4 >= $num_mboards</check> - <check>$num_mboards > 0</check> - <check>$nchan >= $num_mboards</check> - <sink> - <name>in</name> - <type>$type</type> - <vlen>$type.vlen</vlen> - <nports>$nchan</nports> - </sink> - <doc> -The UHD USRP Sink Block: - -Device Address: -The device address is a delimited string used to locate UHD devices on your system. \ -If left blank, the first UHD device found will be used. \ -Use the device address to specify a specific device or list of devices. -USRP1 Example: serial=12345678 -USRP2 Example: addr=192.168.10.2 -USRP2 Example: addr0=192.168.10.2, addr1=192.168.10.3 - -Num Motherboards: -Selects the number of USRP motherboards in this device configuration. - -Subdevice specification: -Each motherboard should have its own subdevice specification \ -and all subdevice specifications should be the same length. \ -Select the subdevice or subdevices for each channel using a markup string. \ -The markup string consists of a list of dboard_slot:subdev_name pairs (one pair per channel). \ -If left blank, the UHD will try to select the first subdevice on your system. \ -See the application notes for further details. -Single channel example: :AB -Dual channel example: :A :B - -Num Channels: -Selects the total number of channels in this multi-USRP configuration. -Ex: 4 motherboards with 2 channels per board = 8 channels total - -Sample rate: -The sample rate is the number of samples per second input by this block. \ -The UHD device driver will try its best to match the requested sample rate. \ -If the requested rate is not possible, the UHD block will print an error at runtime. - -Center frequency: -The center frequency is the overall frequency of the RF chain. \ -For greater control of how the UHD tunes elements in the RF chain, \ -pass a tune_request object rather than a simple target frequency. -Tuning with an LO offset example: uhd.tune_request(freq, lo_off) - -Antenna: -For subdevices with only one antenna, this may be left blank. \ -Otherwise, the user should specify one of the possible antenna choices. \ -See the daughterboard application notes for the possible antenna choices. - -Bandwidth: -To use the default bandwidth filter setting, this should be zero. \ -Only certain subdevices have configurable bandwidth filters. \ -See the daughterboard application notes for possible configurations. - </doc> -</block> diff --git a/gr-uhd/grc/uhd_usrp_source.xml b/gr-uhd/grc/uhd_usrp_source.xml deleted file mode 100644 index d86ad3fb7..000000000 --- a/gr-uhd/grc/uhd_usrp_source.xml +++ /dev/null @@ -1,1255 +0,0 @@ -<?xml version="1.0"?> -<block> - <name>UHD: USRP Source</name> - <key>uhd_usrp_source</key> - <import>from gnuradio import uhd</import> - <make>uhd.usrp_source( - device_addr=$dev_addr, - io_type=uhd.io_type.$type.type, - num_channels=$nchan, -) -#if $ref_clk() -self.$(id).set_clock_config(uhd.clock_config.external(), uhd.ALL_MBOARDS); -#end if -#if $sync() -self.$(id).set_time_unknown_pps(uhd.time_spec()) -#end if -#if $num_mboards() > 0 and $sd_spec0() -self.$(id).set_subdev_spec($sd_spec0, 0) -#end if -#if $num_mboards() > 1 and $sd_spec1() -self.$(id).set_subdev_spec($sd_spec1, 1) -#end if -#if $num_mboards() > 2 and $sd_spec2() -self.$(id).set_subdev_spec($sd_spec2, 2) -#end if -#if $num_mboards() > 3 and $sd_spec3() -self.$(id).set_subdev_spec($sd_spec3, 3) -#end if -self.$(id).set_samp_rate($samp_rate) -#if $nchan() > 0 -self.$(id).set_center_freq($center_freq0, 0) -self.$(id).set_gain($gain0, 0) - #if $ant0() -self.$(id).set_antenna($ant0, 0) - #end if - #if $bw0() -self.$(id).set_bandwidth($bw0, 0) - #end if -#end if -#if $nchan() > 1 -self.$(id).set_center_freq($center_freq1, 1) -self.$(id).set_gain($gain1, 1) - #if $ant1() -self.$(id).set_antenna($ant1, 1) - #end if - #if $bw1() -self.$(id).set_bandwidth($bw1, 1) - #end if -#end if -#if $nchan() > 2 -self.$(id).set_center_freq($center_freq2, 2) -self.$(id).set_gain($gain2, 2) - #if $ant2() -self.$(id).set_antenna($ant2, 2) - #end if - #if $bw2() -self.$(id).set_bandwidth($bw2, 2) - #end if -#end if -#if $nchan() > 3 -self.$(id).set_center_freq($center_freq3, 3) -self.$(id).set_gain($gain3, 3) - #if $ant3() -self.$(id).set_antenna($ant3, 3) - #end if - #if $bw3() -self.$(id).set_bandwidth($bw3, 3) - #end if -#end if -#if $nchan() > 4 -self.$(id).set_center_freq($center_freq4, 4) -self.$(id).set_gain($gain4, 4) - #if $ant4() -self.$(id).set_antenna($ant4, 4) - #end if - #if $bw4() -self.$(id).set_bandwidth($bw4, 4) - #end if -#end if -#if $nchan() > 5 -self.$(id).set_center_freq($center_freq5, 5) -self.$(id).set_gain($gain5, 5) - #if $ant5() -self.$(id).set_antenna($ant5, 5) - #end if - #if $bw5() -self.$(id).set_bandwidth($bw5, 5) - #end if -#end if -#if $nchan() > 6 -self.$(id).set_center_freq($center_freq6, 6) -self.$(id).set_gain($gain6, 6) - #if $ant6() -self.$(id).set_antenna($ant6, 6) - #end if - #if $bw6() -self.$(id).set_bandwidth($bw6, 6) - #end if -#end if -#if $nchan() > 7 -self.$(id).set_center_freq($center_freq7, 7) -self.$(id).set_gain($gain7, 7) - #if $ant7() -self.$(id).set_antenna($ant7, 7) - #end if - #if $bw7() -self.$(id).set_bandwidth($bw7, 7) - #end if -#end if -#if $nchan() > 8 -self.$(id).set_center_freq($center_freq8, 8) -self.$(id).set_gain($gain8, 8) - #if $ant8() -self.$(id).set_antenna($ant8, 8) - #end if - #if $bw8() -self.$(id).set_bandwidth($bw8, 8) - #end if -#end if -#if $nchan() > 9 -self.$(id).set_center_freq($center_freq9, 9) -self.$(id).set_gain($gain9, 9) - #if $ant9() -self.$(id).set_antenna($ant9, 9) - #end if - #if $bw9() -self.$(id).set_bandwidth($bw9, 9) - #end if -#end if -#if $nchan() > 10 -self.$(id).set_center_freq($center_freq10, 10) -self.$(id).set_gain($gain10, 10) - #if $ant10() -self.$(id).set_antenna($ant10, 10) - #end if - #if $bw10() -self.$(id).set_bandwidth($bw10, 10) - #end if -#end if -#if $nchan() > 11 -self.$(id).set_center_freq($center_freq11, 11) -self.$(id).set_gain($gain11, 11) - #if $ant11() -self.$(id).set_antenna($ant11, 11) - #end if - #if $bw11() -self.$(id).set_bandwidth($bw11, 11) - #end if -#end if -#if $nchan() > 12 -self.$(id).set_center_freq($center_freq12, 12) -self.$(id).set_gain($gain12, 12) - #if $ant12() -self.$(id).set_antenna($ant12, 12) - #end if - #if $bw12() -self.$(id).set_bandwidth($bw12, 12) - #end if -#end if -#if $nchan() > 13 -self.$(id).set_center_freq($center_freq13, 13) -self.$(id).set_gain($gain13, 13) - #if $ant13() -self.$(id).set_antenna($ant13, 13) - #end if - #if $bw13() -self.$(id).set_bandwidth($bw13, 13) - #end if -#end if -#if $nchan() > 14 -self.$(id).set_center_freq($center_freq14, 14) -self.$(id).set_gain($gain14, 14) - #if $ant14() -self.$(id).set_antenna($ant14, 14) - #end if - #if $bw14() -self.$(id).set_bandwidth($bw14, 14) - #end if -#end if -#if $nchan() > 15 -self.$(id).set_center_freq($center_freq15, 15) -self.$(id).set_gain($gain15, 15) - #if $ant15() -self.$(id).set_antenna($ant15, 15) - #end if - #if $bw15() -self.$(id).set_bandwidth($bw15, 15) - #end if -#end if -</make> - <callback>set_samp_rate($samp_rate)</callback> - <callback>set_center_freq($center_freq0, 0)</callback> - <callback>set_gain($gain0, 0)</callback> - <callback>set_antenna($ant0, 0)</callback> - <callback>set_bandwidth($bw0, 0)</callback> - <callback>set_center_freq($center_freq1, 1)</callback> - <callback>set_gain($gain1, 1)</callback> - <callback>set_antenna($ant1, 1)</callback> - <callback>set_bandwidth($bw1, 1)</callback> - <callback>set_center_freq($center_freq2, 2)</callback> - <callback>set_gain($gain2, 2)</callback> - <callback>set_antenna($ant2, 2)</callback> - <callback>set_bandwidth($bw2, 2)</callback> - <callback>set_center_freq($center_freq3, 3)</callback> - <callback>set_gain($gain3, 3)</callback> - <callback>set_antenna($ant3, 3)</callback> - <callback>set_bandwidth($bw3, 3)</callback> - <callback>set_center_freq($center_freq4, 4)</callback> - <callback>set_gain($gain4, 4)</callback> - <callback>set_antenna($ant4, 4)</callback> - <callback>set_bandwidth($bw4, 4)</callback> - <callback>set_center_freq($center_freq5, 5)</callback> - <callback>set_gain($gain5, 5)</callback> - <callback>set_antenna($ant5, 5)</callback> - <callback>set_bandwidth($bw5, 5)</callback> - <callback>set_center_freq($center_freq6, 6)</callback> - <callback>set_gain($gain6, 6)</callback> - <callback>set_antenna($ant6, 6)</callback> - <callback>set_bandwidth($bw6, 6)</callback> - <callback>set_center_freq($center_freq7, 7)</callback> - <callback>set_gain($gain7, 7)</callback> - <callback>set_antenna($ant7, 7)</callback> - <callback>set_bandwidth($bw7, 7)</callback> - <callback>set_center_freq($center_freq8, 8)</callback> - <callback>set_gain($gain8, 8)</callback> - <callback>set_antenna($ant8, 8)</callback> - <callback>set_bandwidth($bw8, 8)</callback> - <callback>set_center_freq($center_freq9, 9)</callback> - <callback>set_gain($gain9, 9)</callback> - <callback>set_antenna($ant9, 9)</callback> - <callback>set_bandwidth($bw9, 9)</callback> - <callback>set_center_freq($center_freq10, 10)</callback> - <callback>set_gain($gain10, 10)</callback> - <callback>set_antenna($ant10, 10)</callback> - <callback>set_bandwidth($bw10, 10)</callback> - <callback>set_center_freq($center_freq11, 11)</callback> - <callback>set_gain($gain11, 11)</callback> - <callback>set_antenna($ant11, 11)</callback> - <callback>set_bandwidth($bw11, 11)</callback> - <callback>set_center_freq($center_freq12, 12)</callback> - <callback>set_gain($gain12, 12)</callback> - <callback>set_antenna($ant12, 12)</callback> - <callback>set_bandwidth($bw12, 12)</callback> - <callback>set_center_freq($center_freq13, 13)</callback> - <callback>set_gain($gain13, 13)</callback> - <callback>set_antenna($ant13, 13)</callback> - <callback>set_bandwidth($bw13, 13)</callback> - <callback>set_center_freq($center_freq14, 14)</callback> - <callback>set_gain($gain14, 14)</callback> - <callback>set_antenna($ant14, 14)</callback> - <callback>set_bandwidth($bw14, 14)</callback> - <callback>set_center_freq($center_freq15, 15)</callback> - <callback>set_gain($gain15, 15)</callback> - <callback>set_antenna($ant15, 15)</callback> - <callback>set_bandwidth($bw15, 15)</callback> - <param> - <name>Input Type</name> - <key>type</key> - <type>enum</type> - <option> - <name>Complex</name> - <key>complex</key> - <opt>type:COMPLEX_FLOAT32</opt> - <opt>vlen:1</opt> - </option> - <option> - <name>Short</name> - <key>short</key> - <opt>type:COMPLEX_INT16</opt> - <opt>vlen:2</opt> - </option> - </param> - <param> - <name>Device Addr</name> - <key>dev_addr</key> - <value></value> - <type>string</type> - <hide> - #if $dev_addr() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ref Clock</name> - <key>ref_clk</key> - <value></value> - <type>enum</type> - <hide>#if $ref_clk() then 'none' else 'part'#</hide> - <option> - <name>External</name> - <key>ext</key> - </option> - <option> - <name>Internal</name> - <key></key> - </option> - </param> - <param> - <name>Sync</name> - <key>sync</key> - <value>sync</value> - <type>enum</type> - <hide>#if $sync() then 'none' else 'part'#</hide> - <option> - <name>unknown PPS</name> - <key>sync</key> - </option> - <option> - <name>don't sync</name> - <key></key> - </option> - </param> - <param> - <name>Num Mboards</name> - <key>num_mboards</key> - <value>1</value> - <type>int</type> - <option> - <name>1</name> - <key>1</key> - </option> - <option> - <name>2</name> - <key>2</key> - </option> - <option> - <name>3</name> - <key>3</key> - </option> - <option> - <name>4</name> - <key>4</key> - </option> - </param> - <param> - <name>Mb0: Subdev Spec</name> - <key>sd_spec0</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 0 - all - #elif $sd_spec0() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb1: Subdev Spec</name> - <key>sd_spec1</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 1 - all - #elif $sd_spec1() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb2: Subdev Spec</name> - <key>sd_spec2</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 2 - all - #elif $sd_spec2() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Mb3: Subdev Spec</name> - <key>sd_spec3</key> - <value></value> - <type>string</type> - <hide> - #if not $num_mboards() > 3 - all - #elif $sd_spec3() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Num Channels</name> - <key>nchan</key> - <value>1</value> - <type>int</type> - <option> - <name>1</name> - <key>1</key> - </option> - <option> - <name>2</name> - <key>2</key> - </option> - <option> - <name>3</name> - <key>3</key> - </option> - <option> - <name>4</name> - <key>4</key> - </option> - <option> - <name>5</name> - <key>5</key> - </option> - <option> - <name>6</name> - <key>6</key> - </option> - <option> - <name>7</name> - <key>7</key> - </option> - <option> - <name>8</name> - <key>8</key> - </option> - <option> - <name>9</name> - <key>9</key> - </option> - <option> - <name>10</name> - <key>10</key> - </option> - <option> - <name>11</name> - <key>11</key> - </option> - <option> - <name>12</name> - <key>12</key> - </option> - <option> - <name>13</name> - <key>13</key> - </option> - <option> - <name>14</name> - <key>14</key> - </option> - <option> - <name>15</name> - <key>15</key> - </option> - <option> - <name>16</name> - <key>16</key> - </option> - </param> - <param> - <name>Samp Rate (Sps)</name> - <key>samp_rate</key> - <value>samp_rate</value> - <type>real</type> - </param> - - <param> - <name>Ch0: Center Freq (Hz)</name> - <key>center_freq0</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 0 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch0: Gain (dB)</name> - <key>gain0</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 0 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch0: Antenna</name> - <key>ant0</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 0 - all - #elif $ant0() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch0: Bandwidth (Hz)</name> - <key>bw0</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 0 - all - #elif $bw0() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch1: Center Freq (Hz)</name> - <key>center_freq1</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 1 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch1: Gain (dB)</name> - <key>gain1</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 1 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch1: Antenna</name> - <key>ant1</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 1 - all - #elif $ant1() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch1: Bandwidth (Hz)</name> - <key>bw1</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 1 - all - #elif $bw1() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch2: Center Freq (Hz)</name> - <key>center_freq2</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 2 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch2: Gain (dB)</name> - <key>gain2</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 2 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch2: Antenna</name> - <key>ant2</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 2 - all - #elif $ant2() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch2: Bandwidth (Hz)</name> - <key>bw2</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 2 - all - #elif $bw2() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch3: Center Freq (Hz)</name> - <key>center_freq3</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 3 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch3: Gain (dB)</name> - <key>gain3</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 3 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch3: Antenna</name> - <key>ant3</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 3 - all - #elif $ant3() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch3: Bandwidth (Hz)</name> - <key>bw3</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 3 - all - #elif $bw3() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch4: Center Freq (Hz)</name> - <key>center_freq4</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 4 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch4: Gain (dB)</name> - <key>gain4</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 4 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch4: Antenna</name> - <key>ant4</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 4 - all - #elif $ant4() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch4: Bandwidth (Hz)</name> - <key>bw4</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 4 - all - #elif $bw4() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch5: Center Freq (Hz)</name> - <key>center_freq5</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 5 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch5: Gain (dB)</name> - <key>gain5</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 5 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch5: Antenna</name> - <key>ant5</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 5 - all - #elif $ant5() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch5: Bandwidth (Hz)</name> - <key>bw5</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 5 - all - #elif $bw5() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch6: Center Freq (Hz)</name> - <key>center_freq6</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 6 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch6: Gain (dB)</name> - <key>gain6</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 6 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch6: Antenna</name> - <key>ant6</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 6 - all - #elif $ant6() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch6: Bandwidth (Hz)</name> - <key>bw6</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 6 - all - #elif $bw6() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch7: Center Freq (Hz)</name> - <key>center_freq7</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 7 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch7: Gain (dB)</name> - <key>gain7</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 7 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch7: Antenna</name> - <key>ant7</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 7 - all - #elif $ant7() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch7: Bandwidth (Hz)</name> - <key>bw7</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 7 - all - #elif $bw7() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch8: Center Freq (Hz)</name> - <key>center_freq8</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 8 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch8: Gain (dB)</name> - <key>gain8</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 8 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch8: Antenna</name> - <key>ant8</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 8 - all - #elif $ant8() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch8: Bandwidth (Hz)</name> - <key>bw8</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 8 - all - #elif $bw8() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch9: Center Freq (Hz)</name> - <key>center_freq9</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 9 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch9: Gain (dB)</name> - <key>gain9</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 9 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch9: Antenna</name> - <key>ant9</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 9 - all - #elif $ant9() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch9: Bandwidth (Hz)</name> - <key>bw9</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 9 - all - #elif $bw9() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch10: Center Freq (Hz)</name> - <key>center_freq10</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 10 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch10: Gain (dB)</name> - <key>gain10</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 10 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch10: Antenna</name> - <key>ant10</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 10 - all - #elif $ant10() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch10: Bandwidth (Hz)</name> - <key>bw10</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 10 - all - #elif $bw10() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch11: Center Freq (Hz)</name> - <key>center_freq11</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 11 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch11: Gain (dB)</name> - <key>gain11</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 11 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch11: Antenna</name> - <key>ant11</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 11 - all - #elif $ant11() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch11: Bandwidth (Hz)</name> - <key>bw11</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 11 - all - #elif $bw11() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch12: Center Freq (Hz)</name> - <key>center_freq12</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 12 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch12: Gain (dB)</name> - <key>gain12</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 12 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch12: Antenna</name> - <key>ant12</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 12 - all - #elif $ant12() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch12: Bandwidth (Hz)</name> - <key>bw12</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 12 - all - #elif $bw12() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch13: Center Freq (Hz)</name> - <key>center_freq13</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 13 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch13: Gain (dB)</name> - <key>gain13</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 13 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch13: Antenna</name> - <key>ant13</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 13 - all - #elif $ant13() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch13: Bandwidth (Hz)</name> - <key>bw13</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 13 - all - #elif $bw13() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch14: Center Freq (Hz)</name> - <key>center_freq14</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 14 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch14: Gain (dB)</name> - <key>gain14</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 14 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch14: Antenna</name> - <key>ant14</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 14 - all - #elif $ant14() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch14: Bandwidth (Hz)</name> - <key>bw14</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 14 - all - #elif $bw14() - none - #else - part - #end if - </hide> - </param> - - <param> - <name>Ch15: Center Freq (Hz)</name> - <key>center_freq15</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 15 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch15: Gain (dB)</name> - <key>gain15</key> - <value>0</value> - <type>real</type> - <hide>#if $nchan() > 15 then 'none' else 'all'#</hide> - </param> - <param> - <name>Ch15: Antenna</name> - <key>ant15</key> - <value></value> - <type>string</type> - <hide> - #if not $nchan() > 15 - all - #elif $ant15() - none - #else - part - #end if - </hide> - </param> - <param> - <name>Ch15: Bandwidth (Hz)</name> - <key>bw15</key> - <value>0</value> - <type>real</type> - <hide> - #if not $nchan() > 15 - all - #elif $bw15() - none - #else - part - #end if - </hide> - </param> - - <check>16 >= $nchan</check> - <check>$nchan > 0</check> - <check>4 >= $num_mboards</check> - <check>$num_mboards > 0</check> - <check>$nchan >= $num_mboards</check> - <source> - <name>out</name> - <type>$type</type> - <vlen>$type.vlen</vlen> - <nports>$nchan</nports> - </source> - <doc> -The UHD USRP Source Block: - -Device Address: -The device address is a delimited string used to locate UHD devices on your system. \ -If left blank, the first UHD device found will be used. \ -Use the device address to specify a specific device or list of devices. -USRP1 Example: serial=12345678 -USRP2 Example: addr=192.168.10.2 -USRP2 Example: addr0=192.168.10.2, addr1=192.168.10.3 - -Num Motherboards: -Selects the number of USRP motherboards in this device configuration. - -Subdevice specification: -Each motherboard should have its own subdevice specification \ -and all subdevice specifications should be the same length. \ -Select the subdevice or subdevices for each channel using a markup string. \ -The markup string consists of a list of dboard_slot:subdev_name pairs (one pair per channel). \ -If left blank, the UHD will try to select the first subdevice on your system. \ -See the application notes for further details. -Single channel example: :AB -Dual channel example: :A :B - -Num Channels: -Selects the total number of channels in this multi-USRP configuration. -Ex: 4 motherboards with 2 channels per board = 8 channels total - -Sample rate: -The sample rate is the number of samples per second input by this block. \ -The UHD device driver will try its best to match the requested sample rate. \ -If the requested rate is not possible, the UHD block will print an error at runtime. - -Center frequency: -The center frequency is the overall frequency of the RF chain. \ -For greater control of how the UHD tunes elements in the RF chain, \ -pass a tune_request object rather than a simple target frequency. -Tuning with an LO offset example: uhd.tune_request(freq, lo_off) - -Antenna: -For subdevices with only one antenna, this may be left blank. \ -Otherwise, the user should specify one of the possible antenna choices. \ -See the daughterboard application notes for the possible antenna choices. - -Bandwidth: -To use the default bandwidth filter setting, this should be zero. \ -Only certain subdevices have configurable bandwidth filters. \ -See the daughterboard application notes for possible configurations. - </doc> -</block> diff --git a/gr-uhd/include/gr_uhd_usrp_sink.h b/gr-uhd/include/gr_uhd_usrp_sink.h index caa8c230f..4644af5df 100644 --- a/gr-uhd/include/gr_uhd_usrp_sink.h +++ b/gr-uhd/include/gr_uhd_usrp_sink.h @@ -156,6 +156,20 @@ public: virtual void set_clock_config(const uhd::clock_config_t &clock_config, size_t mboard = 0) = 0; /*! + * Get the master clock rate. + * \param mboard the motherboard index 0 to M-1 + * \return the clock rate in Hz + */ + virtual double get_clock_rate(size_t mboard = 0) = 0; + + /*! + * Set the master clock rate. + * \param rate the new rate in Hz + * \param mboard the motherboard index 0 to M-1 + */ + virtual void set_clock_rate(double rate, size_t mboard = 0) = 0; + + /*! * Get the current time registers. * \return the current usrp time */ diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h index a5f9600da..b8d0768d9 100644 --- a/gr-uhd/include/gr_uhd_usrp_source.h +++ b/gr-uhd/include/gr_uhd_usrp_source.h @@ -156,6 +156,20 @@ public: virtual void set_clock_config(const uhd::clock_config_t &clock_config, size_t mboard = 0) = 0; /*! + * Get the master clock rate. + * \param mboard the motherboard index 0 to M-1 + * \return the clock rate in Hz + */ + virtual double get_clock_rate(size_t mboard = 0) = 0; + + /*! + * Set the master clock rate. + * \param rate the new rate in Hz + * \param mboard the motherboard index 0 to M-1 + */ + virtual void set_clock_rate(double rate, size_t mboard = 0) = 0; + + /*! * Get the current time registers. * \return the current usrp time */ diff --git a/gr-uhd/lib/gr_uhd_usrp_sink.cc b/gr-uhd/lib/gr_uhd_usrp_sink.cc index 2ca4c33a1..284e33ace 100644 --- a/gr-uhd/lib/gr_uhd_usrp_sink.cc +++ b/gr-uhd/lib/gr_uhd_usrp_sink.cc @@ -109,6 +109,14 @@ public: return _dev->set_clock_config(clock_config, mboard); } + double get_clock_rate(size_t mboard){ + return _dev->get_master_clock_rate(mboard); + } + + void set_clock_rate(double rate, size_t mboard){ + return _dev->set_master_clock_rate(rate, mboard); + } + uhd::time_spec_t get_time_now(void){ return _dev->get_time_now(); } diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc index 17877d04c..6c8e7f40f 100644 --- a/gr-uhd/lib/gr_uhd_usrp_source.cc +++ b/gr-uhd/lib/gr_uhd_usrp_source.cc @@ -109,6 +109,14 @@ public: return _dev->set_clock_config(clock_config, mboard); } + double get_clock_rate(size_t mboard){ + return _dev->get_master_clock_rate(mboard); + } + + void set_clock_rate(double rate, size_t mboard){ + return _dev->set_master_clock_rate(rate, mboard); + } + uhd::time_spec_t get_time_now(void){ return _dev->get_time_now(); } |