Commit 385c63d955212c61d239b7ad3301e488a4c8f00f

Authored by bmarechal
1 parent 71f366bcac
Exists in master

-

Showing 13 changed files with 13 additions and 949 deletions Side-by-side Diff

redpitaya/client/dds_control.grc
1   -<?xml version='1.0' encoding='utf-8'?>
2   -<?grc format='1' created='3.7.10'?>
3   -<flow_graph>
4   - <timestamp>Thu Feb 2 22:54:58 2017</timestamp>
5   - <block>
6   - <key>options</key>
7   - <param>
8   - <key>author</key>
9   - <value></value>
10   - </param>
11   - <param>
12   - <key>window_size</key>
13   - <value></value>
14   - </param>
15   - <param>
16   - <key>category</key>
17   - <value>[GRC Hier Blocks]</value>
18   - </param>
19   - <param>
20   - <key>comment</key>
21   - <value></value>
22   - </param>
23   - <param>
24   - <key>description</key>
25   - <value></value>
26   - </param>
27   - <param>
28   - <key>_enabled</key>
29   - <value>True</value>
30   - </param>
31   - <param>
32   - <key>_coordinate</key>
33   - <value>(8, 8)</value>
34   - </param>
35   - <param>
36   - <key>_rotation</key>
37   - <value>0</value>
38   - </param>
39   - <param>
40   - <key>generate_options</key>
41   - <value>qt_gui</value>
42   - </param>
43   - <param>
44   - <key>hier_block_src_path</key>
45   - <value>.:</value>
46   - </param>
47   - <param>
48   - <key>id</key>
49   - <value>top_block</value>
50   - </param>
51   - <param>
52   - <key>max_nouts</key>
53   - <value>0</value>
54   - </param>
55   - <param>
56   - <key>qt_qss_theme</key>
57   - <value></value>
58   - </param>
59   - <param>
60   - <key>realtime_scheduling</key>
61   - <value></value>
62   - </param>
63   - <param>
64   - <key>run_command</key>
65   - <value>{python} -u {filename}</value>
66   - </param>
67   - <param>
68   - <key>run_options</key>
69   - <value>prompt</value>
70   - </param>
71   - <param>
72   - <key>run</key>
73   - <value>True</value>
74   - </param>
75   - <param>
76   - <key>thread_safe_setters</key>
77   - <value></value>
78   - </param>
79   - <param>
80   - <key>title</key>
81   - <value></value>
82   - </param>
83   - </block>
84   - <block>
85   - <key>variable_qtgui_range</key>
86   - <param>
87   - <key>comment</key>
88   - <value></value>
89   - </param>
90   - <param>
91   - <key>value</key>
92   - <value>0</value>
93   - </param>
94   - <param>
95   - <key>_enabled</key>
96   - <value>True</value>
97   - </param>
98   - <param>
99   - <key>_coordinate</key>
100   - <value>(704, 24)</value>
101   - </param>
102   - <param>
103   - <key>gui_hint</key>
104   - <value>1, 0</value>
105   - </param>
106   - <param>
107   - <key>_rotation</key>
108   - <value>0</value>
109   - </param>
110   - <param>
111   - <key>id</key>
112   - <value>a_dds</value>
113   - </param>
114   - <param>
115   - <key>label</key>
116   - <value>DDS amplitude</value>
117   - </param>
118   - <param>
119   - <key>min_len</key>
120   - <value>200</value>
121   - </param>
122   - <param>
123   - <key>orient</key>
124   - <value>Qt.Horizontal</value>
125   - </param>
126   - <param>
127   - <key>start</key>
128   - <value>0</value>
129   - </param>
130   - <param>
131   - <key>step</key>
132   - <value>128</value>
133   - </param>
134   - <param>
135   - <key>stop</key>
136   - <value>8191</value>
137   - </param>
138   - <param>
139   - <key>rangeType</key>
140   - <value>int</value>
141   - </param>
142   - <param>
143   - <key>widget</key>
144   - <value>counter_slider</value>
145   - </param>
146   - </block>
147   - <block>
148   - <key>variable</key>
149   - <param>
150   - <key>comment</key>
151   - <value></value>
152   - </param>
153   - <param>
154   - <key>_enabled</key>
155   - <value>True</value>
156   - </param>
157   - <param>
158   - <key>_coordinate</key>
159   - <value>(0, 248)</value>
160   - </param>
161   - <param>
162   - <key>_rotation</key>
163   - <value>0</value>
164   - </param>
165   - <param>
166   - <key>id</key>
167   - <value>addr</value>
168   - </param>
169   - <param>
170   - <key>value</key>
171   - <value>"192.168.0.202"</value>
172   - </param>
173   - </block>
174   - <block>
175   - <key>variable_qtgui_range</key>
176   - <param>
177   - <key>comment</key>
178   - <value></value>
179   - </param>
180   - <param>
181   - <key>value</key>
182   - <value>0</value>
183   - </param>
184   - <param>
185   - <key>_enabled</key>
186   - <value>True</value>
187   - </param>
188   - <param>
189   - <key>_coordinate</key>
190   - <value>(488, 24)</value>
191   - </param>
192   - <param>
193   - <key>gui_hint</key>
194   - <value>0, 0</value>
195   - </param>
196   - <param>
197   - <key>_rotation</key>
198   - <value>0</value>
199   - </param>
200   - <param>
201   - <key>id</key>
202   - <value>f_dds</value>
203   - </param>
204   - <param>
205   - <key>label</key>
206   - <value>DDS frequency</value>
207   - </param>
208   - <param>
209   - <key>min_len</key>
210   - <value>200</value>
211   - </param>
212   - <param>
213   - <key>orient</key>
214   - <value>Qt.Horizontal</value>
215   - </param>
216   - <param>
217   - <key>start</key>
218   - <value>0</value>
219   - </param>
220   - <param>
221   - <key>step</key>
222   - <value>100000</value>
223   - </param>
224   - <param>
225   - <key>stop</key>
226   - <value>60000000</value>
227   - </param>
228   - <param>
229   - <key>rangeType</key>
230   - <value>int</value>
231   - </param>
232   - <param>
233   - <key>widget</key>
234   - <value>counter_slider</value>
235   - </param>
236   - </block>
237   - <block>
238   - <key>variable_qtgui_range</key>
239   - <param>
240   - <key>comment</key>
241   - <value></value>
242   - </param>
243   - <param>
244   - <key>value</key>
245   - <value>0</value>
246   - </param>
247   - <param>
248   - <key>_enabled</key>
249   - <value>True</value>
250   - </param>
251   - <param>
252   - <key>_coordinate</key>
253   - <value>(328, 24)</value>
254   - </param>
255   - <param>
256   - <key>gui_hint</key>
257   - <value>2, 0</value>
258   - </param>
259   - <param>
260   - <key>_rotation</key>
261   - <value>0</value>
262   - </param>
263   - <param>
264   - <key>id</key>
265   - <value>offset_out1</value>
266   - </param>
267   - <param>
268   - <key>label</key>
269   - <value>Offset DDS</value>
270   - </param>
271   - <param>
272   - <key>min_len</key>
273   - <value>200</value>
274   - </param>
275   - <param>
276   - <key>orient</key>
277   - <value>Qt.Horizontal</value>
278   - </param>
279   - <param>
280   - <key>start</key>
281   - <value>-8192</value>
282   - </param>
283   - <param>
284   - <key>step</key>
285   - <value>100</value>
286   - </param>
287   - <param>
288   - <key>stop</key>
289   - <value>8191</value>
290   - </param>
291   - <param>
292   - <key>rangeType</key>
293   - <value>int</value>
294   - </param>
295   - <param>
296   - <key>widget</key>
297   - <value>counter_slider</value>
298   - </param>
299   - </block>
300   - <block>
301   - <key>variable</key>
302   - <param>
303   - <key>comment</key>
304   - <value></value>
305   - </param>
306   - <param>
307   - <key>_enabled</key>
308   - <value>True</value>
309   - </param>
310   - <param>
311   - <key>_coordinate</key>
312   - <value>(0, 320)</value>
313   - </param>
314   - <param>
315   - <key>_rotation</key>
316   - <value>0</value>
317   - </param>
318   - <param>
319   - <key>id</key>
320   - <value>port</value>
321   - </param>
322   - <param>
323   - <key>value</key>
324   - <value>1001</value>
325   - </param>
326   - </block>
327   - <block>
328   - <key>variable</key>
329   - <param>
330   - <key>comment</key>
331   - <value></value>
332   - </param>
333   - <param>
334   - <key>_enabled</key>
335   - <value>True</value>
336   - </param>
337   - <param>
338   - <key>_coordinate</key>
339   - <value>(8, 160)</value>
340   - </param>
341   - <param>
342   - <key>_rotation</key>
343   - <value>0</value>
344   - </param>
345   - <param>
346   - <key>id</key>
347   - <value>samp_rate</value>
348   - </param>
349   - <param>
350   - <key>value</key>
351   - <value>32000</value>
352   - </param>
353   - </block>
354   - <block>
355   - <key>add_const_set_offset</key>
356   - <param>
357   - <key>addr</key>
358   - <value>addr</value>
359   - </param>
360   - <param>
361   - <key>alias</key>
362   - <value></value>
363   - </param>
364   - <param>
365   - <key>comment</key>
366   - <value></value>
367   - </param>
368   - <param>
369   - <key>const</key>
370   - <value>offset_out1</value>
371   - </param>
372   - <param>
373   - <key>device</key>
374   - <value>/dev/dds_offset</value>
375   - </param>
376   - <param>
377   - <key>_enabled</key>
378   - <value>True</value>
379   - </param>
380   - <param>
381   - <key>_coordinate</key>
382   - <value>(304, 176)</value>
383   - </param>
384   - <param>
385   - <key>_rotation</key>
386   - <value>0</value>
387   - </param>
388   - <param>
389   - <key>id</key>
390   - <value>add_const_set_offset_0</value>
391   - </param>
392   - <param>
393   - <key>port</key>
394   - <value>port</value>
395   - </param>
396   - </block>
397   - <block>
398   - <key>add_const_set_offset</key>
399   - <param>
400   - <key>addr</key>
401   - <value>addr</value>
402   - </param>
403   - <param>
404   - <key>alias</key>
405   - <value></value>
406   - </param>
407   - <param>
408   - <key>comment</key>
409   - <value></value>
410   - </param>
411   - <param>
412   - <key>const</key>
413   - <value>a_dds</value>
414   - </param>
415   - <param>
416   - <key>device</key>
417   - <value>/dev/dds_ampl</value>
418   - </param>
419   - <param>
420   - <key>_enabled</key>
421   - <value>True</value>
422   - </param>
423   - <param>
424   - <key>_coordinate</key>
425   - <value>(704, 176)</value>
426   - </param>
427   - <param>
428   - <key>_rotation</key>
429   - <value>0</value>
430   - </param>
431   - <param>
432   - <key>id</key>
433   - <value>add_const_set_offset_0_0</value>
434   - </param>
435   - <param>
436   - <key>port</key>
437   - <value>port</value>
438   - </param>
439   - </block>
440   - <block>
441   - <key>nco_counter_send_conf</key>
442   - <param>
443   - <key>acc_size</key>
444   - <value>32</value>
445   - </param>
446   - <param>
447   - <key>addr</key>
448   - <value>addr</value>
449   - </param>
450   - <param>
451   - <key>alias</key>
452   - <value></value>
453   - </param>
454   - <param>
455   - <key>comment</key>
456   - <value></value>
457   - </param>
458   - <param>
459   - <key>device</key>
460   - <value>/dev/dds_freq</value>
461   - </param>
462   - <param>
463   - <key>_enabled</key>
464   - <value>True</value>
465   - </param>
466   - <param>
467   - <key>freq_dds</key>
468   - <value>f_dds</value>
469   - </param>
470   - <param>
471   - <key>freq_ref</key>
472   - <value>125000000</value>
473   - </param>
474   - <param>
475   - <key>_coordinate</key>
476   - <value>(488, 176)</value>
477   - </param>
478   - <param>
479   - <key>_rotation</key>
480   - <value>0</value>
481   - </param>
482   - <param>
483   - <key>id</key>
484   - <value>nco_counter_send_conf_0</value>
485   - </param>
486   - <param>
487   - <key>offset</key>
488   - <value>0</value>
489   - </param>
490   - <param>
491   - <key>port</key>
492   - <value>port</value>
493   - </param>
494   - </block>
495   -</flow_graph>
redpitaya/client/gr_add_const_set_offset.xml
1   -<?xml version="1.0"?>
2   -<!--
3   -# GNU Radio blocks for the Red Pitaya transceiver
4   -# Copyright (C) 2015 Renzo Davoli
5   -#
6   -# This program is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU General Public License
8   -# as published by the Free Software Foundation; either version 2
9   -# of the License, or (at your option) any later version.
10   -#
11   -# This program is distributed in the hope that it will be useful,
12   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
13   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   -# GNU General Public License for more details.
15   -#
16   -# You should have received a copy of the GNU General Public License
17   -# along with this program; if not, write to the Free Software
18   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19   - -->
20   -<block>
21   - <name>add_const_set_offset</name>
22   - <key>add_const_set_offset</key>
23   - <category>Red Pitaya</category>
24   - <import>import redpitaya_gnuradio</import>
25   - <make>redpitaya_gnuradio.add_const_set_offset(
26   - addr=$addr,
27   - port=$port,
28   - device=$device,
29   - const=$const,
30   -)
31   - </make>
32   - <callback>set_const(device=$device, const=$const)</callback>
33   - <param>
34   - <name>Address</name>
35   - <key>addr</key>
36   - <value>192.168.0.201</value>
37   - <type>string</type>
38   - </param>
39   - <param>
40   - <name>Port</name>
41   - <key>port</key>
42   - <value>1001</value>
43   - <type>int</type>
44   - </param>
45   - <param>
46   - <name>Device</name>
47   - <key>device</key>
48   - <value>/dev/add_const_0</value>
49   - <type>string</type>
50   - </param>
51   - <param>
52   - <name>Constant</name>
53   - <key>const</key>
54   - <value>0</value>
55   - <type>int</type>
56   - </param>
57   -</block>
redpitaya/client/gr_nco_counter_send_conf.xml
1   -<?xml version="1.0"?>
2   -<!--
3   -# GNU Radio blocks for the Red Pitaya transceiver
4   -# Copyright (C) 2015 Renzo Davoli
5   -#
6   -# This program is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU General Public License
8   -# as published by the Free Software Foundation; either version 2
9   -# of the License, or (at your option) any later version.
10   -#
11   -# This program is distributed in the hope that it will be useful,
12   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
13   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   -# GNU General Public License for more details.
15   -#
16   -# You should have received a copy of the GNU General Public License
17   -# along with this program; if not, write to the Free Software
18   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19   - -->
20   -<block>
21   - <name>nco_counter_send_conf</name>
22   - <key>nco_counter_send_conf</key>
23   - <category>Red Pitaya</category>
24   - <import>import redpitaya_gnuradio</import>
25   - <make>redpitaya_gnuradio.nco_counter_send_conf(
26   - addr=$addr,
27   - port=$port,
28   - device=$device,
29   - freq_ref=$freq_ref,
30   - freq_dds=$freq_dds,
31   - acc_size=$acc_size,
32   - offset=$offset,
33   -)
34   - </make>
35   - <callback>set_nco(device=$device, freq_ref=$freq_ref, freq_dds=$freq_dds, acc_size=$acc_size, offset=$offset)</callback>
36   - <param>
37   - <name>Address</name>
38   - <key>addr</key>
39   - <value>192.168.0.201</value>
40   - <type>string</type>
41   - </param>
42   - <param>
43   - <name>Port</name>
44   - <key>port</key>
45   - <value>1001</value>
46   - <type>int</type>
47   - </param>
48   - <param>
49   - <name>Device</name>
50   - <key>device</key>
51   - <value>/dev/dds1</value>
52   - <type>string</type>
53   - </param>
54   - <param>
55   - <name>Frequency ref</name>
56   - <key>freq_ref</key>
57   - <value>125000000</value>
58   - <type>int</type>
59   - </param>
60   - <param>
61   - <name>Frequency DDS</name>
62   - <key>freq_dds</key>
63   - <value>0</value>
64   - <type>int</type>
65   - </param>
66   - <param>
67   - <name>Accumulator size</name>
68   - <key>acc_size</key>
69   - <value>28</value>
70   - <type>int</type>
71   - </param>
72   - <param>
73   - <name>Offset</name>
74   - <key>offset</key>
75   - <value>0</value>
76   - <type>int</type>
77   - </param>
78   -</block>
redpitaya/client/gr_source_test.xml
1   -<?xml version="1.0"?>
2   -<!--
3   -# GNU Radio blocks for the Red Pitaya transceiver
4   -# Copyright (C) 2015 Renzo Davoli
5   -#
6   -# This program is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU General Public License
8   -# as published by the Free Software Foundation; either version 2
9   -# of the License, or (at your option) any later version.
10   -#
11   -# This program is distributed in the hope that it will be useful,
12   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
13   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   -# GNU General Public License for more details.
15   -#
16   -# You should have received a copy of the GNU General Public License
17   -# along with this program; if not, write to the Free Software
18   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19   - -->
20   -<block>
21   - <name>source_test</name>
22   - <key>source_test</key>
23   - <category>Red Pitaya</category>
24   - <import>import redpitaya_gnuradio</import>
25   - <make>redpitaya_gnuradio.source_test()</make>
26   - <source>
27   - <name>out</name>
28   - <type>complex</type>
29   - </source>
30   -</block>
redpitaya/client/gr_source_test.xml.old
1   -<?xml version="1.0"?>
2   -<!--
3   -# GNU Radio blocks for the Red Pitaya transceiver
4   -# Copyright (C) 2015 Renzo Davoli
5   -#
6   -# This program is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU General Public License
8   -# as published by the Free Software Foundation; either version 2
9   -# of the License, or (at your option) any later version.
10   -#
11   -# This program is distributed in the hope that it will be useful,
12   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
13   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   -# GNU General Public License for more details.
15   -#
16   -# You should have received a copy of the GNU General Public License
17   -# along with this program; if not, write to the Free Software
18   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19   - -->
20   -<block>
21   - <name>source_test</name>
22   - <key>source_test</key>
23   - <category>Red Pitaya</category>
24   - <import>import redpitaya_gnuradio</import>
25   - <make>redpitaya_gnuradio.source_test()</make>
26   - <source>
27   - <name>out</name>
28   - <type>complex</type>
29   - </source>
30   -</block>
redpitaya/client/redpitaya_gnuradio.py
1   -#!/usr/bin/env python
2   -
3   -# GNU Radio blocks for the Red Pitaya transceiver
4   -# Copyright (C) 2015 Renzo Davoli
5   -#
6   -# This program is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU General Public License
8   -# as published by the Free Software Foundation; either version 2
9   -# of the License, or (at your option) any later version.
10   -#
11   -# This program is distributed in the hope that it will be useful,
12   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
13   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   -# GNU General Public License for more details.
15   -#
16   -# You should have received a copy of the GNU General Public License
17   -# along with this program; if not, write to the Free Software
18   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19   -
20   -import socket, os
21   -from gnuradio import gr, blocks
22   -
23   -class add_const_set_offset(gr.hier_block2):
24   - def __init__(self, addr, port, device, const):
25   - self.name = "add_const_set_offset"
26   - gr.hier_block2.__init__(
27   - self,
28   - name = self.name,
29   - input_signature = gr.io_signature(0, 0, 0),
30   - output_signature = gr.io_signature(0, 0, 0)
31   - )
32   - self.ctrl_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
33   - self.ctrl_sock.connect((addr, port))
34   - self.set_const(device, const)
35   -
36   - def set_const(self, device, const):
37   - self.ctrl_sock.send('%s;%s;%i\n'%(self.name, device, const))
38   -
39   -
40   -class nco_counter_send_conf(gr.hier_block2):
41   - def __init__(self, addr, port, device, freq_ref, freq_dds, acc_size, offset):
42   - self.name = "nco_counter_send_conf"
43   - gr.hier_block2.__init__(
44   - self,
45   - name = self.name,
46   - input_signature = gr.io_signature(0, 0, 0),
47   - output_signature = gr.io_signature(0, 0, 0)
48   - )
49   - self.ctrl_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
50   - self.ctrl_sock.connect((addr, port))
51   - self.set_nco(device, freq_ref, freq_dds, acc_size, offset)
52   -
53   - def set_nco(self, device, freq_ref, freq_dds, acc_size, offset):
54   - self.ctrl_sock.send('%s;%s;%i;%i;%i;%i\n'%(self.name, device, freq_ref, freq_dds, acc_size, offset))
55   -
56   -'''~
57   -class source_test(gr.hier_block2):
58   - def __init__(self):
59   - self.name = "source_test"
60   - gr.hier_block2.__init__(
61   - self,
62   - name = self.name,
63   - input_signature = gr.io_signature(0, 0, 0),
64   - output_signature = gr.io_signature(1, 1, gr.sizeof_gr_complex)
65   - )
66   - self.data_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
67   - self.data_sock.connect((addr, port))
68   - self.data_sock.send('%s'%self.name)
69   - fd = os.dup(self.data_sock.fileno())
70   - self.connect(blocks.file_descriptor_source(gr.sizeof_gr_complex, fd), self)
71   -'''
redpitaya/client/redpitaya_gnuradio.pyc
No preview for this file type
redpitaya/client/sourceme.bma
1   -export GRC_BLOCKS_PATH=.
redpitaya/client/top_block.py
1   -#!/usr/bin/env python2
2   -# -*- coding: utf-8 -*-
3   -##################################################
4   -# GNU Radio Python Flow Graph
5   -# Title: Top Block
6   -# Generated: Mon Feb 13 22:24:05 2017
7   -##################################################
8   -
9   -if __name__ == '__main__':
10   - import ctypes
11   - import sys
12   - if sys.platform.startswith('linux'):
13   - try:
14   - x11 = ctypes.cdll.LoadLibrary('libX11.so')
15   - x11.XInitThreads()
16   - except:
17   - print "Warning: failed to XInitThreads()"
18   -
19   -from PyQt4 import Qt
20   -from gnuradio import eng_notation
21   -from gnuradio import gr
22   -from gnuradio.eng_option import eng_option
23   -from gnuradio.filter import firdes
24   -from gnuradio.qtgui import Range, RangeWidget
25   -from optparse import OptionParser
26   -import redpitaya_gnuradio
27   -import sys
28   -
29   -
30   -class top_block(gr.top_block, Qt.QWidget):
31   -
32   - def __init__(self):
33   - gr.top_block.__init__(self, "Top Block")
34   - Qt.QWidget.__init__(self)
35   - self.setWindowTitle("Top Block")
36   - try:
37   - self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
38   - except:
39   - pass
40   - self.top_scroll_layout = Qt.QVBoxLayout()
41   - self.setLayout(self.top_scroll_layout)
42   - self.top_scroll = Qt.QScrollArea()
43   - self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
44   - self.top_scroll_layout.addWidget(self.top_scroll)
45   - self.top_scroll.setWidgetResizable(True)
46   - self.top_widget = Qt.QWidget()
47   - self.top_scroll.setWidget(self.top_widget)
48   - self.top_layout = Qt.QVBoxLayout(self.top_widget)
49   - self.top_grid_layout = Qt.QGridLayout()
50   - self.top_layout.addLayout(self.top_grid_layout)
51   -
52   - self.settings = Qt.QSettings("GNU Radio", "top_block")
53   - self.restoreGeometry(self.settings.value("geometry").toByteArray())
54   -
55   - ##################################################
56   - # Variables
57   - ##################################################
58   - self.samp_rate = samp_rate = 32000
59   - self.port = port = 1001
60   - self.offset_out1 = offset_out1 = 0
61   - self.f_dds = f_dds = 0
62   - self.addr = addr = "192.168.0.202"
63   - self.a_dds = a_dds = 0
64   -
65   - ##################################################
66   - # Blocks
67   - ##################################################
68   - self._offset_out1_range = Range(-8192, 8191, 100, 0, 200)
69   - self._offset_out1_win = RangeWidget(self._offset_out1_range, self.set_offset_out1, 'Offset DDS', "counter_slider", int)
70   - self.top_grid_layout.addWidget(self._offset_out1_win, 2, 0)
71   - self._f_dds_range = Range(0, 60000000, 100000, 0, 200)
72   - self._f_dds_win = RangeWidget(self._f_dds_range, self.set_f_dds, 'DDS frequency', "counter_slider", int)
73   - self.top_grid_layout.addWidget(self._f_dds_win, 0, 0)
74   - self._a_dds_range = Range(0, 8191, 128, 0, 200)
75   - self._a_dds_win = RangeWidget(self._a_dds_range, self.set_a_dds, 'DDS amplitude', "counter_slider", int)
76   - self.top_grid_layout.addWidget(self._a_dds_win, 1, 0)
77   - self.nco_counter_send_conf_0 = redpitaya_gnuradio.nco_counter_send_conf(
78   - addr=addr,
79   - port=port,
80   - device='/dev/dds_freq',
81   - freq_ref=125000000,
82   - freq_dds=f_dds,
83   - acc_size=32,
84   - offset=0,
85   - )
86   -
87   - self.add_const_set_offset_0_0 = redpitaya_gnuradio.add_const_set_offset(
88   - addr=addr,
89   - port=port,
90   - device='/dev/dds_ampl',
91   - const=a_dds,
92   - )
93   -
94   - self.add_const_set_offset_0 = redpitaya_gnuradio.add_const_set_offset(
95   - addr=addr,
96   - port=port,
97   - device='/dev/dds_offset',
98   - const=offset_out1,
99   - )
100   -
101   -
102   - def closeEvent(self, event):
103   - self.settings = Qt.QSettings("GNU Radio", "top_block")
104   - self.settings.setValue("geometry", self.saveGeometry())
105   - event.accept()
106   -
107   - def get_samp_rate(self):
108   - return self.samp_rate
109   -
110   - def set_samp_rate(self, samp_rate):
111   - self.samp_rate = samp_rate
112   -
113   - def get_port(self):
114   - return self.port
115   -
116   - def set_port(self, port):
117   - self.port = port
118   -
119   - def get_offset_out1(self):
120   - return self.offset_out1
121   -
122   - def set_offset_out1(self, offset_out1):
123   - self.offset_out1 = offset_out1
124   - self.add_const_set_offset_0.set_const(device='/dev/dds_offset', const=self.offset_out1)
125   -
126   - def get_f_dds(self):
127   - return self.f_dds
128   -
129   - def set_f_dds(self, f_dds):
130   - self.f_dds = f_dds
131   - self.nco_counter_send_conf_0.set_nco(device='/dev/dds_freq', freq_ref=125000000, freq_dds=self.f_dds, acc_size=32, offset=0)
132   -
133   - def get_addr(self):
134   - return self.addr
135   -
136   - def set_addr(self, addr):
137   - self.addr = addr
138   -
139   - def get_a_dds(self):
140   - return self.a_dds
141   -
142   - def set_a_dds(self, a_dds):
143   - self.a_dds = a_dds
144   - self.add_const_set_offset_0_0.set_const(device='/dev/dds_ampl', const=self.a_dds)
145   -
146   -
147   -def main(top_block_cls=top_block, options=None):
148   -
149   - from distutils.version import StrictVersion
150   - if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"):
151   - style = gr.prefs().get_string('qtgui', 'style', 'raster')
152   - Qt.QApplication.setGraphicsSystem(style)
153   - qapp = Qt.QApplication(sys.argv)
154   -
155   - tb = top_block_cls()
156   - tb.start()
157   - tb.show()
158   -
159   - def quitting():
160   - tb.stop()
161   - tb.wait()
162   - qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
163   - qapp.exec_()
164   -
165   -
166   -if __name__ == '__main__':
167   - main()
redpitaya/gnuradio_blocks/dds_control.grc
... ... @@ -46,7 +46,7 @@
46 46 </param>
47 47 <param>
48 48 <key>id</key>
49   - <value>top_block</value>
  49 + <value>dds_control</value>
50 50 </param>
51 51 <param>
52 52 <key>max_nouts</key>
... ... @@ -168,7 +168,7 @@
168 168 </param>
169 169 <param>
170 170 <key>value</key>
171   - <value>"192.168.0.202"</value>
  171 + <value>"192.168.0.201"</value>
172 172 </param>
173 173 </block>
174 174 <block>
... ... @@ -332,7 +332,7 @@
332 332 </param>
333 333 <param>
334 334 <key>_enabled</key>
335   - <value>True</value>
  335 + <value>0</value>
336 336 </param>
337 337 <param>
338 338 <key>_coordinate</key>
redpitaya/gnuradio_blocks/dds_control.py
  1 +#!/usr/bin/env python2
  2 +# -*- coding: utf-8 -*-
  3 +##################################################
  4 +# GNU Radio Python Flow Graph
  5 +# Title: Dds Control
  6 +# Generated: Tue Mar 21 12:05:52 2017
  7 +##################################################
  8 +
  9 +if __name__ == '__main__':
  10 + import ctypes
  11 + import sys
  12 + if sys.platform.startswith('linux'):
  13 + try:
  14 + x11 = ctypes.cdll.LoadLibrary('libX11.so')
  15 + x11.XInitThreads()
  16 + except:
  17 + print "Warning: failed to XInitThreads()"
  18 +
  19 +from PyQt4 import Qt
  20 +from gnuradio import eng_notation
  21 +from gnuradio import gr
  22 +from gnuradio.eng_option import eng_option
  23 +from gnuradio.filter import firdes
  24 +from gnuradio.qtgui import Range, RangeWidget
  25 +from optparse import OptionParser
  26 +import redpitaya_gnuradio
  27 +import sys
  28 +
  29 +
  30 +class dds_control(gr.top_block, Qt.QWidget):
  31 +
  32 + def __init__(self):
  33 + gr.top_block.__init__(self, "Dds Control")
  34 + Qt.QWidget.__init__(self)
  35 + self.setWindowTitle("Dds Control")
  36 + try:
  37 + self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
  38 + except:
  39 + pass
  40 + self.top_scroll_layout = Qt.QVBoxLayout()
  41 + self.setLayout(self.top_scroll_layout)
  42 + self.top_scroll = Qt.QScrollArea()
  43 + self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
  44 + self.top_scroll_layout.addWidget(self.top_scroll)
  45 + self.top_scroll.setWidgetResizable(True)
  46 + self.top_widget = Qt.QWidget()
  47 + self.top_scroll.setWidget(self.top_widget)
  48 + self.top_layout = Qt.QVBoxLayout(self.top_widget)
  49 + self.top_grid_layout = Qt.QGridLayout()
  50 + self.top_layout.addLayout(self.top_grid_layout)
  51 +
  52 + self.settings = Qt.QSettings("GNU Radio", "dds_control")
  53 + self.restoreGeometry(self.settings.value("geometry").toByteArray())
  54 +
  55 + ##################################################
  56 + # Variables
  57 + ##################################################
  58 + self.port = port = 1001
  59 + self.offset_out1 = offset_out1 = 0
  60 + self.f_dds = f_dds = 0
  61 + self.addr = addr = "192.168.0.201"
  62 + self.a_dds = a_dds = 0
  63 +
  64 + ##################################################
  65 + # Blocks
  66 + ##################################################
  67 + self._offset_out1_range = Range(-8192, 8191, 100, 0, 200)
  68 + self._offset_out1_win = RangeWidget(self._offset_out1_range, self.set_offset_out1, 'Offset DDS', "counter_slider", int)
  69 + self.top_grid_layout.addWidget(self._offset_out1_win, 2, 0)
  70 + self._f_dds_range = Range(0, 60000000, 100000, 0, 200)
  71 + self._f_dds_win = RangeWidget(self._f_dds_range, self.set_f_dds, 'DDS frequency', "counter_slider", int)
  72 + self.top_grid_layout.addWidget(self._f_dds_win, 0, 0)
  73 + self._a_dds_range = Range(0, 8191, 128, 0, 200)
  74 + self._a_dds_win = RangeWidget(self._a_dds_range, self.set_a_dds, 'DDS amplitude', "counter_slider", int)
  75 + self.top_grid_layout.addWidget(self._a_dds_win, 1, 0)
  76 + self.nco_counter_send_conf_0 = redpitaya_gnuradio.nco_counter_send_conf(
  77 + addr=addr,
  78 + port=port,
  79 + device='/dev/dds_freq',
  80 + freq_ref=125000000,
  81 + freq_dds=f_dds,
  82 + acc_size=32,
  83 + offset=0,
  84 + )
  85 +
  86 + self.add_const_set_offset_0_0 = redpitaya_gnuradio.add_const_set_offset(
  87 + addr=addr,
  88 + port=port,
  89 + device='/dev/dds_ampl',
  90 + const=a_dds,
  91 + )
  92 +
  93 + self.add_const_set_offset_0 = redpitaya_gnuradio.add_const_set_offset(
  94 + addr=addr,
  95 + port=port,
  96 + device='/dev/dds_offset',
  97 + const=offset_out1,
  98 + )
  99 +
  100 +
  101 + def closeEvent(self, event):
  102 + self.settings = Qt.QSettings("GNU Radio", "dds_control")
  103 + self.settings.setValue("geometry", self.saveGeometry())
  104 + event.accept()
  105 +
  106 + def get_port(self):
  107 + return self.port
  108 +
  109 + def set_port(self, port):
  110 + self.port = port
  111 +
  112 + def get_offset_out1(self):
  113 + return self.offset_out1
  114 +
  115 + def set_offset_out1(self, offset_out1):
  116 + self.offset_out1 = offset_out1
  117 + self.add_const_set_offset_0.set_const(device='/dev/dds_offset', const=self.offset_out1)
  118 +
  119 + def get_f_dds(self):
  120 + return self.f_dds
  121 +
  122 + def set_f_dds(self, f_dds):
  123 + self.f_dds = f_dds
  124 + self.nco_counter_send_conf_0.set_nco(device='/dev/dds_freq', freq_ref=125000000, freq_dds=self.f_dds, acc_size=32, offset=0)
  125 +
  126 + def get_addr(self):
  127 + return self.addr
  128 +
  129 + def set_addr(self, addr):
  130 + self.addr = addr
  131 +
  132 + def get_a_dds(self):
  133 + return self.a_dds
  134 +
  135 + def set_a_dds(self, a_dds):
  136 + self.a_dds = a_dds
  137 + self.add_const_set_offset_0_0.set_const(device='/dev/dds_ampl', const=self.a_dds)
  138 +
  139 +
  140 +def main(top_block_cls=dds_control, options=None):
  141 +
  142 + from distutils.version import StrictVersion
  143 + if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"):
  144 + style = gr.prefs().get_string('qtgui', 'style', 'raster')
  145 + Qt.QApplication.setGraphicsSystem(style)
  146 + qapp = Qt.QApplication(sys.argv)
  147 +
  148 + tb = top_block_cls()
  149 + tb.start()
  150 + tb.show()
  151 +
  152 + def quitting():
  153 + tb.stop()
  154 + tb.wait()
  155 + qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
  156 + qapp.exec_()
  157 +
  158 +
  159 +if __name__ == '__main__':
  160 + main()
redpitaya/gnuradio_blocks/top_block.py
1   -#!/usr/bin/env python2
2   -# -*- coding: utf-8 -*-
3   -##################################################
4   -# GNU Radio Python Flow Graph
5   -# Title: Top Block
6   -# Generated: Mon Feb 13 22:24:05 2017
7   -##################################################
8   -
9   -if __name__ == '__main__':
10   - import ctypes
11   - import sys
12   - if sys.platform.startswith('linux'):
13   - try:
14   - x11 = ctypes.cdll.LoadLibrary('libX11.so')
15   - x11.XInitThreads()
16   - except:
17   - print "Warning: failed to XInitThreads()"
18   -
19   -from PyQt4 import Qt
20   -from gnuradio import eng_notation
21   -from gnuradio import gr
22   -from gnuradio.eng_option import eng_option
23   -from gnuradio.filter import firdes
24   -from gnuradio.qtgui import Range, RangeWidget
25   -from optparse import OptionParser
26   -import redpitaya_gnuradio
27   -import sys
28   -
29   -
30   -class top_block(gr.top_block, Qt.QWidget):
31   -
32   - def __init__(self):
33   - gr.top_block.__init__(self, "Top Block")
34   - Qt.QWidget.__init__(self)
35   - self.setWindowTitle("Top Block")
36   - try:
37   - self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
38   - except:
39   - pass
40   - self.top_scroll_layout = Qt.QVBoxLayout()
41   - self.setLayout(self.top_scroll_layout)
42   - self.top_scroll = Qt.QScrollArea()
43   - self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
44   - self.top_scroll_layout.addWidget(self.top_scroll)
45   - self.top_scroll.setWidgetResizable(True)
46   - self.top_widget = Qt.QWidget()
47   - self.top_scroll.setWidget(self.top_widget)
48   - self.top_layout = Qt.QVBoxLayout(self.top_widget)
49   - self.top_grid_layout = Qt.QGridLayout()
50   - self.top_layout.addLayout(self.top_grid_layout)
51   -
52   - self.settings = Qt.QSettings("GNU Radio", "top_block")
53   - self.restoreGeometry(self.settings.value("geometry").toByteArray())
54   -
55   - ##################################################
56   - # Variables
57   - ##################################################
58   - self.samp_rate = samp_rate = 32000
59   - self.port = port = 1001
60   - self.offset_out1 = offset_out1 = 0
61   - self.f_dds = f_dds = 0
62   - self.addr = addr = "192.168.0.202"
63   - self.a_dds = a_dds = 0
64   -
65   - ##################################################
66   - # Blocks
67   - ##################################################
68   - self._offset_out1_range = Range(-8192, 8191, 100, 0, 200)
69   - self._offset_out1_win = RangeWidget(self._offset_out1_range, self.set_offset_out1, 'Offset DDS', "counter_slider", int)
70   - self.top_grid_layout.addWidget(self._offset_out1_win, 2, 0)
71   - self._f_dds_range = Range(0, 60000000, 100000, 0, 200)
72   - self._f_dds_win = RangeWidget(self._f_dds_range, self.set_f_dds, 'DDS frequency', "counter_slider", int)
73   - self.top_grid_layout.addWidget(self._f_dds_win, 0, 0)
74   - self._a_dds_range = Range(0, 8191, 128, 0, 200)
75   - self._a_dds_win = RangeWidget(self._a_dds_range, self.set_a_dds, 'DDS amplitude', "counter_slider", int)
76   - self.top_grid_layout.addWidget(self._a_dds_win, 1, 0)
77   - self.nco_counter_send_conf_0 = redpitaya_gnuradio.nco_counter_send_conf(
78   - addr=addr,
79   - port=port,
80   - device='/dev/dds_freq',
81   - freq_ref=125000000,
82   - freq_dds=f_dds,
83   - acc_size=32,
84   - offset=0,
85   - )
86   -
87   - self.add_const_set_offset_0_0 = redpitaya_gnuradio.add_const_set_offset(
88   - addr=addr,
89   - port=port,
90   - device='/dev/dds_ampl',
91   - const=a_dds,
92   - )
93   -
94   - self.add_const_set_offset_0 = redpitaya_gnuradio.add_const_set_offset(
95   - addr=addr,
96   - port=port,
97   - device='/dev/dds_offset',
98   - const=offset_out1,
99   - )
100   -
101   -
102   - def closeEvent(self, event):
103   - self.settings = Qt.QSettings("GNU Radio", "top_block")
104   - self.settings.setValue("geometry", self.saveGeometry())
105   - event.accept()
106   -
107   - def get_samp_rate(self):
108   - return self.samp_rate
109   -
110   - def set_samp_rate(self, samp_rate):
111   - self.samp_rate = samp_rate
112   -
113   - def get_port(self):
114   - return self.port
115   -
116   - def set_port(self, port):
117   - self.port = port
118   -
119   - def get_offset_out1(self):
120   - return self.offset_out1
121   -
122   - def set_offset_out1(self, offset_out1):
123   - self.offset_out1 = offset_out1
124   - self.add_const_set_offset_0.set_const(device='/dev/dds_offset', const=self.offset_out1)
125   -
126   - def get_f_dds(self):
127   - return self.f_dds
128   -
129   - def set_f_dds(self, f_dds):
130   - self.f_dds = f_dds
131   - self.nco_counter_send_conf_0.set_nco(device='/dev/dds_freq', freq_ref=125000000, freq_dds=self.f_dds, acc_size=32, offset=0)
132   -
133   - def get_addr(self):
134   - return self.addr
135   -
136   - def set_addr(self, addr):
137   - self.addr = addr
138   -
139   - def get_a_dds(self):
140   - return self.a_dds
141   -
142   - def set_a_dds(self, a_dds):
143   - self.a_dds = a_dds
144   - self.add_const_set_offset_0_0.set_const(device='/dev/dds_ampl', const=self.a_dds)
145   -
146   -
147   -def main(top_block_cls=top_block, options=None):
148   -
149   - from distutils.version import StrictVersion
150   - if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"):
151   - style = gr.prefs().get_string('qtgui', 'style', 'raster')
152   - Qt.QApplication.setGraphicsSystem(style)
153   - qapp = Qt.QApplication(sys.argv)
154   -
155   - tb = top_block_cls()
156   - tb.start()
157   - tb.show()
158   -
159   - def quitting():
160   - tb.stop()
161   - tb.wait()
162   - qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
163   - qapp.exec_()
164   -
165   -
166   -if __name__ == '__main__':
167   - main()
sdr/fm_radio/fm_radio.py
... ... @@ -3,7 +3,7 @@
3 3 ##################################################
4 4 # GNU Radio Python Flow Graph
5 5 # Title: Fm Radio
6   -# Generated: Fri Mar 17 17:36:39 2017
  6 +# Generated: Tue Mar 21 14:48:06 2017
7 7 ##################################################
8 8  
9 9 if __name__ == '__main__':