├── hackrf_rtlsdr_soundcard_adapter.grc ├── hackrf_rtlsdr_soundcard_adapter.py ├── readme.md └── test.grc /hackrf_rtlsdr_soundcard_adapter.grc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Wed Aug 26 03:31:42 2015 5 | 6 | variable 7 | 8 | id 9 | in_final_gain 10 | 11 | 12 | _enabled 13 | True 14 | 15 | 16 | value 17 | 0.5 18 | 19 | 20 | alias 21 | 22 | 23 | 24 | comment 25 | 26 | 27 | 28 | _coordinate 29 | (232, 75) 30 | 31 | 32 | _rotation 33 | 0 34 | 35 | 36 | 37 | variable 38 | 39 | id 40 | hackrf_rate 41 | 42 | 43 | _enabled 44 | True 45 | 46 | 47 | value 48 | 2e6 49 | 50 | 51 | alias 52 | 53 | 54 | 55 | comment 56 | 57 | 58 | 59 | _coordinate 60 | (8, 275) 61 | 62 | 63 | _rotation 64 | 0 65 | 66 | 67 | 68 | variable 69 | 70 | id 71 | out_frequency_offset 72 | 73 | 74 | _enabled 75 | True 76 | 77 | 78 | value 79 | -50e3 80 | 81 | 82 | alias 83 | 84 | 85 | 86 | comment 87 | 88 | 89 | 90 | _coordinate 91 | (168, 275) 92 | 93 | 94 | _rotation 95 | 0 96 | 97 | 98 | 99 | variable 100 | 101 | id 102 | out_audio_inverted 103 | 104 | 105 | _enabled 106 | True 107 | 108 | 109 | value 110 | True 111 | 112 | 113 | alias 114 | 115 | 116 | 117 | comment 118 | 119 | 120 | 121 | _coordinate 122 | (440, 275) 123 | 124 | 125 | _rotation 126 | 0 127 | 128 | 129 | 130 | variable 131 | 132 | id 133 | out_intermediary_rate 134 | 135 | 136 | _enabled 137 | True 138 | 139 | 140 | value 141 | audio_rate*4 142 | 143 | 144 | alias 145 | 146 | 147 | 148 | comment 149 | 150 | 151 | 152 | _coordinate 153 | (272, 275) 154 | 155 | 156 | _rotation 157 | 0 158 | 159 | 160 | 161 | variable 162 | 163 | id 164 | out_frequency 165 | 166 | 167 | _enabled 168 | True 169 | 170 | 171 | value 172 | 145.521e6 173 | 174 | 175 | alias 176 | 177 | 178 | 179 | comment 180 | 181 | 182 | 183 | _coordinate 184 | (72, 275) 185 | 186 | 187 | _rotation 188 | 0 189 | 190 | 191 | 192 | variable 193 | 194 | id 195 | out_gain 196 | 197 | 198 | _enabled 199 | True 200 | 201 | 202 | value 203 | .25 204 | 205 | 206 | alias 207 | 208 | 209 | 210 | comment 211 | 212 | 213 | 214 | _coordinate 215 | (376, 275) 216 | 217 | 218 | _rotation 219 | 0 220 | 221 | 222 | 223 | variable 224 | 225 | id 226 | in_decimation_factor 227 | 228 | 229 | _enabled 230 | True 231 | 232 | 233 | value 234 | 8 235 | 236 | 237 | alias 238 | 239 | 240 | 241 | comment 242 | 243 | 244 | 245 | _coordinate 246 | (400, 75) 247 | 248 | 249 | _rotation 250 | 0 251 | 252 | 253 | 254 | variable 255 | 256 | id 257 | rtl_rate 258 | 259 | 260 | _enabled 261 | True 262 | 263 | 264 | value 265 | int(240e3) 266 | 267 | 268 | alias 269 | 270 | 271 | 272 | comment 273 | 274 | 275 | 276 | _coordinate 277 | (8, 75) 278 | 279 | 280 | _rotation 281 | 0 282 | 283 | 284 | 285 | variable 286 | 287 | id 288 | dstar_bandwidth 289 | 290 | 291 | _enabled 292 | True 293 | 294 | 295 | value 296 | 6.5e3 297 | 298 | 299 | alias 300 | 301 | 302 | 303 | comment 304 | 305 | 306 | 307 | _coordinate 308 | (216, 11) 309 | 310 | 311 | _rotation 312 | 0 313 | 314 | 315 | 316 | variable 317 | 318 | id 319 | audio_rate 320 | 321 | 322 | _enabled 323 | True 324 | 325 | 326 | value 327 | int(48e3) 328 | 329 | 330 | alias 331 | 332 | 333 | 334 | comment 335 | 336 | 337 | 338 | _coordinate 339 | (144, 11) 340 | 341 | 342 | _rotation 343 | 0 344 | 345 | 346 | 347 | variable 348 | 349 | id 350 | in_frequency 351 | 352 | 353 | _enabled 354 | True 355 | 356 | 357 | value 358 | 145.551e6 359 | 360 | 361 | alias 362 | 363 | 364 | 365 | comment 366 | 367 | 368 | 369 | _coordinate 370 | (56, 75) 371 | 372 | 373 | _rotation 374 | 0 375 | 376 | 377 | 378 | variable 379 | 380 | id 381 | in_frequency_offset 382 | 383 | 384 | _enabled 385 | True 386 | 387 | 388 | value 389 | 0 390 | 391 | 392 | alias 393 | 394 | 395 | 396 | comment 397 | 398 | 399 | 400 | _coordinate 401 | (136, 75) 402 | 403 | 404 | _rotation 405 | 0 406 | 407 | 408 | 409 | variable 410 | 411 | id 412 | in_audio_inverted 413 | 414 | 415 | _enabled 416 | True 417 | 418 | 419 | value 420 | True 421 | 422 | 423 | alias 424 | 425 | 426 | 427 | comment 428 | 429 | 430 | 431 | _coordinate 432 | (304, 75) 433 | 434 | 435 | _rotation 436 | 0 437 | 438 | 439 | 440 | rtlsdr_source 441 | 442 | id 443 | rtlsdr_source_0 444 | 445 | 446 | _enabled 447 | True 448 | 449 | 450 | type 451 | fc32 452 | 453 | 454 | args 455 | 456 | 457 | 458 | sync 459 | 460 | 461 | 462 | num_mboards 463 | 1 464 | 465 | 466 | clock_source0 467 | 468 | 469 | 470 | time_source0 471 | 472 | 473 | 474 | clock_source1 475 | 476 | 477 | 478 | time_source1 479 | 480 | 481 | 482 | clock_source2 483 | 484 | 485 | 486 | time_source2 487 | 488 | 489 | 490 | clock_source3 491 | 492 | 493 | 494 | time_source3 495 | 496 | 497 | 498 | clock_source4 499 | 500 | 501 | 502 | time_source4 503 | 504 | 505 | 506 | clock_source5 507 | 508 | 509 | 510 | time_source5 511 | 512 | 513 | 514 | clock_source6 515 | 516 | 517 | 518 | time_source6 519 | 520 | 521 | 522 | clock_source7 523 | 524 | 525 | 526 | time_source7 527 | 528 | 529 | 530 | nchan 531 | 1 532 | 533 | 534 | sample_rate 535 | rtl_rate 536 | 537 | 538 | freq0 539 | in_frequency+in_frequency_offset 540 | 541 | 542 | corr0 543 | 69 544 | 545 | 546 | dc_offset_mode0 547 | 0 548 | 549 | 550 | iq_balance_mode0 551 | 0 552 | 553 | 554 | gain_mode0 555 | False 556 | 557 | 558 | gain0 559 | 10 560 | 561 | 562 | if_gain0 563 | 20 564 | 565 | 566 | bb_gain0 567 | 20 568 | 569 | 570 | ant0 571 | 572 | 573 | 574 | bw0 575 | 0 576 | 577 | 578 | freq1 579 | 100e6 580 | 581 | 582 | corr1 583 | 0 584 | 585 | 586 | dc_offset_mode1 587 | 0 588 | 589 | 590 | iq_balance_mode1 591 | 0 592 | 593 | 594 | gain_mode1 595 | False 596 | 597 | 598 | gain1 599 | 10 600 | 601 | 602 | if_gain1 603 | 20 604 | 605 | 606 | bb_gain1 607 | 20 608 | 609 | 610 | ant1 611 | 612 | 613 | 614 | bw1 615 | 0 616 | 617 | 618 | freq2 619 | 100e6 620 | 621 | 622 | corr2 623 | 0 624 | 625 | 626 | dc_offset_mode2 627 | 0 628 | 629 | 630 | iq_balance_mode2 631 | 0 632 | 633 | 634 | gain_mode2 635 | False 636 | 637 | 638 | gain2 639 | 10 640 | 641 | 642 | if_gain2 643 | 20 644 | 645 | 646 | bb_gain2 647 | 20 648 | 649 | 650 | ant2 651 | 652 | 653 | 654 | bw2 655 | 0 656 | 657 | 658 | freq3 659 | 100e6 660 | 661 | 662 | corr3 663 | 0 664 | 665 | 666 | dc_offset_mode3 667 | 0 668 | 669 | 670 | iq_balance_mode3 671 | 0 672 | 673 | 674 | gain_mode3 675 | False 676 | 677 | 678 | gain3 679 | 10 680 | 681 | 682 | if_gain3 683 | 20 684 | 685 | 686 | bb_gain3 687 | 20 688 | 689 | 690 | ant3 691 | 692 | 693 | 694 | bw3 695 | 0 696 | 697 | 698 | freq4 699 | 100e6 700 | 701 | 702 | corr4 703 | 0 704 | 705 | 706 | dc_offset_mode4 707 | 0 708 | 709 | 710 | iq_balance_mode4 711 | 0 712 | 713 | 714 | gain_mode4 715 | False 716 | 717 | 718 | gain4 719 | 10 720 | 721 | 722 | if_gain4 723 | 20 724 | 725 | 726 | bb_gain4 727 | 20 728 | 729 | 730 | ant4 731 | 732 | 733 | 734 | bw4 735 | 0 736 | 737 | 738 | freq5 739 | 100e6 740 | 741 | 742 | corr5 743 | 0 744 | 745 | 746 | dc_offset_mode5 747 | 0 748 | 749 | 750 | iq_balance_mode5 751 | 0 752 | 753 | 754 | gain_mode5 755 | False 756 | 757 | 758 | gain5 759 | 10 760 | 761 | 762 | if_gain5 763 | 20 764 | 765 | 766 | bb_gain5 767 | 20 768 | 769 | 770 | ant5 771 | 772 | 773 | 774 | bw5 775 | 0 776 | 777 | 778 | freq6 779 | 100e6 780 | 781 | 782 | corr6 783 | 0 784 | 785 | 786 | dc_offset_mode6 787 | 0 788 | 789 | 790 | iq_balance_mode6 791 | 0 792 | 793 | 794 | gain_mode6 795 | False 796 | 797 | 798 | gain6 799 | 10 800 | 801 | 802 | if_gain6 803 | 20 804 | 805 | 806 | bb_gain6 807 | 20 808 | 809 | 810 | ant6 811 | 812 | 813 | 814 | bw6 815 | 0 816 | 817 | 818 | freq7 819 | 100e6 820 | 821 | 822 | corr7 823 | 0 824 | 825 | 826 | dc_offset_mode7 827 | 0 828 | 829 | 830 | iq_balance_mode7 831 | 0 832 | 833 | 834 | gain_mode7 835 | False 836 | 837 | 838 | gain7 839 | 10 840 | 841 | 842 | if_gain7 843 | 20 844 | 845 | 846 | bb_gain7 847 | 20 848 | 849 | 850 | ant7 851 | 852 | 853 | 854 | bw7 855 | 0 856 | 857 | 858 | freq8 859 | 100e6 860 | 861 | 862 | corr8 863 | 0 864 | 865 | 866 | dc_offset_mode8 867 | 0 868 | 869 | 870 | iq_balance_mode8 871 | 0 872 | 873 | 874 | gain_mode8 875 | False 876 | 877 | 878 | gain8 879 | 10 880 | 881 | 882 | if_gain8 883 | 20 884 | 885 | 886 | bb_gain8 887 | 20 888 | 889 | 890 | ant8 891 | 892 | 893 | 894 | bw8 895 | 0 896 | 897 | 898 | freq9 899 | 100e6 900 | 901 | 902 | corr9 903 | 0 904 | 905 | 906 | dc_offset_mode9 907 | 0 908 | 909 | 910 | iq_balance_mode9 911 | 0 912 | 913 | 914 | gain_mode9 915 | False 916 | 917 | 918 | gain9 919 | 10 920 | 921 | 922 | if_gain9 923 | 20 924 | 925 | 926 | bb_gain9 927 | 20 928 | 929 | 930 | ant9 931 | 932 | 933 | 934 | bw9 935 | 0 936 | 937 | 938 | freq10 939 | 100e6 940 | 941 | 942 | corr10 943 | 0 944 | 945 | 946 | dc_offset_mode10 947 | 0 948 | 949 | 950 | iq_balance_mode10 951 | 0 952 | 953 | 954 | gain_mode10 955 | False 956 | 957 | 958 | gain10 959 | 10 960 | 961 | 962 | if_gain10 963 | 20 964 | 965 | 966 | bb_gain10 967 | 20 968 | 969 | 970 | ant10 971 | 972 | 973 | 974 | bw10 975 | 0 976 | 977 | 978 | freq11 979 | 100e6 980 | 981 | 982 | corr11 983 | 0 984 | 985 | 986 | dc_offset_mode11 987 | 0 988 | 989 | 990 | iq_balance_mode11 991 | 0 992 | 993 | 994 | gain_mode11 995 | False 996 | 997 | 998 | gain11 999 | 10 1000 | 1001 | 1002 | if_gain11 1003 | 20 1004 | 1005 | 1006 | bb_gain11 1007 | 20 1008 | 1009 | 1010 | ant11 1011 | 1012 | 1013 | 1014 | bw11 1015 | 0 1016 | 1017 | 1018 | freq12 1019 | 100e6 1020 | 1021 | 1022 | corr12 1023 | 0 1024 | 1025 | 1026 | dc_offset_mode12 1027 | 0 1028 | 1029 | 1030 | iq_balance_mode12 1031 | 0 1032 | 1033 | 1034 | gain_mode12 1035 | False 1036 | 1037 | 1038 | gain12 1039 | 10 1040 | 1041 | 1042 | if_gain12 1043 | 20 1044 | 1045 | 1046 | bb_gain12 1047 | 20 1048 | 1049 | 1050 | ant12 1051 | 1052 | 1053 | 1054 | bw12 1055 | 0 1056 | 1057 | 1058 | freq13 1059 | 100e6 1060 | 1061 | 1062 | corr13 1063 | 0 1064 | 1065 | 1066 | dc_offset_mode13 1067 | 0 1068 | 1069 | 1070 | iq_balance_mode13 1071 | 0 1072 | 1073 | 1074 | gain_mode13 1075 | False 1076 | 1077 | 1078 | gain13 1079 | 10 1080 | 1081 | 1082 | if_gain13 1083 | 20 1084 | 1085 | 1086 | bb_gain13 1087 | 20 1088 | 1089 | 1090 | ant13 1091 | 1092 | 1093 | 1094 | bw13 1095 | 0 1096 | 1097 | 1098 | freq14 1099 | 100e6 1100 | 1101 | 1102 | corr14 1103 | 0 1104 | 1105 | 1106 | dc_offset_mode14 1107 | 0 1108 | 1109 | 1110 | iq_balance_mode14 1111 | 0 1112 | 1113 | 1114 | gain_mode14 1115 | False 1116 | 1117 | 1118 | gain14 1119 | 10 1120 | 1121 | 1122 | if_gain14 1123 | 20 1124 | 1125 | 1126 | bb_gain14 1127 | 20 1128 | 1129 | 1130 | ant14 1131 | 1132 | 1133 | 1134 | bw14 1135 | 0 1136 | 1137 | 1138 | freq15 1139 | 100e6 1140 | 1141 | 1142 | corr15 1143 | 0 1144 | 1145 | 1146 | dc_offset_mode15 1147 | 0 1148 | 1149 | 1150 | iq_balance_mode15 1151 | 0 1152 | 1153 | 1154 | gain_mode15 1155 | False 1156 | 1157 | 1158 | gain15 1159 | 10 1160 | 1161 | 1162 | if_gain15 1163 | 20 1164 | 1165 | 1166 | bb_gain15 1167 | 20 1168 | 1169 | 1170 | ant15 1171 | 1172 | 1173 | 1174 | bw15 1175 | 0 1176 | 1177 | 1178 | freq16 1179 | 100e6 1180 | 1181 | 1182 | corr16 1183 | 0 1184 | 1185 | 1186 | dc_offset_mode16 1187 | 0 1188 | 1189 | 1190 | iq_balance_mode16 1191 | 0 1192 | 1193 | 1194 | gain_mode16 1195 | False 1196 | 1197 | 1198 | gain16 1199 | 10 1200 | 1201 | 1202 | if_gain16 1203 | 20 1204 | 1205 | 1206 | bb_gain16 1207 | 20 1208 | 1209 | 1210 | ant16 1211 | 1212 | 1213 | 1214 | bw16 1215 | 0 1216 | 1217 | 1218 | freq17 1219 | 100e6 1220 | 1221 | 1222 | corr17 1223 | 0 1224 | 1225 | 1226 | dc_offset_mode17 1227 | 0 1228 | 1229 | 1230 | iq_balance_mode17 1231 | 0 1232 | 1233 | 1234 | gain_mode17 1235 | False 1236 | 1237 | 1238 | gain17 1239 | 10 1240 | 1241 | 1242 | if_gain17 1243 | 20 1244 | 1245 | 1246 | bb_gain17 1247 | 20 1248 | 1249 | 1250 | ant17 1251 | 1252 | 1253 | 1254 | bw17 1255 | 0 1256 | 1257 | 1258 | freq18 1259 | 100e6 1260 | 1261 | 1262 | corr18 1263 | 0 1264 | 1265 | 1266 | dc_offset_mode18 1267 | 0 1268 | 1269 | 1270 | iq_balance_mode18 1271 | 0 1272 | 1273 | 1274 | gain_mode18 1275 | False 1276 | 1277 | 1278 | gain18 1279 | 10 1280 | 1281 | 1282 | if_gain18 1283 | 20 1284 | 1285 | 1286 | bb_gain18 1287 | 20 1288 | 1289 | 1290 | ant18 1291 | 1292 | 1293 | 1294 | bw18 1295 | 0 1296 | 1297 | 1298 | freq19 1299 | 100e6 1300 | 1301 | 1302 | corr19 1303 | 0 1304 | 1305 | 1306 | dc_offset_mode19 1307 | 0 1308 | 1309 | 1310 | iq_balance_mode19 1311 | 0 1312 | 1313 | 1314 | gain_mode19 1315 | False 1316 | 1317 | 1318 | gain19 1319 | 10 1320 | 1321 | 1322 | if_gain19 1323 | 20 1324 | 1325 | 1326 | bb_gain19 1327 | 20 1328 | 1329 | 1330 | ant19 1331 | 1332 | 1333 | 1334 | bw19 1335 | 0 1336 | 1337 | 1338 | freq20 1339 | 100e6 1340 | 1341 | 1342 | corr20 1343 | 0 1344 | 1345 | 1346 | dc_offset_mode20 1347 | 0 1348 | 1349 | 1350 | iq_balance_mode20 1351 | 0 1352 | 1353 | 1354 | gain_mode20 1355 | False 1356 | 1357 | 1358 | gain20 1359 | 10 1360 | 1361 | 1362 | if_gain20 1363 | 20 1364 | 1365 | 1366 | bb_gain20 1367 | 20 1368 | 1369 | 1370 | ant20 1371 | 1372 | 1373 | 1374 | bw20 1375 | 0 1376 | 1377 | 1378 | freq21 1379 | 100e6 1380 | 1381 | 1382 | corr21 1383 | 0 1384 | 1385 | 1386 | dc_offset_mode21 1387 | 0 1388 | 1389 | 1390 | iq_balance_mode21 1391 | 0 1392 | 1393 | 1394 | gain_mode21 1395 | False 1396 | 1397 | 1398 | gain21 1399 | 10 1400 | 1401 | 1402 | if_gain21 1403 | 20 1404 | 1405 | 1406 | bb_gain21 1407 | 20 1408 | 1409 | 1410 | ant21 1411 | 1412 | 1413 | 1414 | bw21 1415 | 0 1416 | 1417 | 1418 | freq22 1419 | 100e6 1420 | 1421 | 1422 | corr22 1423 | 0 1424 | 1425 | 1426 | dc_offset_mode22 1427 | 0 1428 | 1429 | 1430 | iq_balance_mode22 1431 | 0 1432 | 1433 | 1434 | gain_mode22 1435 | False 1436 | 1437 | 1438 | gain22 1439 | 10 1440 | 1441 | 1442 | if_gain22 1443 | 20 1444 | 1445 | 1446 | bb_gain22 1447 | 20 1448 | 1449 | 1450 | ant22 1451 | 1452 | 1453 | 1454 | bw22 1455 | 0 1456 | 1457 | 1458 | freq23 1459 | 100e6 1460 | 1461 | 1462 | corr23 1463 | 0 1464 | 1465 | 1466 | dc_offset_mode23 1467 | 0 1468 | 1469 | 1470 | iq_balance_mode23 1471 | 0 1472 | 1473 | 1474 | gain_mode23 1475 | False 1476 | 1477 | 1478 | gain23 1479 | 10 1480 | 1481 | 1482 | if_gain23 1483 | 20 1484 | 1485 | 1486 | bb_gain23 1487 | 20 1488 | 1489 | 1490 | ant23 1491 | 1492 | 1493 | 1494 | bw23 1495 | 0 1496 | 1497 | 1498 | freq24 1499 | 100e6 1500 | 1501 | 1502 | corr24 1503 | 0 1504 | 1505 | 1506 | dc_offset_mode24 1507 | 0 1508 | 1509 | 1510 | iq_balance_mode24 1511 | 0 1512 | 1513 | 1514 | gain_mode24 1515 | False 1516 | 1517 | 1518 | gain24 1519 | 10 1520 | 1521 | 1522 | if_gain24 1523 | 20 1524 | 1525 | 1526 | bb_gain24 1527 | 20 1528 | 1529 | 1530 | ant24 1531 | 1532 | 1533 | 1534 | bw24 1535 | 0 1536 | 1537 | 1538 | freq25 1539 | 100e6 1540 | 1541 | 1542 | corr25 1543 | 0 1544 | 1545 | 1546 | dc_offset_mode25 1547 | 0 1548 | 1549 | 1550 | iq_balance_mode25 1551 | 0 1552 | 1553 | 1554 | gain_mode25 1555 | False 1556 | 1557 | 1558 | gain25 1559 | 10 1560 | 1561 | 1562 | if_gain25 1563 | 20 1564 | 1565 | 1566 | bb_gain25 1567 | 20 1568 | 1569 | 1570 | ant25 1571 | 1572 | 1573 | 1574 | bw25 1575 | 0 1576 | 1577 | 1578 | freq26 1579 | 100e6 1580 | 1581 | 1582 | corr26 1583 | 0 1584 | 1585 | 1586 | dc_offset_mode26 1587 | 0 1588 | 1589 | 1590 | iq_balance_mode26 1591 | 0 1592 | 1593 | 1594 | gain_mode26 1595 | False 1596 | 1597 | 1598 | gain26 1599 | 10 1600 | 1601 | 1602 | if_gain26 1603 | 20 1604 | 1605 | 1606 | bb_gain26 1607 | 20 1608 | 1609 | 1610 | ant26 1611 | 1612 | 1613 | 1614 | bw26 1615 | 0 1616 | 1617 | 1618 | freq27 1619 | 100e6 1620 | 1621 | 1622 | corr27 1623 | 0 1624 | 1625 | 1626 | dc_offset_mode27 1627 | 0 1628 | 1629 | 1630 | iq_balance_mode27 1631 | 0 1632 | 1633 | 1634 | gain_mode27 1635 | False 1636 | 1637 | 1638 | gain27 1639 | 10 1640 | 1641 | 1642 | if_gain27 1643 | 20 1644 | 1645 | 1646 | bb_gain27 1647 | 20 1648 | 1649 | 1650 | ant27 1651 | 1652 | 1653 | 1654 | bw27 1655 | 0 1656 | 1657 | 1658 | freq28 1659 | 100e6 1660 | 1661 | 1662 | corr28 1663 | 0 1664 | 1665 | 1666 | dc_offset_mode28 1667 | 0 1668 | 1669 | 1670 | iq_balance_mode28 1671 | 0 1672 | 1673 | 1674 | gain_mode28 1675 | False 1676 | 1677 | 1678 | gain28 1679 | 10 1680 | 1681 | 1682 | if_gain28 1683 | 20 1684 | 1685 | 1686 | bb_gain28 1687 | 20 1688 | 1689 | 1690 | ant28 1691 | 1692 | 1693 | 1694 | bw28 1695 | 0 1696 | 1697 | 1698 | freq29 1699 | 100e6 1700 | 1701 | 1702 | corr29 1703 | 0 1704 | 1705 | 1706 | dc_offset_mode29 1707 | 0 1708 | 1709 | 1710 | iq_balance_mode29 1711 | 0 1712 | 1713 | 1714 | gain_mode29 1715 | False 1716 | 1717 | 1718 | gain29 1719 | 10 1720 | 1721 | 1722 | if_gain29 1723 | 20 1724 | 1725 | 1726 | bb_gain29 1727 | 20 1728 | 1729 | 1730 | ant29 1731 | 1732 | 1733 | 1734 | bw29 1735 | 0 1736 | 1737 | 1738 | freq30 1739 | 100e6 1740 | 1741 | 1742 | corr30 1743 | 0 1744 | 1745 | 1746 | dc_offset_mode30 1747 | 0 1748 | 1749 | 1750 | iq_balance_mode30 1751 | 0 1752 | 1753 | 1754 | gain_mode30 1755 | False 1756 | 1757 | 1758 | gain30 1759 | 10 1760 | 1761 | 1762 | if_gain30 1763 | 20 1764 | 1765 | 1766 | bb_gain30 1767 | 20 1768 | 1769 | 1770 | ant30 1771 | 1772 | 1773 | 1774 | bw30 1775 | 0 1776 | 1777 | 1778 | freq31 1779 | 100e6 1780 | 1781 | 1782 | corr31 1783 | 0 1784 | 1785 | 1786 | dc_offset_mode31 1787 | 0 1788 | 1789 | 1790 | iq_balance_mode31 1791 | 0 1792 | 1793 | 1794 | gain_mode31 1795 | False 1796 | 1797 | 1798 | gain31 1799 | 10 1800 | 1801 | 1802 | if_gain31 1803 | 20 1804 | 1805 | 1806 | bb_gain31 1807 | 20 1808 | 1809 | 1810 | ant31 1811 | 1812 | 1813 | 1814 | bw31 1815 | 0 1816 | 1817 | 1818 | alias 1819 | 1820 | 1821 | 1822 | affinity 1823 | 1824 | 1825 | 1826 | minoutbuf 1827 | 0 1828 | 1829 | 1830 | maxoutbuf 1831 | 0 1832 | 1833 | 1834 | comment 1835 | 1836 | 1837 | 1838 | _coordinate 1839 | (8, 126) 1840 | 1841 | 1842 | _rotation 1843 | 0 1844 | 1845 | 1846 | 1847 | options 1848 | 1849 | id 1850 | hackrf_rtlsdr_soundcard_adapter 1851 | 1852 | 1853 | _enabled 1854 | True 1855 | 1856 | 1857 | title 1858 | 1859 | 1860 | 1861 | author 1862 | 1863 | 1864 | 1865 | description 1866 | 1867 | 1868 | 1869 | window_size 1870 | 2000,2000 1871 | 1872 | 1873 | generate_options 1874 | no_gui 1875 | 1876 | 1877 | category 1878 | Custom 1879 | 1880 | 1881 | run_options 1882 | run 1883 | 1884 | 1885 | run 1886 | True 1887 | 1888 | 1889 | max_nouts 1890 | 0 1891 | 1892 | 1893 | realtime_scheduling 1894 | 1895 | 1896 | 1897 | thread_safe_setters 1898 | 1899 | 1900 | 1901 | alias 1902 | 1903 | 1904 | 1905 | comment 1906 | 1907 | 1908 | 1909 | _coordinate 1910 | (8, 8) 1911 | 1912 | 1913 | _rotation 1914 | 0 1915 | 1916 | 1917 | 1918 | low_pass_filter 1919 | 1920 | id 1921 | low_pass_filter_1 1922 | 1923 | 1924 | _enabled 1925 | True 1926 | 1927 | 1928 | type 1929 | fir_filter_ccf 1930 | 1931 | 1932 | decim 1933 | 5 1934 | 1935 | 1936 | interp 1937 | 1 1938 | 1939 | 1940 | gain 1941 | 1 1942 | 1943 | 1944 | samp_rate 1945 | rtl_rate 1946 | 1947 | 1948 | cutoff_freq 1949 | dstar_bandwidth*2 1950 | 1951 | 1952 | width 1953 | 500 1954 | 1955 | 1956 | win 1957 | firdes.WIN_HAMMING 1958 | 1959 | 1960 | beta 1961 | 6.76 1962 | 1963 | 1964 | alias 1965 | 1966 | 1967 | 1968 | affinity 1969 | 1970 | 1971 | 1972 | minoutbuf 1973 | 0 1974 | 1975 | 1976 | maxoutbuf 1977 | 0 1978 | 1979 | 1980 | comment 1981 | 1982 | 1983 | 1984 | _coordinate 1985 | (176, 136) 1986 | 1987 | 1988 | _rotation 1989 | 0 1990 | 1991 | 1992 | 1993 | analog_pwr_squelch_xx 1994 | 1995 | id 1996 | analog_pwr_squelch_xx_1 1997 | 1998 | 1999 | _enabled 2000 | True 2001 | 2002 | 2003 | type 2004 | complex 2005 | 2006 | 2007 | threshold 2008 | -30 2009 | 2010 | 2011 | alpha 2012 | 1 2013 | 2014 | 2015 | ramp 2016 | 1 2017 | 2018 | 2019 | gate 2020 | False 2021 | 2022 | 2023 | alias 2024 | 2025 | 2026 | 2027 | affinity 2028 | 2029 | 2030 | 2031 | minoutbuf 2032 | 0 2033 | 2034 | 2035 | maxoutbuf 2036 | 0 2037 | 2038 | 2039 | comment 2040 | 2041 | 2042 | 2043 | _coordinate 2044 | (312, 152) 2045 | 2046 | 2047 | _rotation 2048 | 0 2049 | 2050 | 2051 | 2052 | analog_nbfm_rx 2053 | 2054 | id 2055 | analog_nbfm_rx_0 2056 | 2057 | 2058 | _enabled 2059 | True 2060 | 2061 | 2062 | audio_rate 2063 | audio_rate 2064 | 2065 | 2066 | quad_rate 2067 | audio_rate 2068 | 2069 | 2070 | tau 2071 | 0.000000000000000000001 2072 | 2073 | 2074 | max_dev 2075 | dstar_bandwidth*2 2076 | 2077 | 2078 | alias 2079 | 2080 | 2081 | 2082 | affinity 2083 | 2084 | 2085 | 2086 | minoutbuf 2087 | 0 2088 | 2089 | 2090 | maxoutbuf 2091 | 0 2092 | 2093 | 2094 | comment 2095 | 2096 | 2097 | 2098 | _coordinate 2099 | (440, 152) 2100 | 2101 | 2102 | _rotation 2103 | 0 2104 | 2105 | 2106 | 2107 | blocks_multiply_const_vxx 2108 | 2109 | id 2110 | blocks_multiply_const_vxx_1 2111 | 2112 | 2113 | _enabled 2114 | True 2115 | 2116 | 2117 | type 2118 | float 2119 | 2120 | 2121 | const 2122 | 0-in_final_gain if in_audio_inverted else in_final_gain 2123 | 2124 | 2125 | vlen 2126 | 1 2127 | 2128 | 2129 | alias 2130 | 2131 | 2132 | 2133 | affinity 2134 | 2135 | 2136 | 2137 | minoutbuf 2138 | 0 2139 | 2140 | 2141 | maxoutbuf 2142 | 0 2143 | 2144 | 2145 | comment 2146 | 2147 | 2148 | 2149 | _coordinate 2150 | (576, 165) 2151 | 2152 | 2153 | _rotation 2154 | 0 2155 | 2156 | 2157 | 2158 | audio_sink 2159 | 2160 | id 2161 | audio_sink_1 2162 | 2163 | 2164 | _enabled 2165 | True 2166 | 2167 | 2168 | samp_rate 2169 | audio_rate 2170 | 2171 | 2172 | device_name 2173 | plughw:11,0 2174 | 2175 | 2176 | ok_to_block 2177 | True 2178 | 2179 | 2180 | num_inputs 2181 | 1 2182 | 2183 | 2184 | alias 2185 | 2186 | 2187 | 2188 | affinity 2189 | 2190 | 2191 | 2192 | comment 2193 | 2194 | 2195 | 2196 | _coordinate 2197 | (704, 163) 2198 | 2199 | 2200 | _rotation 2201 | 0 2202 | 2203 | 2204 | 2205 | note 2206 | 2207 | id 2208 | note_1 2209 | 2210 | 2211 | _enabled 2212 | True 2213 | 2214 | 2215 | note 2216 | TO D-Star Repeater 2217 | 2218 | 2219 | alias 2220 | 2221 | 2222 | 2223 | comment 2224 | 2225 | 2226 | 2227 | _coordinate 2228 | (704, 120) 2229 | 2230 | 2231 | _rotation 2232 | 0 2233 | 2234 | 2235 | 2236 | note 2237 | 2238 | id 2239 | note_0 2240 | 2241 | 2242 | _enabled 2243 | True 2244 | 2245 | 2246 | note 2247 | FROM D-Star Repeater 2248 | 2249 | 2250 | alias 2251 | 2252 | 2253 | 2254 | comment 2255 | 2256 | 2257 | 2258 | _coordinate 2259 | (8, 400) 2260 | 2261 | 2262 | _rotation 2263 | 0 2264 | 2265 | 2266 | 2267 | low_pass_filter 2268 | 2269 | id 2270 | low_pass_filter_0 2271 | 2272 | 2273 | _enabled 2274 | True 2275 | 2276 | 2277 | type 2278 | fir_filter_fff 2279 | 2280 | 2281 | decim 2282 | 1 2283 | 2284 | 2285 | interp 2286 | 1 2287 | 2288 | 2289 | gain 2290 | 1 2291 | 2292 | 2293 | samp_rate 2294 | audio_rate 2295 | 2296 | 2297 | cutoff_freq 2298 | dstar_bandwidth*2 2299 | 2300 | 2301 | width 2302 | 200 2303 | 2304 | 2305 | win 2306 | firdes.WIN_KAISER 2307 | 2308 | 2309 | beta 2310 | 6.76 2311 | 2312 | 2313 | alias 2314 | 2315 | 2316 | 2317 | affinity 2318 | 2319 | 2320 | 2321 | minoutbuf 2322 | 0 2323 | 2324 | 2325 | maxoutbuf 2326 | 0 2327 | 2328 | 2329 | comment 2330 | 2331 | 2332 | 2333 | _coordinate 2334 | (568, 328) 2335 | 2336 | 2337 | _rotation 2338 | 0 2339 | 2340 | 2341 | 2342 | blocks_multiply_const_vxx 2343 | 2344 | id 2345 | blocks_multiply_const_vxx_2 2346 | 2347 | 2348 | _enabled 2349 | True 2350 | 2351 | 2352 | type 2353 | float 2354 | 2355 | 2356 | const 2357 | (-1 if out_audio_inverted else 1)*out_gain 2358 | 2359 | 2360 | vlen 2361 | 1 2362 | 2363 | 2364 | alias 2365 | 2366 | 2367 | 2368 | affinity 2369 | 2370 | 2371 | 2372 | minoutbuf 2373 | 0 2374 | 2375 | 2376 | maxoutbuf 2377 | 0 2378 | 2379 | 2380 | comment 2381 | 2382 | 2383 | 2384 | _coordinate 2385 | (432, 357) 2386 | 2387 | 2388 | _rotation 2389 | 0 2390 | 2391 | 2392 | 2393 | analog_pwr_squelch_xx 2394 | 2395 | id 2396 | analog_pwr_squelch_xx_0 2397 | 2398 | 2399 | _enabled 2400 | True 2401 | 2402 | 2403 | type 2404 | float 2405 | 2406 | 2407 | threshold 2408 | -60 2409 | 2410 | 2411 | alpha 2412 | 1 2413 | 2414 | 2415 | ramp 2416 | 1 2417 | 2418 | 2419 | gate 2420 | True 2421 | 2422 | 2423 | alias 2424 | 2425 | 2426 | 2427 | affinity 2428 | 2429 | 2430 | 2431 | minoutbuf 2432 | 0 2433 | 2434 | 2435 | maxoutbuf 2436 | 0 2437 | 2438 | 2439 | comment 2440 | 2441 | 2442 | 2443 | _coordinate 2444 | (288, 344) 2445 | 2446 | 2447 | _rotation 2448 | 0 2449 | 2450 | 2451 | 2452 | dc_blocker_xx 2453 | 2454 | id 2455 | dc_blocker_xx_0 2456 | 2457 | 2458 | _enabled 2459 | True 2460 | 2461 | 2462 | type 2463 | ff 2464 | 2465 | 2466 | length 2467 | 128 2468 | 2469 | 2470 | long_form 2471 | True 2472 | 2473 | 2474 | alias 2475 | 2476 | 2477 | 2478 | affinity 2479 | 2480 | 2481 | 2482 | minoutbuf 2483 | 0 2484 | 2485 | 2486 | maxoutbuf 2487 | 0 2488 | 2489 | 2490 | comment 2491 | 2492 | 2493 | 2494 | _coordinate 2495 | (160, 355) 2496 | 2497 | 2498 | _rotation 2499 | 0 2500 | 2501 | 2502 | 2503 | audio_source 2504 | 2505 | id 2506 | audio_source_0 2507 | 2508 | 2509 | _enabled 2510 | True 2511 | 2512 | 2513 | samp_rate 2514 | audio_rate 2515 | 2516 | 2517 | device_name 2518 | hw:10,1 2519 | 2520 | 2521 | ok_to_block 2522 | True 2523 | 2524 | 2525 | num_outputs 2526 | 1 2527 | 2528 | 2529 | alias 2530 | 2531 | 2532 | 2533 | affinity 2534 | 2535 | 2536 | 2537 | minoutbuf 2538 | 0 2539 | 2540 | 2541 | maxoutbuf 2542 | 0 2543 | 2544 | 2545 | comment 2546 | 2547 | 2548 | 2549 | _coordinate 2550 | (8, 355) 2551 | 2552 | 2553 | _rotation 2554 | 0 2555 | 2556 | 2557 | 2558 | analog_nbfm_tx 2559 | 2560 | id 2561 | analog_nbfm_tx_0 2562 | 2563 | 2564 | _enabled 2565 | True 2566 | 2567 | 2568 | audio_rate 2569 | int(audio_rate) 2570 | 2571 | 2572 | quad_rate 2573 | int(out_intermediary_rate) 2574 | 2575 | 2576 | tau 2577 | 0 2578 | 2579 | 2580 | max_dev 2581 | dstar_bandwidth 2582 | 2583 | 2584 | alias 2585 | 2586 | 2587 | 2588 | affinity 2589 | 2590 | 2591 | 2592 | minoutbuf 2593 | 0 2594 | 2595 | 2596 | maxoutbuf 2597 | 0 2598 | 2599 | 2600 | comment 2601 | 2602 | 2603 | 2604 | _coordinate 2605 | (712, 344) 2606 | 2607 | 2608 | _rotation 2609 | 0 2610 | 2611 | 2612 | 2613 | freq_xlating_fft_filter_ccc 2614 | 2615 | id 2616 | freq_xlating_fft_filter_ccc_0 2617 | 2618 | 2619 | _enabled 2620 | True 2621 | 2622 | 2623 | decim 2624 | 1 2625 | 2626 | 2627 | taps 2628 | 1 2629 | 2630 | 2631 | center_freq 2632 | 0-out_frequency_offset 2633 | 2634 | 2635 | samp_rate 2636 | out_intermediary_rate 2637 | 2638 | 2639 | samp_delay 2640 | 0 2641 | 2642 | 2643 | nthreads 2644 | 1 2645 | 2646 | 2647 | alias 2648 | 2649 | 2650 | 2651 | affinity 2652 | 2653 | 2654 | 2655 | minoutbuf 2656 | 0 2657 | 2658 | 2659 | maxoutbuf 2660 | 0 2661 | 2662 | 2663 | comment 2664 | 2665 | 2666 | 2667 | _coordinate 2668 | (184, 451) 2669 | 2670 | 2671 | _rotation 2672 | 0 2673 | 2674 | 2675 | 2676 | rational_resampler_xxx 2677 | 2678 | id 2679 | rational_resampler_xxx_3 2680 | 2681 | 2682 | _enabled 2683 | True 2684 | 2685 | 2686 | type 2687 | ccc 2688 | 2689 | 2690 | interp 2691 | int(hackrf_rate) 2692 | 2693 | 2694 | decim 2695 | out_intermediary_rate 2696 | 2697 | 2698 | taps 2699 | 2700 | 2701 | 2702 | fbw 2703 | 0 2704 | 2705 | 2706 | alias 2707 | 2708 | 2709 | 2710 | affinity 2711 | 2712 | 2713 | 2714 | minoutbuf 2715 | 0 2716 | 2717 | 2718 | maxoutbuf 2719 | 0 2720 | 2721 | 2722 | comment 2723 | 2724 | 2725 | 2726 | _coordinate 2727 | (384, 456) 2728 | 2729 | 2730 | _rotation 2731 | 0 2732 | 2733 | 2734 | 2735 | osmosdr_sink 2736 | 2737 | id 2738 | osmosdr_sink_0 2739 | 2740 | 2741 | _enabled 2742 | True 2743 | 2744 | 2745 | type 2746 | fc32 2747 | 2748 | 2749 | args 2750 | 2751 | 2752 | 2753 | sync 2754 | 2755 | 2756 | 2757 | num_mboards 2758 | 1 2759 | 2760 | 2761 | clock_source0 2762 | 2763 | 2764 | 2765 | time_source0 2766 | 2767 | 2768 | 2769 | clock_source1 2770 | 2771 | 2772 | 2773 | time_source1 2774 | 2775 | 2776 | 2777 | clock_source2 2778 | 2779 | 2780 | 2781 | time_source2 2782 | 2783 | 2784 | 2785 | clock_source3 2786 | 2787 | 2788 | 2789 | time_source3 2790 | 2791 | 2792 | 2793 | clock_source4 2794 | 2795 | 2796 | 2797 | time_source4 2798 | 2799 | 2800 | 2801 | clock_source5 2802 | 2803 | 2804 | 2805 | time_source5 2806 | 2807 | 2808 | 2809 | clock_source6 2810 | 2811 | 2812 | 2813 | time_source6 2814 | 2815 | 2816 | 2817 | clock_source7 2818 | 2819 | 2820 | 2821 | time_source7 2822 | 2823 | 2824 | 2825 | nchan 2826 | 1 2827 | 2828 | 2829 | sample_rate 2830 | hackrf_rate 2831 | 2832 | 2833 | freq0 2834 | out_frequency-out_frequency_offset 2835 | 2836 | 2837 | corr0 2838 | 4 2839 | 2840 | 2841 | gain0 2842 | 14 2843 | 2844 | 2845 | if_gain0 2846 | 0 2847 | 2848 | 2849 | bb_gain0 2850 | 0 2851 | 2852 | 2853 | ant0 2854 | 0 2855 | 2856 | 2857 | bw0 2858 | 100e3 2859 | 2860 | 2861 | freq1 2862 | 100e6 2863 | 2864 | 2865 | corr1 2866 | 0 2867 | 2868 | 2869 | gain1 2870 | 10 2871 | 2872 | 2873 | if_gain1 2874 | 20 2875 | 2876 | 2877 | bb_gain1 2878 | 20 2879 | 2880 | 2881 | ant1 2882 | 2883 | 2884 | 2885 | bw1 2886 | 0 2887 | 2888 | 2889 | freq2 2890 | 100e6 2891 | 2892 | 2893 | corr2 2894 | 0 2895 | 2896 | 2897 | gain2 2898 | 10 2899 | 2900 | 2901 | if_gain2 2902 | 20 2903 | 2904 | 2905 | bb_gain2 2906 | 20 2907 | 2908 | 2909 | ant2 2910 | 2911 | 2912 | 2913 | bw2 2914 | 0 2915 | 2916 | 2917 | freq3 2918 | 100e6 2919 | 2920 | 2921 | corr3 2922 | 0 2923 | 2924 | 2925 | gain3 2926 | 10 2927 | 2928 | 2929 | if_gain3 2930 | 20 2931 | 2932 | 2933 | bb_gain3 2934 | 20 2935 | 2936 | 2937 | ant3 2938 | 2939 | 2940 | 2941 | bw3 2942 | 0 2943 | 2944 | 2945 | freq4 2946 | 100e6 2947 | 2948 | 2949 | corr4 2950 | 0 2951 | 2952 | 2953 | gain4 2954 | 10 2955 | 2956 | 2957 | if_gain4 2958 | 20 2959 | 2960 | 2961 | bb_gain4 2962 | 20 2963 | 2964 | 2965 | ant4 2966 | 2967 | 2968 | 2969 | bw4 2970 | 0 2971 | 2972 | 2973 | freq5 2974 | 100e6 2975 | 2976 | 2977 | corr5 2978 | 0 2979 | 2980 | 2981 | gain5 2982 | 10 2983 | 2984 | 2985 | if_gain5 2986 | 20 2987 | 2988 | 2989 | bb_gain5 2990 | 20 2991 | 2992 | 2993 | ant5 2994 | 2995 | 2996 | 2997 | bw5 2998 | 0 2999 | 3000 | 3001 | freq6 3002 | 100e6 3003 | 3004 | 3005 | corr6 3006 | 0 3007 | 3008 | 3009 | gain6 3010 | 10 3011 | 3012 | 3013 | if_gain6 3014 | 20 3015 | 3016 | 3017 | bb_gain6 3018 | 20 3019 | 3020 | 3021 | ant6 3022 | 3023 | 3024 | 3025 | bw6 3026 | 0 3027 | 3028 | 3029 | freq7 3030 | 100e6 3031 | 3032 | 3033 | corr7 3034 | 0 3035 | 3036 | 3037 | gain7 3038 | 10 3039 | 3040 | 3041 | if_gain7 3042 | 20 3043 | 3044 | 3045 | bb_gain7 3046 | 20 3047 | 3048 | 3049 | ant7 3050 | 3051 | 3052 | 3053 | bw7 3054 | 0 3055 | 3056 | 3057 | freq8 3058 | 100e6 3059 | 3060 | 3061 | corr8 3062 | 0 3063 | 3064 | 3065 | gain8 3066 | 10 3067 | 3068 | 3069 | if_gain8 3070 | 20 3071 | 3072 | 3073 | bb_gain8 3074 | 20 3075 | 3076 | 3077 | ant8 3078 | 3079 | 3080 | 3081 | bw8 3082 | 0 3083 | 3084 | 3085 | freq9 3086 | 100e6 3087 | 3088 | 3089 | corr9 3090 | 0 3091 | 3092 | 3093 | gain9 3094 | 10 3095 | 3096 | 3097 | if_gain9 3098 | 20 3099 | 3100 | 3101 | bb_gain9 3102 | 20 3103 | 3104 | 3105 | ant9 3106 | 3107 | 3108 | 3109 | bw9 3110 | 0 3111 | 3112 | 3113 | freq10 3114 | 100e6 3115 | 3116 | 3117 | corr10 3118 | 0 3119 | 3120 | 3121 | gain10 3122 | 10 3123 | 3124 | 3125 | if_gain10 3126 | 20 3127 | 3128 | 3129 | bb_gain10 3130 | 20 3131 | 3132 | 3133 | ant10 3134 | 3135 | 3136 | 3137 | bw10 3138 | 0 3139 | 3140 | 3141 | freq11 3142 | 100e6 3143 | 3144 | 3145 | corr11 3146 | 0 3147 | 3148 | 3149 | gain11 3150 | 10 3151 | 3152 | 3153 | if_gain11 3154 | 20 3155 | 3156 | 3157 | bb_gain11 3158 | 20 3159 | 3160 | 3161 | ant11 3162 | 3163 | 3164 | 3165 | bw11 3166 | 0 3167 | 3168 | 3169 | freq12 3170 | 100e6 3171 | 3172 | 3173 | corr12 3174 | 0 3175 | 3176 | 3177 | gain12 3178 | 10 3179 | 3180 | 3181 | if_gain12 3182 | 20 3183 | 3184 | 3185 | bb_gain12 3186 | 20 3187 | 3188 | 3189 | ant12 3190 | 3191 | 3192 | 3193 | bw12 3194 | 0 3195 | 3196 | 3197 | freq13 3198 | 100e6 3199 | 3200 | 3201 | corr13 3202 | 0 3203 | 3204 | 3205 | gain13 3206 | 10 3207 | 3208 | 3209 | if_gain13 3210 | 20 3211 | 3212 | 3213 | bb_gain13 3214 | 20 3215 | 3216 | 3217 | ant13 3218 | 3219 | 3220 | 3221 | bw13 3222 | 0 3223 | 3224 | 3225 | freq14 3226 | 100e6 3227 | 3228 | 3229 | corr14 3230 | 0 3231 | 3232 | 3233 | gain14 3234 | 10 3235 | 3236 | 3237 | if_gain14 3238 | 20 3239 | 3240 | 3241 | bb_gain14 3242 | 20 3243 | 3244 | 3245 | ant14 3246 | 3247 | 3248 | 3249 | bw14 3250 | 0 3251 | 3252 | 3253 | freq15 3254 | 100e6 3255 | 3256 | 3257 | corr15 3258 | 0 3259 | 3260 | 3261 | gain15 3262 | 10 3263 | 3264 | 3265 | if_gain15 3266 | 20 3267 | 3268 | 3269 | bb_gain15 3270 | 20 3271 | 3272 | 3273 | ant15 3274 | 3275 | 3276 | 3277 | bw15 3278 | 0 3279 | 3280 | 3281 | freq16 3282 | 100e6 3283 | 3284 | 3285 | corr16 3286 | 0 3287 | 3288 | 3289 | gain16 3290 | 10 3291 | 3292 | 3293 | if_gain16 3294 | 20 3295 | 3296 | 3297 | bb_gain16 3298 | 20 3299 | 3300 | 3301 | ant16 3302 | 3303 | 3304 | 3305 | bw16 3306 | 0 3307 | 3308 | 3309 | freq17 3310 | 100e6 3311 | 3312 | 3313 | corr17 3314 | 0 3315 | 3316 | 3317 | gain17 3318 | 10 3319 | 3320 | 3321 | if_gain17 3322 | 20 3323 | 3324 | 3325 | bb_gain17 3326 | 20 3327 | 3328 | 3329 | ant17 3330 | 3331 | 3332 | 3333 | bw17 3334 | 0 3335 | 3336 | 3337 | freq18 3338 | 100e6 3339 | 3340 | 3341 | corr18 3342 | 0 3343 | 3344 | 3345 | gain18 3346 | 10 3347 | 3348 | 3349 | if_gain18 3350 | 20 3351 | 3352 | 3353 | bb_gain18 3354 | 20 3355 | 3356 | 3357 | ant18 3358 | 3359 | 3360 | 3361 | bw18 3362 | 0 3363 | 3364 | 3365 | freq19 3366 | 100e6 3367 | 3368 | 3369 | corr19 3370 | 0 3371 | 3372 | 3373 | gain19 3374 | 10 3375 | 3376 | 3377 | if_gain19 3378 | 20 3379 | 3380 | 3381 | bb_gain19 3382 | 20 3383 | 3384 | 3385 | ant19 3386 | 3387 | 3388 | 3389 | bw19 3390 | 0 3391 | 3392 | 3393 | freq20 3394 | 100e6 3395 | 3396 | 3397 | corr20 3398 | 0 3399 | 3400 | 3401 | gain20 3402 | 10 3403 | 3404 | 3405 | if_gain20 3406 | 20 3407 | 3408 | 3409 | bb_gain20 3410 | 20 3411 | 3412 | 3413 | ant20 3414 | 3415 | 3416 | 3417 | bw20 3418 | 0 3419 | 3420 | 3421 | freq21 3422 | 100e6 3423 | 3424 | 3425 | corr21 3426 | 0 3427 | 3428 | 3429 | gain21 3430 | 10 3431 | 3432 | 3433 | if_gain21 3434 | 20 3435 | 3436 | 3437 | bb_gain21 3438 | 20 3439 | 3440 | 3441 | ant21 3442 | 3443 | 3444 | 3445 | bw21 3446 | 0 3447 | 3448 | 3449 | freq22 3450 | 100e6 3451 | 3452 | 3453 | corr22 3454 | 0 3455 | 3456 | 3457 | gain22 3458 | 10 3459 | 3460 | 3461 | if_gain22 3462 | 20 3463 | 3464 | 3465 | bb_gain22 3466 | 20 3467 | 3468 | 3469 | ant22 3470 | 3471 | 3472 | 3473 | bw22 3474 | 0 3475 | 3476 | 3477 | freq23 3478 | 100e6 3479 | 3480 | 3481 | corr23 3482 | 0 3483 | 3484 | 3485 | gain23 3486 | 10 3487 | 3488 | 3489 | if_gain23 3490 | 20 3491 | 3492 | 3493 | bb_gain23 3494 | 20 3495 | 3496 | 3497 | ant23 3498 | 3499 | 3500 | 3501 | bw23 3502 | 0 3503 | 3504 | 3505 | freq24 3506 | 100e6 3507 | 3508 | 3509 | corr24 3510 | 0 3511 | 3512 | 3513 | gain24 3514 | 10 3515 | 3516 | 3517 | if_gain24 3518 | 20 3519 | 3520 | 3521 | bb_gain24 3522 | 20 3523 | 3524 | 3525 | ant24 3526 | 3527 | 3528 | 3529 | bw24 3530 | 0 3531 | 3532 | 3533 | freq25 3534 | 100e6 3535 | 3536 | 3537 | corr25 3538 | 0 3539 | 3540 | 3541 | gain25 3542 | 10 3543 | 3544 | 3545 | if_gain25 3546 | 20 3547 | 3548 | 3549 | bb_gain25 3550 | 20 3551 | 3552 | 3553 | ant25 3554 | 3555 | 3556 | 3557 | bw25 3558 | 0 3559 | 3560 | 3561 | freq26 3562 | 100e6 3563 | 3564 | 3565 | corr26 3566 | 0 3567 | 3568 | 3569 | gain26 3570 | 10 3571 | 3572 | 3573 | if_gain26 3574 | 20 3575 | 3576 | 3577 | bb_gain26 3578 | 20 3579 | 3580 | 3581 | ant26 3582 | 3583 | 3584 | 3585 | bw26 3586 | 0 3587 | 3588 | 3589 | freq27 3590 | 100e6 3591 | 3592 | 3593 | corr27 3594 | 0 3595 | 3596 | 3597 | gain27 3598 | 10 3599 | 3600 | 3601 | if_gain27 3602 | 20 3603 | 3604 | 3605 | bb_gain27 3606 | 20 3607 | 3608 | 3609 | ant27 3610 | 3611 | 3612 | 3613 | bw27 3614 | 0 3615 | 3616 | 3617 | freq28 3618 | 100e6 3619 | 3620 | 3621 | corr28 3622 | 0 3623 | 3624 | 3625 | gain28 3626 | 10 3627 | 3628 | 3629 | if_gain28 3630 | 20 3631 | 3632 | 3633 | bb_gain28 3634 | 20 3635 | 3636 | 3637 | ant28 3638 | 3639 | 3640 | 3641 | bw28 3642 | 0 3643 | 3644 | 3645 | freq29 3646 | 100e6 3647 | 3648 | 3649 | corr29 3650 | 0 3651 | 3652 | 3653 | gain29 3654 | 10 3655 | 3656 | 3657 | if_gain29 3658 | 20 3659 | 3660 | 3661 | bb_gain29 3662 | 20 3663 | 3664 | 3665 | ant29 3666 | 3667 | 3668 | 3669 | bw29 3670 | 0 3671 | 3672 | 3673 | freq30 3674 | 100e6 3675 | 3676 | 3677 | corr30 3678 | 0 3679 | 3680 | 3681 | gain30 3682 | 10 3683 | 3684 | 3685 | if_gain30 3686 | 20 3687 | 3688 | 3689 | bb_gain30 3690 | 20 3691 | 3692 | 3693 | ant30 3694 | 3695 | 3696 | 3697 | bw30 3698 | 0 3699 | 3700 | 3701 | freq31 3702 | 100e6 3703 | 3704 | 3705 | corr31 3706 | 0 3707 | 3708 | 3709 | gain31 3710 | 10 3711 | 3712 | 3713 | if_gain31 3714 | 20 3715 | 3716 | 3717 | bb_gain31 3718 | 20 3719 | 3720 | 3721 | ant31 3722 | 3723 | 3724 | 3725 | bw31 3726 | 0 3727 | 3728 | 3729 | alias 3730 | 3731 | 3732 | 3733 | affinity 3734 | 3735 | 3736 | 3737 | comment 3738 | 3739 | 3740 | 3741 | _coordinate 3742 | (568, 435) 3743 | 3744 | 3745 | _rotation 3746 | 0 3747 | 3748 | 3749 | 3750 | blocks_multiply_const_vxx_1 3751 | audio_sink_1 3752 | 0 3753 | 0 3754 | 3755 | 3756 | analog_nbfm_rx_0 3757 | blocks_multiply_const_vxx_1 3758 | 0 3759 | 0 3760 | 3761 | 3762 | analog_pwr_squelch_xx_1 3763 | analog_nbfm_rx_0 3764 | 0 3765 | 0 3766 | 3767 | 3768 | low_pass_filter_1 3769 | analog_pwr_squelch_xx_1 3770 | 0 3771 | 0 3772 | 3773 | 3774 | rtlsdr_source_0 3775 | low_pass_filter_1 3776 | 0 3777 | 0 3778 | 3779 | 3780 | blocks_multiply_const_vxx_2 3781 | low_pass_filter_0 3782 | 0 3783 | 0 3784 | 3785 | 3786 | analog_pwr_squelch_xx_0 3787 | blocks_multiply_const_vxx_2 3788 | 0 3789 | 0 3790 | 3791 | 3792 | dc_blocker_xx_0 3793 | analog_pwr_squelch_xx_0 3794 | 0 3795 | 0 3796 | 3797 | 3798 | audio_source_0 3799 | dc_blocker_xx_0 3800 | 0 3801 | 0 3802 | 3803 | 3804 | low_pass_filter_0 3805 | analog_nbfm_tx_0 3806 | 0 3807 | 0 3808 | 3809 | 3810 | analog_nbfm_tx_0 3811 | freq_xlating_fft_filter_ccc_0 3812 | 0 3813 | 0 3814 | 3815 | 3816 | rational_resampler_xxx_3 3817 | osmosdr_sink_0 3818 | 0 3819 | 0 3820 | 3821 | 3822 | freq_xlating_fft_filter_ccc_0 3823 | rational_resampler_xxx_3 3824 | 0 3825 | 0 3826 | 3827 | 3828 | -------------------------------------------------------------------------------- /hackrf_rtlsdr_soundcard_adapter.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python2 2 | ################################################## 3 | # GNU Radio Python Flow Graph 4 | # Title: Top Block 5 | # Generated: Sat Nov 7 02:37:58 2015 6 | ################################################## 7 | 8 | from gnuradio import analog 9 | from gnuradio import audio 10 | from gnuradio import blocks 11 | from gnuradio import eng_notation 12 | from gnuradio import filter 13 | from gnuradio import gr 14 | from gnuradio.eng_option import eng_option 15 | from gnuradio.filter import firdes 16 | from optparse import OptionParser 17 | import osmosdr 18 | import time 19 | 20 | class top_block(gr.top_block): 21 | 22 | def __init__(self): 23 | gr.top_block.__init__(self, "Top Block") 24 | 25 | ################################################## 26 | # Variables 27 | ################################################## 28 | self.audio_rate = audio_rate = int(48e3) 29 | self.rtl_rate = rtl_rate = int(240e3) 30 | self.out_intermediary_rate = out_intermediary_rate = audio_rate*4 31 | self.out_gain = out_gain = .25 32 | self.out_frequency_offset = out_frequency_offset = -50e3 33 | self.out_frequency = out_frequency = 145.521e6 34 | self.out_audio_inverted = out_audio_inverted = True 35 | self.in_frequency_offset = in_frequency_offset = 0 36 | self.in_frequency = in_frequency = 145.551e6 37 | self.in_final_gain = in_final_gain = 0.5 38 | self.in_decimation_factor = in_decimation_factor = 8 39 | self.in_audio_inverted = in_audio_inverted = True 40 | self.hackrf_rate = hackrf_rate = 2e6 41 | self.dstar_bandwidth = dstar_bandwidth = 6.5e3 42 | 43 | ################################################## 44 | # Blocks 45 | ################################################## 46 | self.rtlsdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + "" ) 47 | self.rtlsdr_source_0.set_sample_rate(rtl_rate) 48 | self.rtlsdr_source_0.set_center_freq(in_frequency+in_frequency_offset, 0) 49 | self.rtlsdr_source_0.set_freq_corr(69, 0) 50 | self.rtlsdr_source_0.set_dc_offset_mode(0, 0) 51 | self.rtlsdr_source_0.set_iq_balance_mode(0, 0) 52 | self.rtlsdr_source_0.set_gain_mode(False, 0) 53 | self.rtlsdr_source_0.set_gain(10, 0) 54 | self.rtlsdr_source_0.set_if_gain(20, 0) 55 | self.rtlsdr_source_0.set_bb_gain(20, 0) 56 | self.rtlsdr_source_0.set_antenna("", 0) 57 | self.rtlsdr_source_0.set_bandwidth(0, 0) 58 | 59 | self.rational_resampler_xxx_3 = filter.rational_resampler_ccc( 60 | interpolation=int(hackrf_rate), 61 | decimation=out_intermediary_rate, 62 | taps=None, 63 | fractional_bw=None, 64 | ) 65 | self.osmosdr_sink_0 = osmosdr.sink( args="numchan=" + str(1) + " " + "" ) 66 | self.osmosdr_sink_0.set_sample_rate(hackrf_rate) 67 | self.osmosdr_sink_0.set_center_freq(out_frequency-out_frequency_offset, 0) 68 | self.osmosdr_sink_0.set_freq_corr(4, 0) 69 | self.osmosdr_sink_0.set_gain(14, 0) 70 | self.osmosdr_sink_0.set_if_gain(0, 0) 71 | self.osmosdr_sink_0.set_bb_gain(0, 0) 72 | self.osmosdr_sink_0.set_antenna("0", 0) 73 | self.osmosdr_sink_0.set_bandwidth(100e3, 0) 74 | 75 | self.low_pass_filter_1 = filter.fir_filter_ccf(5, firdes.low_pass( 76 | 1, rtl_rate, dstar_bandwidth*2, 500, firdes.WIN_HAMMING, 6.76)) 77 | self.low_pass_filter_0 = filter.fir_filter_fff(1, firdes.low_pass( 78 | 1, audio_rate, dstar_bandwidth*2, 200, firdes.WIN_KAISER, 6.76)) 79 | self.freq_xlating_fft_filter_ccc_0 = filter.freq_xlating_fft_filter_ccc(1, (1, ), 0-out_frequency_offset, out_intermediary_rate) 80 | self.freq_xlating_fft_filter_ccc_0.set_nthreads(1) 81 | self.freq_xlating_fft_filter_ccc_0.declare_sample_delay(0) 82 | self.dc_blocker_xx_0 = filter.dc_blocker_ff(128, True) 83 | self.blocks_multiply_const_vxx_2 = blocks.multiply_const_vff(((-1 if out_audio_inverted else 1)*out_gain, )) 84 | self.blocks_multiply_const_vxx_1 = blocks.multiply_const_vff((0-in_final_gain if in_audio_inverted else in_final_gain, )) 85 | self.audio_source_0 = audio.source(audio_rate, "hw:10,1", True) 86 | self.audio_sink_1 = audio.sink(audio_rate, "plughw:11,0", True) 87 | self.analog_pwr_squelch_xx_1 = analog.pwr_squelch_cc(-30, 1, 1, False) 88 | self.analog_pwr_squelch_xx_0 = analog.pwr_squelch_ff(-60, 1, 1, True) 89 | self.analog_nbfm_tx_0 = analog.nbfm_tx( 90 | audio_rate=int(audio_rate), 91 | quad_rate=int(out_intermediary_rate), 92 | tau=0, 93 | max_dev=dstar_bandwidth, 94 | ) 95 | self.analog_nbfm_rx_0 = analog.nbfm_rx( 96 | audio_rate=audio_rate, 97 | quad_rate=audio_rate, 98 | tau=0.000000000000000000001, 99 | max_dev=dstar_bandwidth*2, 100 | ) 101 | 102 | ################################################## 103 | # Connections 104 | ################################################## 105 | self.connect((self.analog_nbfm_rx_0, 0), (self.blocks_multiply_const_vxx_1, 0)) 106 | self.connect((self.analog_nbfm_tx_0, 0), (self.freq_xlating_fft_filter_ccc_0, 0)) 107 | self.connect((self.analog_pwr_squelch_xx_0, 0), (self.blocks_multiply_const_vxx_2, 0)) 108 | self.connect((self.analog_pwr_squelch_xx_1, 0), (self.analog_nbfm_rx_0, 0)) 109 | self.connect((self.audio_source_0, 0), (self.dc_blocker_xx_0, 0)) 110 | self.connect((self.blocks_multiply_const_vxx_1, 0), (self.audio_sink_1, 0)) 111 | self.connect((self.blocks_multiply_const_vxx_2, 0), (self.low_pass_filter_0, 0)) 112 | self.connect((self.dc_blocker_xx_0, 0), (self.analog_pwr_squelch_xx_0, 0)) 113 | self.connect((self.freq_xlating_fft_filter_ccc_0, 0), (self.rational_resampler_xxx_3, 0)) 114 | self.connect((self.low_pass_filter_0, 0), (self.analog_nbfm_tx_0, 0)) 115 | self.connect((self.low_pass_filter_1, 0), (self.analog_pwr_squelch_xx_1, 0)) 116 | self.connect((self.rational_resampler_xxx_3, 0), (self.osmosdr_sink_0, 0)) 117 | self.connect((self.rtlsdr_source_0, 0), (self.low_pass_filter_1, 0)) 118 | 119 | 120 | def get_audio_rate(self): 121 | return self.audio_rate 122 | 123 | def set_audio_rate(self, audio_rate): 124 | self.audio_rate = audio_rate 125 | self.set_out_intermediary_rate(self.audio_rate*4) 126 | self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.audio_rate, self.dstar_bandwidth*2, 200, firdes.WIN_KAISER, 6.76)) 127 | 128 | def get_rtl_rate(self): 129 | return self.rtl_rate 130 | 131 | def set_rtl_rate(self, rtl_rate): 132 | self.rtl_rate = rtl_rate 133 | self.rtlsdr_source_0.set_sample_rate(self.rtl_rate) 134 | self.low_pass_filter_1.set_taps(firdes.low_pass(1, self.rtl_rate, self.dstar_bandwidth*2, 500, firdes.WIN_HAMMING, 6.76)) 135 | 136 | def get_out_intermediary_rate(self): 137 | return self.out_intermediary_rate 138 | 139 | def set_out_intermediary_rate(self, out_intermediary_rate): 140 | self.out_intermediary_rate = out_intermediary_rate 141 | 142 | def get_out_gain(self): 143 | return self.out_gain 144 | 145 | def set_out_gain(self, out_gain): 146 | self.out_gain = out_gain 147 | self.blocks_multiply_const_vxx_2.set_k(((-1 if self.out_audio_inverted else 1)*self.out_gain, )) 148 | 149 | def get_out_frequency_offset(self): 150 | return self.out_frequency_offset 151 | 152 | def set_out_frequency_offset(self, out_frequency_offset): 153 | self.out_frequency_offset = out_frequency_offset 154 | self.freq_xlating_fft_filter_ccc_0.set_center_freq(0-self.out_frequency_offset) 155 | self.osmosdr_sink_0.set_center_freq(self.out_frequency-self.out_frequency_offset, 0) 156 | 157 | def get_out_frequency(self): 158 | return self.out_frequency 159 | 160 | def set_out_frequency(self, out_frequency): 161 | self.out_frequency = out_frequency 162 | self.osmosdr_sink_0.set_center_freq(self.out_frequency-self.out_frequency_offset, 0) 163 | 164 | def get_out_audio_inverted(self): 165 | return self.out_audio_inverted 166 | 167 | def set_out_audio_inverted(self, out_audio_inverted): 168 | self.out_audio_inverted = out_audio_inverted 169 | self.blocks_multiply_const_vxx_2.set_k(((-1 if self.out_audio_inverted else 1)*self.out_gain, )) 170 | 171 | def get_in_frequency_offset(self): 172 | return self.in_frequency_offset 173 | 174 | def set_in_frequency_offset(self, in_frequency_offset): 175 | self.in_frequency_offset = in_frequency_offset 176 | self.rtlsdr_source_0.set_center_freq(self.in_frequency+self.in_frequency_offset, 0) 177 | 178 | def get_in_frequency(self): 179 | return self.in_frequency 180 | 181 | def set_in_frequency(self, in_frequency): 182 | self.in_frequency = in_frequency 183 | self.rtlsdr_source_0.set_center_freq(self.in_frequency+self.in_frequency_offset, 0) 184 | 185 | def get_in_final_gain(self): 186 | return self.in_final_gain 187 | 188 | def set_in_final_gain(self, in_final_gain): 189 | self.in_final_gain = in_final_gain 190 | self.blocks_multiply_const_vxx_1.set_k((0-self.in_final_gain if self.in_audio_inverted else self.in_final_gain, )) 191 | 192 | def get_in_decimation_factor(self): 193 | return self.in_decimation_factor 194 | 195 | def set_in_decimation_factor(self, in_decimation_factor): 196 | self.in_decimation_factor = in_decimation_factor 197 | 198 | def get_in_audio_inverted(self): 199 | return self.in_audio_inverted 200 | 201 | def set_in_audio_inverted(self, in_audio_inverted): 202 | self.in_audio_inverted = in_audio_inverted 203 | self.blocks_multiply_const_vxx_1.set_k((0-self.in_final_gain if self.in_audio_inverted else self.in_final_gain, )) 204 | 205 | def get_hackrf_rate(self): 206 | return self.hackrf_rate 207 | 208 | def set_hackrf_rate(self, hackrf_rate): 209 | self.hackrf_rate = hackrf_rate 210 | self.osmosdr_sink_0.set_sample_rate(self.hackrf_rate) 211 | 212 | def get_dstar_bandwidth(self): 213 | return self.dstar_bandwidth 214 | 215 | def set_dstar_bandwidth(self, dstar_bandwidth): 216 | self.dstar_bandwidth = dstar_bandwidth 217 | self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.audio_rate, self.dstar_bandwidth*2, 200, firdes.WIN_KAISER, 6.76)) 218 | self.low_pass_filter_1.set_taps(firdes.low_pass(1, self.rtl_rate, self.dstar_bandwidth*2, 500, firdes.WIN_HAMMING, 6.76)) 219 | 220 | 221 | if __name__ == '__main__': 222 | parser = OptionParser(option_class=eng_option, usage="%prog: [options]") 223 | (options, args) = parser.parse_args() 224 | tb = top_block() 225 | tb.start() 226 | tb.wait() 227 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Hackrf/RTLSDR Soundcard Adapter for OpenDV 2 | 3 | ![](http://coddingtonbear-public.s3.amazonaws.com/github/grc-hackrf-rtlsdr-opendv-soundcard-adapter/rendered_block_diagram_aloop.png) 4 | 5 | Have a HackRF and an RTLSDR and want to set up your own local D-Star HotSpot? Using the above flow graph and the help of OpenDV, you can do this pretty easily. The above approach can be used for other "9600-baud" data transmission modes, but you may need to adjust the filter settings. 6 | 7 | Resources: 8 | 9 | * [OpenDV on Github](https://github.com/dl5di/OpenDV) 10 | * [PcRepeaterController Group on Yahoo](https://groups.yahoo.com/neo/groups/pcrepeatercontroller/info) 11 | * [IrcDDBGateway Group on Yahoo](https://groups.yahoo.com/neo/groups/ircDDBGateway/info) 12 | * If you're attempting this on OSX rather than Linux; check out an earlier version of this script in the `osx_version` branch. 13 | 14 | -------------------------------------------------------------------------------- /test.grc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sun Oct 25 16:14:11 2015 5 | 6 | options 7 | 8 | id 9 | top_block 10 | 11 | 12 | _enabled 13 | True 14 | 15 | 16 | title 17 | 18 | 19 | 20 | author 21 | 22 | 23 | 24 | description 25 | 26 | 27 | 28 | window_size 29 | 1280, 1024 30 | 31 | 32 | generate_options 33 | qt_gui 34 | 35 | 36 | category 37 | Custom 38 | 39 | 40 | run_options 41 | prompt 42 | 43 | 44 | run 45 | True 46 | 47 | 48 | max_nouts 49 | 0 50 | 51 | 52 | realtime_scheduling 53 | 54 | 55 | 56 | thread_safe_setters 57 | 58 | 59 | 60 | alias 61 | 62 | 63 | 64 | comment 65 | 66 | 67 | 68 | _coordinate 69 | (10, 10) 70 | 71 | 72 | _rotation 73 | 0 74 | 75 | 76 | 77 | variable 78 | 79 | id 80 | samp_rate 81 | 82 | 83 | _enabled 84 | True 85 | 86 | 87 | value 88 | 48000 89 | 90 | 91 | alias 92 | 93 | 94 | 95 | comment 96 | 97 | 98 | 99 | _coordinate 100 | (10, 170) 101 | 102 | 103 | _rotation 104 | 0 105 | 106 | 107 | 108 | qtgui_sink_x 109 | 110 | id 111 | qtgui_sink_x_0 112 | 113 | 114 | _enabled 115 | True 116 | 117 | 118 | type 119 | float 120 | 121 | 122 | name 123 | "" 124 | 125 | 126 | fftsize 127 | 1024 128 | 129 | 130 | wintype 131 | firdes.WIN_BLACKMAN_hARRIS 132 | 133 | 134 | fc 135 | 0 136 | 137 | 138 | bw 139 | samp_rate 140 | 141 | 142 | rate 143 | 10 144 | 145 | 146 | showrf 147 | False 148 | 149 | 150 | plotfreq 151 | True 152 | 153 | 154 | plotwaterfall 155 | True 156 | 157 | 158 | plottime 159 | True 160 | 161 | 162 | plotconst 163 | True 164 | 165 | 166 | gui_hint 167 | 168 | 169 | 170 | freqchangevar 171 | None 172 | 173 | 174 | showports 175 | True 176 | 177 | 178 | alias 179 | 180 | 181 | 182 | affinity 183 | 184 | 185 | 186 | minoutbuf 187 | 0 188 | 189 | 190 | maxoutbuf 191 | 0 192 | 193 | 194 | comment 195 | 196 | 197 | 198 | _coordinate 199 | (472, 152) 200 | 201 | 202 | _rotation 203 | 0 204 | 205 | 206 | 207 | qtgui_sink_x 208 | 209 | id 210 | qtgui_sink_x_1 211 | 212 | 213 | _enabled 214 | True 215 | 216 | 217 | type 218 | float 219 | 220 | 221 | name 222 | "" 223 | 224 | 225 | fftsize 226 | 1024 227 | 228 | 229 | wintype 230 | firdes.WIN_BLACKMAN_hARRIS 231 | 232 | 233 | fc 234 | 0 235 | 236 | 237 | bw 238 | samp_rate 239 | 240 | 241 | rate 242 | 10 243 | 244 | 245 | showrf 246 | False 247 | 248 | 249 | plotfreq 250 | True 251 | 252 | 253 | plotwaterfall 254 | True 255 | 256 | 257 | plottime 258 | True 259 | 260 | 261 | plotconst 262 | True 263 | 264 | 265 | gui_hint 266 | 267 | 268 | 269 | freqchangevar 270 | None 271 | 272 | 273 | showports 274 | True 275 | 276 | 277 | alias 278 | 279 | 280 | 281 | affinity 282 | 283 | 284 | 285 | minoutbuf 286 | 0 287 | 288 | 289 | maxoutbuf 290 | 0 291 | 292 | 293 | comment 294 | 295 | 296 | 297 | _coordinate 298 | (472, 232) 299 | 300 | 301 | _rotation 302 | 0 303 | 304 | 305 | 306 | blocks_udp_source 307 | 308 | id 309 | blocks_udp_source_1 310 | 311 | 312 | _enabled 313 | True 314 | 315 | 316 | type 317 | float 318 | 319 | 320 | ipaddr 321 | 0.0.0.0 322 | 323 | 324 | port 325 | 10223 326 | 327 | 328 | psize 329 | 1472 330 | 331 | 332 | eof 333 | True 334 | 335 | 336 | vlen 337 | 1 338 | 339 | 340 | alias 341 | 342 | 343 | 344 | affinity 345 | 346 | 347 | 348 | minoutbuf 349 | 0 350 | 351 | 352 | maxoutbuf 353 | 0 354 | 355 | 356 | comment 357 | 358 | 359 | 360 | _coordinate 361 | (208, 232) 362 | 363 | 364 | _rotation 365 | 0 366 | 367 | 368 | 369 | blocks_udp_source 370 | 371 | id 372 | blocks_udp_source_0 373 | 374 | 375 | _enabled 376 | True 377 | 378 | 379 | type 380 | float 381 | 382 | 383 | ipaddr 384 | 0.0.0.0 385 | 386 | 387 | port 388 | 10224 389 | 390 | 391 | psize 392 | 1472 393 | 394 | 395 | eof 396 | True 397 | 398 | 399 | vlen 400 | 1 401 | 402 | 403 | alias 404 | 405 | 406 | 407 | affinity 408 | 409 | 410 | 411 | minoutbuf 412 | 0 413 | 414 | 415 | maxoutbuf 416 | 0 417 | 418 | 419 | comment 420 | 421 | 422 | 423 | _coordinate 424 | (208, 152) 425 | 426 | 427 | _rotation 428 | 0 429 | 430 | 431 | 432 | dsd_block_ff 433 | 434 | id 435 | dsd_block_ff_0 436 | 437 | 438 | _enabled 439 | True 440 | 441 | 442 | frame 443 | dsd.dsd_FRAME_DSTAR 444 | 445 | 446 | mod 447 | dsd.dsd_MOD_GFSK 448 | 449 | 450 | uvquality 451 | 3 452 | 453 | 454 | errorbars 455 | True 456 | 457 | 458 | verbosity 459 | 2 460 | 461 | 462 | alias 463 | 464 | 465 | 466 | affinity 467 | 468 | 469 | 470 | minoutbuf 471 | 0 472 | 473 | 474 | maxoutbuf 475 | 0 476 | 477 | 478 | comment 479 | 480 | 481 | 482 | _coordinate 483 | (472, 315) 484 | 485 | 486 | _rotation 487 | 0 488 | 489 | 490 | 491 | blocks_null_sink 492 | 493 | id 494 | blocks_null_sink_0 495 | 496 | 497 | _enabled 498 | True 499 | 500 | 501 | type 502 | float 503 | 504 | 505 | vlen 506 | 1 507 | 508 | 509 | num_inputs 510 | 1 511 | 512 | 513 | bus_conns 514 | [[0,],] 515 | 516 | 517 | alias 518 | 519 | 520 | 521 | affinity 522 | 523 | 524 | 525 | comment 526 | 527 | 528 | 529 | _coordinate 530 | (680, 325) 531 | 532 | 533 | _rotation 534 | 0 535 | 536 | 537 | 538 | blocks_null_sink 539 | 540 | id 541 | blocks_null_sink_1 542 | 543 | 544 | _enabled 545 | True 546 | 547 | 548 | type 549 | float 550 | 551 | 552 | vlen 553 | 1 554 | 555 | 556 | num_inputs 557 | 1 558 | 559 | 560 | bus_conns 561 | [[0,],] 562 | 563 | 564 | alias 565 | 566 | 567 | 568 | affinity 569 | 570 | 571 | 572 | comment 573 | 574 | 575 | 576 | _coordinate 577 | (704, 72) 578 | 579 | 580 | _rotation 581 | 0 582 | 583 | 584 | 585 | dsd_block_ff 586 | 587 | id 588 | dsd_block_ff_1 589 | 590 | 591 | _enabled 592 | True 593 | 594 | 595 | frame 596 | dsd.dsd_FRAME_DSTAR 597 | 598 | 599 | mod 600 | dsd.dsd_MOD_GFSK 601 | 602 | 603 | uvquality 604 | 3 605 | 606 | 607 | errorbars 608 | True 609 | 610 | 611 | verbosity 612 | 2 613 | 614 | 615 | alias 616 | 617 | 618 | 619 | affinity 620 | 621 | 622 | 623 | minoutbuf 624 | 0 625 | 626 | 627 | maxoutbuf 628 | 0 629 | 630 | 631 | comment 632 | 633 | 634 | 635 | _coordinate 636 | (472, 59) 637 | 638 | 639 | _rotation 640 | 0 641 | 642 | 643 | 644 | blocks_udp_source_0 645 | qtgui_sink_x_0 646 | 0 647 | 0 648 | 649 | 650 | blocks_udp_source_1 651 | qtgui_sink_x_1 652 | 0 653 | 0 654 | 655 | 656 | blocks_udp_source_1 657 | dsd_block_ff_0 658 | 0 659 | 0 660 | 661 | 662 | blocks_udp_source_0 663 | dsd_block_ff_1 664 | 0 665 | 0 666 | 667 | 668 | dsd_block_ff_0 669 | blocks_null_sink_0 670 | 0 671 | 0 672 | 673 | 674 | dsd_block_ff_1 675 | blocks_null_sink_1 676 | 0 677 | 0 678 | 679 | 680 | --------------------------------------------------------------------------------