Commit 510e052b899bfed94117012b03583634bee4fc27

Authored by bmarechal
1 parent 993f3792d1
Exists in master

double_dds client

Showing 2 changed files with 1283 additions and 0 deletions Side-by-side Diff

redpitaya/client/double_dds.grc
Diff suppressed. Click to show
  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>1000, 2000</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>double_dds</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</key>
  86 + <param>
  87 + <key>comment</key>
  88 + <value></value>
  89 + </param>
  90 + <param>
  91 + <key>_enabled</key>
  92 + <value>True</value>
  93 + </param>
  94 + <param>
  95 + <key>_coordinate</key>
  96 + <value>(8, 104)</value>
  97 + </param>
  98 + <param>
  99 + <key>_rotation</key>
  100 + <value>0</value>
  101 + </param>
  102 + <param>
  103 + <key>id</key>
  104 + <value>addr</value>
  105 + </param>
  106 + <param>
  107 + <key>value</key>
  108 + <value>"192.168.0.204"</value>
  109 + </param>
  110 + </block>
  111 + <block>
  112 + <key>variable_qtgui_range</key>
  113 + <param>
  114 + <key>comment</key>
  115 + <value></value>
  116 + </param>
  117 + <param>
  118 + <key>value</key>
  119 + <value>0</value>
  120 + </param>
  121 + <param>
  122 + <key>_enabled</key>
  123 + <value>True</value>
  124 + </param>
  125 + <param>
  126 + <key>_coordinate</key>
  127 + <value>(256, 396)</value>
  128 + </param>
  129 + <param>
  130 + <key>gui_hint</key>
  131 + <value>1, 0</value>
  132 + </param>
  133 + <param>
  134 + <key>_rotation</key>
  135 + <value>0</value>
  136 + </param>
  137 + <param>
  138 + <key>id</key>
  139 + <value>dds1_ampl</value>
  140 + </param>
  141 + <param>
  142 + <key>label</key>
  143 + <value>dds1_ampl</value>
  144 + </param>
  145 + <param>
  146 + <key>min_len</key>
  147 + <value>200</value>
  148 + </param>
  149 + <param>
  150 + <key>orient</key>
  151 + <value>Qt.Horizontal</value>
  152 + </param>
  153 + <param>
  154 + <key>start</key>
  155 + <value>0</value>
  156 + </param>
  157 + <param>
  158 + <key>step</key>
  159 + <value>1</value>
  160 + </param>
  161 + <param>
  162 + <key>stop</key>
  163 + <value>2**13-1</value>
  164 + </param>
  165 + <param>
  166 + <key>rangeType</key>
  167 + <value>int</value>
  168 + </param>
  169 + <param>
  170 + <key>widget</key>
  171 + <value>counter_slider</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>(256, 20)</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>dds1_nco</value>
  203 + </param>
  204 + <param>
  205 + <key>label</key>
  206 + <value>dds1_nco</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>1000</value>
  223 + </param>
  224 + <param>
  225 + <key>stop</key>
  226 + <value>60000000</value>
  227 + </param>
  228 + <param>
  229 + <key>rangeType</key>
  230 + <value>float</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>(256, 684)</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>dds1_offset</value>
  266 + </param>
  267 + <param>
  268 + <key>label</key>
  269 + <value>dds1_offset</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>-2**13</value>
  282 + </param>
  283 + <param>
  284 + <key>step</key>
  285 + <value>1</value>
  286 + </param>
  287 + <param>
  288 + <key>stop</key>
  289 + <value>2**13-1</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_qtgui_range</key>
  302 + <param>
  303 + <key>comment</key>
  304 + <value></value>
  305 + </param>
  306 + <param>
  307 + <key>value</key>
  308 + <value>0</value>
  309 + </param>
  310 + <param>
  311 + <key>_enabled</key>
  312 + <value>True</value>
  313 + </param>
  314 + <param>
  315 + <key>_coordinate</key>
  316 + <value>(256, 996)</value>
  317 + </param>
  318 + <param>
  319 + <key>gui_hint</key>
  320 + <value>3, 0</value>
  321 + </param>
  322 + <param>
  323 + <key>_rotation</key>
  324 + <value>0</value>
  325 + </param>
  326 + <param>
  327 + <key>id</key>
  328 + <value>dds1_phase</value>
  329 + </param>
  330 + <param>
  331 + <key>label</key>
  332 + <value>dds1_phase</value>
  333 + </param>
  334 + <param>
  335 + <key>min_len</key>
  336 + <value>200</value>
  337 + </param>
  338 + <param>
  339 + <key>orient</key>
  340 + <value>Qt.Horizontal</value>
  341 + </param>
  342 + <param>
  343 + <key>start</key>
  344 + <value>-2**13</value>
  345 + </param>
  346 + <param>
  347 + <key>step</key>
  348 + <value>1</value>
  349 + </param>
  350 + <param>
  351 + <key>stop</key>
  352 + <value>2**13-1</value>
  353 + </param>
  354 + <param>
  355 + <key>rangeType</key>
  356 + <value>int</value>
  357 + </param>
  358 + <param>
  359 + <key>widget</key>
  360 + <value>counter_slider</value>
  361 + </param>
  362 + </block>
  363 + <block>
  364 + <key>variable_qtgui_range</key>
  365 + <param>
  366 + <key>comment</key>
  367 + <value></value>
  368 + </param>
  369 + <param>
  370 + <key>value</key>
  371 + <value>0</value>
  372 + </param>
  373 + <param>
  374 + <key>_enabled</key>
  375 + <value>True</value>
  376 + </param>
  377 + <param>
  378 + <key>_coordinate</key>
  379 + <value>(600, 396)</value>
  380 + </param>
  381 + <param>
  382 + <key>gui_hint</key>
  383 + <value>1, 1</value>
  384 + </param>
  385 + <param>
  386 + <key>_rotation</key>
  387 + <value>0</value>
  388 + </param>
  389 + <param>
  390 + <key>id</key>
  391 + <value>dds2_ampl</value>
  392 + </param>
  393 + <param>
  394 + <key>label</key>
  395 + <value>dds2_ampl</value>
  396 + </param>
  397 + <param>
  398 + <key>min_len</key>
  399 + <value>200</value>
  400 + </param>
  401 + <param>
  402 + <key>orient</key>
  403 + <value>Qt.Horizontal</value>
  404 + </param>
  405 + <param>
  406 + <key>start</key>
  407 + <value>0</value>
  408 + </param>
  409 + <param>
  410 + <key>step</key>
  411 + <value>1</value>
  412 + </param>
  413 + <param>
  414 + <key>stop</key>
  415 + <value>2**13-1</value>
  416 + </param>
  417 + <param>
  418 + <key>rangeType</key>
  419 + <value>int</value>
  420 + </param>
  421 + <param>
  422 + <key>widget</key>
  423 + <value>counter_slider</value>
  424 + </param>
  425 + </block>
  426 + <block>
  427 + <key>variable_qtgui_range</key>
  428 + <param>
  429 + <key>comment</key>
  430 + <value></value>
  431 + </param>
  432 + <param>
  433 + <key>value</key>
  434 + <value>0</value>
  435 + </param>
  436 + <param>
  437 + <key>_enabled</key>
  438 + <value>True</value>
  439 + </param>
  440 + <param>
  441 + <key>_coordinate</key>
  442 + <value>(600, 20)</value>
  443 + </param>
  444 + <param>
  445 + <key>gui_hint</key>
  446 + <value>0, 1</value>
  447 + </param>
  448 + <param>
  449 + <key>_rotation</key>
  450 + <value>0</value>
  451 + </param>
  452 + <param>
  453 + <key>id</key>
  454 + <value>dds2_nco</value>
  455 + </param>
  456 + <param>
  457 + <key>label</key>
  458 + <value>dds2_nco</value>
  459 + </param>
  460 + <param>
  461 + <key>min_len</key>
  462 + <value>200</value>
  463 + </param>
  464 + <param>
  465 + <key>orient</key>
  466 + <value>Qt.Horizontal</value>
  467 + </param>
  468 + <param>
  469 + <key>start</key>
  470 + <value>0</value>
  471 + </param>
  472 + <param>
  473 + <key>step</key>
  474 + <value>1000</value>
  475 + </param>
  476 + <param>
  477 + <key>stop</key>
  478 + <value>60000000</value>
  479 + </param>
  480 + <param>
  481 + <key>rangeType</key>
  482 + <value>float</value>
  483 + </param>
  484 + <param>
  485 + <key>widget</key>
  486 + <value>counter_slider</value>
  487 + </param>
  488 + </block>
  489 + <block>
  490 + <key>variable_qtgui_range</key>
  491 + <param>
  492 + <key>comment</key>
  493 + <value></value>
  494 + </param>
  495 + <param>
  496 + <key>value</key>
  497 + <value>0</value>
  498 + </param>
  499 + <param>
  500 + <key>_enabled</key>
  501 + <value>True</value>
  502 + </param>
  503 + <param>
  504 + <key>_coordinate</key>
  505 + <value>(600, 684)</value>
  506 + </param>
  507 + <param>
  508 + <key>gui_hint</key>
  509 + <value>2, 1</value>
  510 + </param>
  511 + <param>
  512 + <key>_rotation</key>
  513 + <value>0</value>
  514 + </param>
  515 + <param>
  516 + <key>id</key>
  517 + <value>dds2_offset</value>
  518 + </param>
  519 + <param>
  520 + <key>label</key>
  521 + <value>dds2_offset</value>
  522 + </param>
  523 + <param>
  524 + <key>min_len</key>
  525 + <value>200</value>
  526 + </param>
  527 + <param>
  528 + <key>orient</key>
  529 + <value>Qt.Horizontal</value>
  530 + </param>
  531 + <param>
  532 + <key>start</key>
  533 + <value>-2**13</value>
  534 + </param>
  535 + <param>
  536 + <key>step</key>
  537 + <value>1</value>
  538 + </param>
  539 + <param>
  540 + <key>stop</key>
  541 + <value>2**13-1</value>
  542 + </param>
  543 + <param>
  544 + <key>rangeType</key>
  545 + <value>int</value>
  546 + </param>
  547 + <param>
  548 + <key>widget</key>
  549 + <value>counter_slider</value>
  550 + </param>
  551 + </block>
  552 + <block>
  553 + <key>variable_qtgui_range</key>
  554 + <param>
  555 + <key>comment</key>
  556 + <value></value>
  557 + </param>
  558 + <param>
  559 + <key>value</key>
  560 + <value>0</value>
  561 + </param>
  562 + <param>
  563 + <key>_enabled</key>
  564 + <value>True</value>
  565 + </param>
  566 + <param>
  567 + <key>_coordinate</key>
  568 + <value>(600, 996)</value>
  569 + </param>
  570 + <param>
  571 + <key>gui_hint</key>
  572 + <value>3, 1</value>
  573 + </param>
  574 + <param>
  575 + <key>_rotation</key>
  576 + <value>0</value>
  577 + </param>
  578 + <param>
  579 + <key>id</key>
  580 + <value>dds2_phase</value>
  581 + </param>
  582 + <param>
  583 + <key>label</key>
  584 + <value>dds2_phase</value>
  585 + </param>
  586 + <param>
  587 + <key>min_len</key>
  588 + <value>200</value>
  589 + </param>
  590 + <param>
  591 + <key>orient</key>
  592 + <value>Qt.Horizontal</value>
  593 + </param>
  594 + <param>
  595 + <key>start</key>
  596 + <value>-2**13</value>
  597 + </param>
  598 + <param>
  599 + <key>step</key>
  600 + <value>1</value>
  601 + </param>
  602 + <param>
  603 + <key>stop</key>
  604 + <value>2**13-1</value>
  605 + </param>
  606 + <param>
  607 + <key>rangeType</key>
  608 + <value>int</value>
  609 + </param>
  610 + <param>
  611 + <key>widget</key>
  612 + <value>counter_slider</value>
  613 + </param>
  614 + </block>
  615 + <block>
  616 + <key>variable</key>
  617 + <param>
  618 + <key>comment</key>
  619 + <value></value>
  620 + </param>
  621 + <param>
  622 + <key>_enabled</key>
  623 + <value>True</value>
  624 + </param>
  625 + <param>
  626 + <key>_coordinate</key>
  627 + <value>(8, 176)</value>
  628 + </param>
  629 + <param>
  630 + <key>_rotation</key>
  631 + <value>0</value>
  632 + </param>
  633 + <param>
  634 + <key>id</key>
  635 + <value>port</value>
  636 + </param>
  637 + <param>
  638 + <key>value</key>
  639 + <value>1001</value>
  640 + </param>
  641 + </block>
  642 + <block>
  643 + <key>add_const_set_offset</key>
  644 + <param>
  645 + <key>addr</key>
  646 + <value>addr</value>
  647 + </param>
  648 + <param>
  649 + <key>alias</key>
  650 + <value></value>
  651 + </param>
  652 + <param>
  653 + <key>comment</key>
  654 + <value></value>
  655 + </param>
  656 + <param>
  657 + <key>const</key>
  658 + <value>dds1_offset</value>
  659 + </param>
  660 + <param>
  661 + <key>device</key>
  662 + <value>/dev/dds1_offset</value>
  663 + </param>
  664 + <param>
  665 + <key>_enabled</key>
  666 + <value>True</value>
  667 + </param>
  668 + <param>
  669 + <key>_coordinate</key>
  670 + <value>(256, 852)</value>
  671 + </param>
  672 + <param>
  673 + <key>_rotation</key>
  674 + <value>0</value>
  675 + </param>
  676 + <param>
  677 + <key>id</key>
  678 + <value>add_const_set_offset_0</value>
  679 + </param>
  680 + <param>
  681 + <key>port</key>
  682 + <value>port</value>
  683 + </param>
  684 + </block>
  685 + <block>
  686 + <key>add_const_set_offset</key>
  687 + <param>
  688 + <key>addr</key>
  689 + <value>addr</value>
  690 + </param>
  691 + <param>
  692 + <key>alias</key>
  693 + <value></value>
  694 + </param>
  695 + <param>
  696 + <key>comment</key>
  697 + <value></value>
  698 + </param>
  699 + <param>
  700 + <key>const</key>
  701 + <value>dds1_ampl</value>
  702 + </param>
  703 + <param>
  704 + <key>device</key>
  705 + <value>/dev/dds1_ampl</value>
  706 + </param>
  707 + <param>
  708 + <key>_enabled</key>
  709 + <value>True</value>
  710 + </param>
  711 + <param>
  712 + <key>_coordinate</key>
  713 + <value>(256, 548)</value>
  714 + </param>
  715 + <param>
  716 + <key>_rotation</key>
  717 + <value>0</value>
  718 + </param>
  719 + <param>
  720 + <key>id</key>
  721 + <value>add_const_set_offset_0_0</value>
  722 + </param>
  723 + <param>
  724 + <key>port</key>
  725 + <value>port</value>
  726 + </param>
  727 + </block>
  728 + <block>
  729 + <key>add_const_set_offset</key>
  730 + <param>
  731 + <key>addr</key>
  732 + <value>addr</value>
  733 + </param>
  734 + <param>
  735 + <key>alias</key>
  736 + <value></value>
  737 + </param>
  738 + <param>
  739 + <key>comment</key>
  740 + <value></value>
  741 + </param>
  742 + <param>
  743 + <key>const</key>
  744 + <value>dds2_ampl</value>
  745 + </param>
  746 + <param>
  747 + <key>device</key>
  748 + <value>/dev/dds2_ampl</value>
  749 + </param>
  750 + <param>
  751 + <key>_enabled</key>
  752 + <value>True</value>
  753 + </param>
  754 + <param>
  755 + <key>_coordinate</key>
  756 + <value>(600, 548)</value>
  757 + </param>
  758 + <param>
  759 + <key>_rotation</key>
  760 + <value>0</value>
  761 + </param>
  762 + <param>
  763 + <key>id</key>
  764 + <value>add_const_set_offset_0_0_0</value>
  765 + </param>
  766 + <param>
  767 + <key>port</key>
  768 + <value>port</value>
  769 + </param>
  770 + </block>
  771 + <block>
  772 + <key>add_const_set_offset</key>
  773 + <param>
  774 + <key>addr</key>
  775 + <value>addr</value>
  776 + </param>
  777 + <param>
  778 + <key>alias</key>
  779 + <value></value>
  780 + </param>
  781 + <param>
  782 + <key>comment</key>
  783 + <value></value>
  784 + </param>
  785 + <param>
  786 + <key>const</key>
  787 + <value>dds2_offset</value>
  788 + </param>
  789 + <param>
  790 + <key>device</key>
  791 + <value>/dev/dds2_offset</value>
  792 + </param>
  793 + <param>
  794 + <key>_enabled</key>
  795 + <value>True</value>
  796 + </param>
  797 + <param>
  798 + <key>_coordinate</key>
  799 + <value>(600, 852)</value>
  800 + </param>
  801 + <param>
  802 + <key>_rotation</key>
  803 + <value>0</value>
  804 + </param>
  805 + <param>
  806 + <key>id</key>
  807 + <value>add_const_set_offset_0_1</value>
  808 + </param>
  809 + <param>
  810 + <key>port</key>
  811 + <value>port</value>
  812 + </param>
  813 + </block>
  814 + <block>
  815 + <key>add_const_set_offset</key>
  816 + <param>
  817 + <key>addr</key>
  818 + <value>addr</value>
  819 + </param>
  820 + <param>
  821 + <key>alias</key>
  822 + <value></value>
  823 + </param>
  824 + <param>
  825 + <key>comment</key>
  826 + <value></value>
  827 + </param>
  828 + <param>
  829 + <key>const</key>
  830 + <value>dds2_phase</value>
  831 + </param>
  832 + <param>
  833 + <key>device</key>
  834 + <value>/dev/dds2_phase</value>
  835 + </param>
  836 + <param>
  837 + <key>_enabled</key>
  838 + <value>True</value>
  839 + </param>
  840 + <param>
  841 + <key>_coordinate</key>
  842 + <value>(600, 1164)</value>
  843 + </param>
  844 + <param>
  845 + <key>_rotation</key>
  846 + <value>0</value>
  847 + </param>
  848 + <param>
  849 + <key>id</key>
  850 + <value>add_const_set_offset_0_1_0</value>
  851 + </param>
  852 + <param>
  853 + <key>port</key>
  854 + <value>port</value>
  855 + </param>
  856 + </block>
  857 + <block>
  858 + <key>add_const_set_offset</key>
  859 + <param>
  860 + <key>addr</key>
  861 + <value>addr</value>
  862 + </param>
  863 + <param>
  864 + <key>alias</key>
  865 + <value></value>
  866 + </param>
  867 + <param>
  868 + <key>comment</key>
  869 + <value></value>
  870 + </param>
  871 + <param>
  872 + <key>const</key>
  873 + <value>dds1_phase</value>
  874 + </param>
  875 + <param>
  876 + <key>device</key>
  877 + <value>/dev/dds1_phase</value>
  878 + </param>
  879 + <param>
  880 + <key>_enabled</key>
  881 + <value>True</value>
  882 + </param>
  883 + <param>
  884 + <key>_coordinate</key>
  885 + <value>(256, 1164)</value>
  886 + </param>
  887 + <param>
  888 + <key>_rotation</key>
  889 + <value>0</value>
  890 + </param>
  891 + <param>
  892 + <key>id</key>
  893 + <value>add_const_set_offset_0_2</value>
  894 + </param>
  895 + <param>
  896 + <key>port</key>
  897 + <value>port</value>
  898 + </param>
  899 + </block>
  900 + <block>
  901 + <key>nco_counter_send_conf</key>
  902 + <param>
  903 + <key>acc_size</key>
  904 + <value>32</value>
  905 + </param>
  906 + <param>
  907 + <key>addr</key>
  908 + <value>addr</value>
  909 + </param>
  910 + <param>
  911 + <key>alias</key>
  912 + <value></value>
  913 + </param>
  914 + <param>
  915 + <key>comment</key>
  916 + <value></value>
  917 + </param>
  918 + <param>
  919 + <key>device</key>
  920 + <value>/dev/dds1_nco</value>
  921 + </param>
  922 + <param>
  923 + <key>_enabled</key>
  924 + <value>True</value>
  925 + </param>
  926 + <param>
  927 + <key>freq_dds</key>
  928 + <value>dds1_nco</value>
  929 + </param>
  930 + <param>
  931 + <key>freq_ref</key>
  932 + <value>125000000</value>
  933 + </param>
  934 + <param>
  935 + <key>_coordinate</key>
  936 + <value>(256, 168)</value>
  937 + </param>
  938 + <param>
  939 + <key>_rotation</key>
  940 + <value>0</value>
  941 + </param>
  942 + <param>
  943 + <key>id</key>
  944 + <value>nco_counter_send_conf_0</value>
  945 + </param>
  946 + <param>
  947 + <key>offset</key>
  948 + <value>0</value>
  949 + </param>
  950 + <param>
  951 + <key>pinc_sw</key>
  952 + <value>1</value>
  953 + </param>
  954 + <param>
  955 + <key>poff_sw</key>
  956 + <value>0</value>
  957 + </param>
  958 + <param>
  959 + <key>port</key>
  960 + <value>port</value>
  961 + </param>
  962 + </block>
  963 + <block>
  964 + <key>nco_counter_send_conf</key>
  965 + <param>
  966 + <key>acc_size</key>
  967 + <value>32</value>
  968 + </param>
  969 + <param>
  970 + <key>addr</key>
  971 + <value>addr</value>
  972 + </param>
  973 + <param>
  974 + <key>alias</key>
  975 + <value></value>
  976 + </param>
  977 + <param>
  978 + <key>comment</key>
  979 + <value></value>
  980 + </param>
  981 + <param>
  982 + <key>device</key>
  983 + <value>/dev/dds2_nco</value>
  984 + </param>
  985 + <param>
  986 + <key>_enabled</key>
  987 + <value>True</value>
  988 + </param>
  989 + <param>
  990 + <key>freq_dds</key>
  991 + <value>dds2_nco</value>
  992 + </param>
  993 + <param>
  994 + <key>freq_ref</key>
  995 + <value>125000000</value>
  996 + </param>
  997 + <param>
  998 + <key>_coordinate</key>
  999 + <value>(600, 168)</value>
  1000 + </param>
  1001 + <param>
  1002 + <key>_rotation</key>
  1003 + <value>0</value>
  1004 + </param>
  1005 + <param>
  1006 + <key>id</key>
  1007 + <value>nco_counter_send_conf_0_0</value>
  1008 + </param>
  1009 + <param>
  1010 + <key>offset</key>
  1011 + <value>0</value>
  1012 + </param>
  1013 + <param>
  1014 + <key>pinc_sw</key>
  1015 + <value>1</value>
  1016 + </param>
  1017 + <param>
  1018 + <key>poff_sw</key>
  1019 + <value>0</value>
  1020 + </param>
  1021 + <param>
  1022 + <key>port</key>
  1023 + <value>port</value>
  1024 + </param>
  1025 + </block>
  1026 +</flow_graph>
redpitaya/client/double_dds.py
  1 +#!/usr/bin/env python2
  2 +# -*- coding: utf-8 -*-
  3 +##################################################
  4 +# GNU Radio Python Flow Graph
  5 +# Title: Double Dds
  6 +# Generated: Thu May 11 08:24:36 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 double_dds(gr.top_block, Qt.QWidget):
  31 +
  32 + def __init__(self):
  33 + gr.top_block.__init__(self, "Double Dds")
  34 + Qt.QWidget.__init__(self)
  35 + self.setWindowTitle("Double Dds")
  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", "double_dds")
  53 + self.restoreGeometry(self.settings.value("geometry").toByteArray())
  54 +
  55 + ##################################################
  56 + # Variables
  57 + ##################################################
  58 + self.port = port = 1001
  59 + self.dds2_phase = dds2_phase = 0
  60 + self.dds2_offset = dds2_offset = 0
  61 + self.dds2_nco = dds2_nco = 0
  62 + self.dds2_ampl = dds2_ampl = 0
  63 + self.dds1_phase = dds1_phase = 0
  64 + self.dds1_offset = dds1_offset = 0
  65 + self.dds1_nco = dds1_nco = 0
  66 + self.dds1_ampl = dds1_ampl = 0
  67 + self.addr = addr = "192.168.0.204"
  68 +
  69 + ##################################################
  70 + # Blocks
  71 + ##################################################
  72 + self._dds2_phase_range = Range(-2**13, 2**13-1, 1, 0, 200)
  73 + self._dds2_phase_win = RangeWidget(self._dds2_phase_range, self.set_dds2_phase, 'dds2_phase', "counter_slider", int)
  74 + self.top_grid_layout.addWidget(self._dds2_phase_win, 3, 1)
  75 + self._dds2_offset_range = Range(-2**13, 2**13-1, 1, 0, 200)
  76 + self._dds2_offset_win = RangeWidget(self._dds2_offset_range, self.set_dds2_offset, 'dds2_offset', "counter_slider", int)
  77 + self.top_grid_layout.addWidget(self._dds2_offset_win, 2, 1)
  78 + self._dds2_nco_range = Range(0, 60000000, 1000, 0, 200)
  79 + self._dds2_nco_win = RangeWidget(self._dds2_nco_range, self.set_dds2_nco, 'dds2_nco', "counter_slider", float)
  80 + self.top_grid_layout.addWidget(self._dds2_nco_win, 0, 1)
  81 + self._dds2_ampl_range = Range(0, 2**13-1, 1, 0, 200)
  82 + self._dds2_ampl_win = RangeWidget(self._dds2_ampl_range, self.set_dds2_ampl, 'dds2_ampl', "counter_slider", int)
  83 + self.top_grid_layout.addWidget(self._dds2_ampl_win, 1, 1)
  84 + self._dds1_phase_range = Range(-2**13, 2**13-1, 1, 0, 200)
  85 + self._dds1_phase_win = RangeWidget(self._dds1_phase_range, self.set_dds1_phase, 'dds1_phase', "counter_slider", int)
  86 + self.top_grid_layout.addWidget(self._dds1_phase_win, 3, 0)
  87 + self._dds1_offset_range = Range(-2**13, 2**13-1, 1, 0, 200)
  88 + self._dds1_offset_win = RangeWidget(self._dds1_offset_range, self.set_dds1_offset, 'dds1_offset', "counter_slider", int)
  89 + self.top_grid_layout.addWidget(self._dds1_offset_win, 2, 0)
  90 + self._dds1_nco_range = Range(0, 60000000, 1000, 0, 200)
  91 + self._dds1_nco_win = RangeWidget(self._dds1_nco_range, self.set_dds1_nco, 'dds1_nco', "counter_slider", float)
  92 + self.top_grid_layout.addWidget(self._dds1_nco_win, 0, 0)
  93 + self._dds1_ampl_range = Range(0, 2**13-1, 1, 0, 200)
  94 + self._dds1_ampl_win = RangeWidget(self._dds1_ampl_range, self.set_dds1_ampl, 'dds1_ampl', "counter_slider", int)
  95 + self.top_grid_layout.addWidget(self._dds1_ampl_win, 1, 0)
  96 + self.nco_counter_send_conf_0_0 = redpitaya_gnuradio.nco_counter_send_conf(
  97 + addr=addr,
  98 + port=port,
  99 + device='/dev/dds2_nco',
  100 + freq_ref=125000000,
  101 + freq_dds=dds2_nco,
  102 + acc_size=32,
  103 + offset=0,
  104 + pinc_sw=1,
  105 + poff_sw=0,
  106 + )
  107 +
  108 + self.nco_counter_send_conf_0 = redpitaya_gnuradio.nco_counter_send_conf(
  109 + addr=addr,
  110 + port=port,
  111 + device='/dev/dds1_nco',
  112 + freq_ref=125000000,
  113 + freq_dds=dds1_nco,
  114 + acc_size=32,
  115 + offset=0,
  116 + pinc_sw=1,
  117 + poff_sw=0,
  118 + )
  119 +
  120 + self.add_const_set_offset_0_2 = redpitaya_gnuradio.add_const_set_offset(
  121 + addr=addr,
  122 + port=port,
  123 + device='/dev/dds1_phase',
  124 + const=dds1_phase,
  125 + )
  126 +
  127 + self.add_const_set_offset_0_1_0 = redpitaya_gnuradio.add_const_set_offset(
  128 + addr=addr,
  129 + port=port,
  130 + device='/dev/dds2_phase',
  131 + const=dds2_phase,
  132 + )
  133 +
  134 + self.add_const_set_offset_0_1 = redpitaya_gnuradio.add_const_set_offset(
  135 + addr=addr,
  136 + port=port,
  137 + device='/dev/dds2_offset',
  138 + const=dds2_offset,
  139 + )
  140 +
  141 + self.add_const_set_offset_0_0_0 = redpitaya_gnuradio.add_const_set_offset(
  142 + addr=addr,
  143 + port=port,
  144 + device='/dev/dds2_ampl',
  145 + const=dds2_ampl,
  146 + )
  147 +
  148 + self.add_const_set_offset_0_0 = redpitaya_gnuradio.add_const_set_offset(
  149 + addr=addr,
  150 + port=port,
  151 + device='/dev/dds1_ampl',
  152 + const=dds1_ampl,
  153 + )
  154 +
  155 + self.add_const_set_offset_0 = redpitaya_gnuradio.add_const_set_offset(
  156 + addr=addr,
  157 + port=port,
  158 + device='/dev/dds1_offset',
  159 + const=dds1_offset,
  160 + )
  161 +
  162 +
  163 + def closeEvent(self, event):
  164 + self.settings = Qt.QSettings("GNU Radio", "double_dds")
  165 + self.settings.setValue("geometry", self.saveGeometry())
  166 + event.accept()
  167 +
  168 + def get_port(self):
  169 + return self.port
  170 +
  171 + def set_port(self, port):
  172 + self.port = port
  173 +
  174 + def get_dds2_phase(self):
  175 + return self.dds2_phase
  176 +
  177 + def set_dds2_phase(self, dds2_phase):
  178 + self.dds2_phase = dds2_phase
  179 + self.add_const_set_offset_0_1_0.set_const(device='/dev/dds2_phase', const=self.dds2_phase)
  180 +
  181 + def get_dds2_offset(self):
  182 + return self.dds2_offset
  183 +
  184 + def set_dds2_offset(self, dds2_offset):
  185 + self.dds2_offset = dds2_offset
  186 + self.add_const_set_offset_0_1.set_const(device='/dev/dds2_offset', const=self.dds2_offset)
  187 +
  188 + def get_dds2_nco(self):
  189 + return self.dds2_nco
  190 +
  191 + def set_dds2_nco(self, dds2_nco):
  192 + self.dds2_nco = dds2_nco
  193 + self.nco_counter_send_conf_0_0.set_nco(device='/dev/dds2_nco', freq_ref=125000000, freq_dds=self.dds2_nco, acc_size=32, offset=0, pinc_sw=1, poff_sw=0)
  194 +
  195 + def get_dds2_ampl(self):
  196 + return self.dds2_ampl
  197 +
  198 + def set_dds2_ampl(self, dds2_ampl):
  199 + self.dds2_ampl = dds2_ampl
  200 + self.add_const_set_offset_0_0_0.set_const(device='/dev/dds2_ampl', const=self.dds2_ampl)
  201 +
  202 + def get_dds1_phase(self):
  203 + return self.dds1_phase
  204 +
  205 + def set_dds1_phase(self, dds1_phase):
  206 + self.dds1_phase = dds1_phase
  207 + self.add_const_set_offset_0_2.set_const(device='/dev/dds1_phase', const=self.dds1_phase)
  208 +
  209 + def get_dds1_offset(self):
  210 + return self.dds1_offset
  211 +
  212 + def set_dds1_offset(self, dds1_offset):
  213 + self.dds1_offset = dds1_offset
  214 + self.add_const_set_offset_0.set_const(device='/dev/dds1_offset', const=self.dds1_offset)
  215 +
  216 + def get_dds1_nco(self):
  217 + return self.dds1_nco
  218 +
  219 + def set_dds1_nco(self, dds1_nco):
  220 + self.dds1_nco = dds1_nco
  221 + self.nco_counter_send_conf_0.set_nco(device='/dev/dds1_nco', freq_ref=125000000, freq_dds=self.dds1_nco, acc_size=32, offset=0, pinc_sw=1, poff_sw=0)
  222 +
  223 + def get_dds1_ampl(self):
  224 + return self.dds1_ampl
  225 +
  226 + def set_dds1_ampl(self, dds1_ampl):
  227 + self.dds1_ampl = dds1_ampl
  228 + self.add_const_set_offset_0_0.set_const(device='/dev/dds1_ampl', const=self.dds1_ampl)
  229 +
  230 + def get_addr(self):
  231 + return self.addr
  232 +
  233 + def set_addr(self, addr):
  234 + self.addr = addr
  235 +
  236 +
  237 +def main(top_block_cls=double_dds, options=None):
  238 +
  239 + from distutils.version import StrictVersion
  240 + if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"):
  241 + style = gr.prefs().get_string('qtgui', 'style', 'raster')
  242 + Qt.QApplication.setGraphicsSystem(style)
  243 + qapp = Qt.QApplication(sys.argv)
  244 +
  245 + tb = top_block_cls()
  246 + tb.start()
  247 + tb.show()
  248 +
  249 + def quitting():
  250 + tb.stop()
  251 + tb.wait()
  252 + qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
  253 + qapp.exec_()
  254 +
  255 +
  256 +if __name__ == '__main__':
  257 + main()