summaryrefslogtreecommitdiff
path: root/gr-uhd/grc/uhd_mimo_sink.xml
blob: 00d7f678f133c95cd520dc0313365aa97a4765d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?xml version="1.0"?>
<!--
###################################################
## UHD MIMO Sink
###################################################
 -->
<block>
	<name>UHD MIMO Sink</name>
	<key>uhd_mimo_sink</key>
	<category>UHD</category>
	<import>from gnuradio import uhd</import>
	<make>uhd.mimo_sink($nchan, $args, uhd.io_type_t.$type.type)
self.$(id).set_samp_rate_all($samp_rate)
map(lambda x: self.$(id).set_center_freq(*x), enumerate($center_freqs))
map(lambda x: self.$(id).set_gain(*x), enumerate($gains))
#if $ants()
map(lambda x: self.$(id).set_antenna(*x), enumerate($ants))
#end if</make>
	<callback>set_samp_rate($samp_rate)</callback>
	<callback>map(lambda x: self.$(id).set_center_freq(*x), enumerate($center_freqs))</callback>
	<callback>map(lambda x: self.$(id).set_gain(*x), enumerate($gains))</callback>
	<callback>map(lambda x: self.$(id).set_antenna(*x), enumerate($ants))</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>Num Channels</name>
		<key>nchan</key>
		<value>2</value>
		<type>int</type>
	</param>
	<param>
		<name>Args</name>
		<key>args</key>
		<value>addr=192.168.10.2 192.168.20.2</value>
		<type>string</type>
	</param>
	<param>
		<name>Samp Rate (Sps)</name>
		<key>samp_rate</key>
		<value>samp_rate</value>
		<type>real</type>
	</param>
	<param>
		<name>Center Freqs (Hz)</name>
		<key>center_freqs</key>
		<value>0, 0</value>
		<type>real_vector</type>
	</param>
	<param>
		<name>Gains (dB)</name>
		<key>gains</key>
		<value>0, 0</value>
		<type>real_vector</type>
	</param>
	<param>
		<name>Antennas</name>
		<key>ants</key>
		<value>['RX2', 'RX2']</value>
		<type>raw</type>
		<hide>#if not $ants() then 'part' else 'none'#</hide>
	</param>
	<sink>
		<name>out</name>
		<type>$type</type>
		<vlen>$type.vlen</vlen>
		<nports>$nchan</nports>
	</sink>
	<doc>
The UHD Sink Block:

Args:
Args is a delimited string used to locate UHD devices on your system. \
If left blank, the first UHD device found will be used. \
Used args to specify a specfic device. \
USRP2 Example: addr=192.168.10.2

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.

Antenna:
For subdevices/daughterboards 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.
	</doc>
</block>