14 changed files with 367 additions and 43 deletions
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?> |
||||
<block> |
||||
<name>max_freq</name> |
||||
<key>multirds_max_freq</key> |
||||
<name>station_search</name> |
||||
<key>multirds_station_search</key> |
||||
<category>[multirds]</category> |
||||
<import>import multirds</import> |
||||
<make>multirds.max_freq($fft_len, $num_decoders, $center_freq, $samp_rate,$round_to,$debug)</make> |
||||
<make>multirds.station_search($fft_len, $num_decoders, $center_freq, $samp_rate,$round_to,$debug)</make> |
||||
<!-- Make one 'param' node for every Parameter you want settable from the GUI. |
||||
Sub-nodes: |
||||
* name |
||||
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0"?> |
||||
<block> |
||||
<name>sync_decim</name> |
||||
<key>multirds_sync_decim</key> |
||||
<name>symbol_combiner</name> |
||||
<key>multirds_symbol_combiner</key> |
||||
<category>[multirds]</category> |
||||
<import>import multirds</import> |
||||
<make>multirds.sync_decim($threshold, $min_diff, $log)</make> |
||||
<make>multirds.symbol_combiner($threshold, $min_diff, $log)</make> |
||||
<!-- Make one 'param' node for every Parameter you want settable from the GUI. |
||||
Sub-nodes: |
||||
* name |
||||
@ -0,0 +1,219 @@
|
||||
<?xml version='1.0' encoding='utf-8'?> |
||||
<?grc format='1' created='3.7.11'?> |
||||
<flow_graph> |
||||
<timestamp>Thu Jun 8 13:29:17 2017</timestamp> |
||||
<block> |
||||
<key>options</key> |
||||
<param> |
||||
<key>author</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>window_size</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>category</key> |
||||
<value>[GRC Hier Blocks]</value> |
||||
</param> |
||||
<param> |
||||
<key>comment</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>description</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>_enabled</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>_coordinate</key> |
||||
<value>(8, 8)</value> |
||||
</param> |
||||
<param> |
||||
<key>_rotation</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>generate_options</key> |
||||
<value>qt_gui</value> |
||||
</param> |
||||
<param> |
||||
<key>hier_block_src_path</key> |
||||
<value>.:</value> |
||||
</param> |
||||
<param> |
||||
<key>id</key> |
||||
<value>top_block</value> |
||||
</param> |
||||
<param> |
||||
<key>max_nouts</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>qt_qss_theme</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>realtime_scheduling</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>run_command</key> |
||||
<value>{python} -u {filename}</value> |
||||
</param> |
||||
<param> |
||||
<key>run_options</key> |
||||
<value>prompt</value> |
||||
</param> |
||||
<param> |
||||
<key>run</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>thread_safe_setters</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>title</key> |
||||
<value></value> |
||||
</param> |
||||
</block> |
||||
<block> |
||||
<key>variable</key> |
||||
<param> |
||||
<key>comment</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>_enabled</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>_coordinate</key> |
||||
<value>(8, 160)</value> |
||||
</param> |
||||
<param> |
||||
<key>_rotation</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>id</key> |
||||
<value>samp_rate</value> |
||||
</param> |
||||
<param> |
||||
<key>value</key> |
||||
<value>32000</value> |
||||
</param> |
||||
</block> |
||||
<block> |
||||
<key>blocks_null_source</key> |
||||
<param> |
||||
<key>alias</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>bus_conns</key> |
||||
<value>[[0,],]</value> |
||||
</param> |
||||
<param> |
||||
<key>comment</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>affinity</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>_enabled</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>_coordinate</key> |
||||
<value>(471, 191)</value> |
||||
</param> |
||||
<param> |
||||
<key>_rotation</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>id</key> |
||||
<value>blocks_null_source_0</value> |
||||
</param> |
||||
<param> |
||||
<key>maxoutbuf</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>minoutbuf</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>num_outputs</key> |
||||
<value>1</value> |
||||
</param> |
||||
<param> |
||||
<key>type</key> |
||||
<value>byte</value> |
||||
</param> |
||||
<param> |
||||
<key>vlen</key> |
||||
<value>1</value> |
||||
</param> |
||||
</block> |
||||
<block> |
||||
<key>multirds_rds_decoder_redsea</key> |
||||
<param> |
||||
<key>alias</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>comment</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>affinity</key> |
||||
<value></value> |
||||
</param> |
||||
<param> |
||||
<key>debug</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>_enabled</key> |
||||
<value>True</value> |
||||
</param> |
||||
<param> |
||||
<key>_coordinate</key> |
||||
<value>(662, 111)</value> |
||||
</param> |
||||
<param> |
||||
<key>_rotation</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>id</key> |
||||
<value>multirds_rds_decoder_redsea_0</value> |
||||
</param> |
||||
<param> |
||||
<key>log</key> |
||||
<value>False</value> |
||||
</param> |
||||
<param> |
||||
<key>maxoutbuf</key> |
||||
<value>0</value> |
||||
</param> |
||||
<param> |
||||
<key>minoutbuf</key> |
||||
<value>0</value> |
||||
</param> |
||||
</block> |
||||
<connection> |
||||
<source_block_id>blocks_null_source_0</source_block_id> |
||||
<sink_block_id>multirds_rds_decoder_redsea_0</sink_block_id> |
||||
<source_key>0</source_key> |
||||
<sink_key>0</sink_key> |
||||
</connection> |
||||
</flow_graph> |
||||
@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env python2 |
||||
# -*- coding: utf-8 -*- |
||||
################################################## |
||||
# GNU Radio Python Flow Graph |
||||
# Title: Top Block |
||||
# Generated: Thu Jun 8 13:38:58 2017 |
||||
################################################## |
||||
|
||||
if __name__ == '__main__': |
||||
import ctypes |
||||
import sys |
||||
if sys.platform.startswith('linux'): |
||||
try: |
||||
x11 = ctypes.cdll.LoadLibrary('libX11.so') |
||||
x11.XInitThreads() |
||||
except: |
||||
print "Warning: failed to XInitThreads()" |
||||
|
||||
from PyQt4 import Qt |
||||
from gnuradio import blocks |
||||
from gnuradio import eng_notation |
||||
from gnuradio import gr |
||||
from gnuradio.eng_option import eng_option |
||||
from gnuradio.filter import firdes |
||||
from optparse import OptionParser |
||||
import multirds |
||||
import sys |
||||
from gnuradio import qtgui |
||||
|
||||
|
||||
class top_block(gr.top_block, Qt.QWidget): |
||||
|
||||
def __init__(self): |
||||
gr.top_block.__init__(self, "Top Block") |
||||
Qt.QWidget.__init__(self) |
||||
self.setWindowTitle("Top Block") |
||||
qtgui.util.check_set_qss() |
||||
try: |
||||
self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc')) |
||||
except: |
||||
pass |
||||
self.top_scroll_layout = Qt.QVBoxLayout() |
||||
self.setLayout(self.top_scroll_layout) |
||||
self.top_scroll = Qt.QScrollArea() |
||||
self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame) |
||||
self.top_scroll_layout.addWidget(self.top_scroll) |
||||
self.top_scroll.setWidgetResizable(True) |
||||
self.top_widget = Qt.QWidget() |
||||
self.top_scroll.setWidget(self.top_widget) |
||||
self.top_layout = Qt.QVBoxLayout(self.top_widget) |
||||
self.top_grid_layout = Qt.QGridLayout() |
||||
self.top_layout.addLayout(self.top_grid_layout) |
||||
|
||||
self.settings = Qt.QSettings("GNU Radio", "top_block") |
||||
self.restoreGeometry(self.settings.value("geometry").toByteArray()) |
||||
|
||||
################################################## |
||||
# Variables |
||||
################################################## |
||||
self.samp_rate = samp_rate = 32000 |
||||
|
||||
################################################## |
||||
# Blocks |
||||
################################################## |
||||
self.multirds_rds_decoder_redsea_0 = multirds.rds_decoder_redsea(False, True) |
||||
self.blocks_null_source_0 = blocks.null_source(gr.sizeof_char*1) |
||||
|
||||
################################################## |
||||
# Connections |
||||
################################################## |
||||
self.connect((self.blocks_null_source_0, 0), (self.multirds_rds_decoder_redsea_0, 0)) |
||||
|
||||
def closeEvent(self, event): |
||||
self.settings = Qt.QSettings("GNU Radio", "top_block") |
||||
self.settings.setValue("geometry", self.saveGeometry()) |
||||
event.accept() |
||||
|
||||
def get_samp_rate(self): |
||||
return self.samp_rate |
||||
|
||||
def set_samp_rate(self, samp_rate): |
||||
self.samp_rate = samp_rate |
||||
|
||||
|
||||
def main(top_block_cls=top_block, options=None): |
||||
|
||||
from distutils.version import StrictVersion |
||||
if StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0"): |
||||
style = gr.prefs().get_string('qtgui', 'style', 'raster') |
||||
Qt.QApplication.setGraphicsSystem(style) |
||||
qapp = Qt.QApplication(sys.argv) |
||||
|
||||
tb = top_block_cls() |
||||
tb.start() |
||||
tb.show() |
||||
|
||||
def quitting(): |
||||
tb.stop() |
||||
tb.wait() |
||||
qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting) |
||||
qapp.exec_() |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
main() |
||||
Loading…
Reference in new issue