diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2017-06-22 17:12:05 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2017-06-22 17:12:05 -0700 |
commit | b63e8cf03236257730680adfd75378daf3f5c153 (patch) | |
tree | 0cb65a8bc2e2d8e8ed9ea6c880f991c4eed4e299 /gr-blocks | |
parent | e4783ab3f1541d8ba32c0269eb30b7c06d0888c2 (diff) | |
parent | 1d537a26b27b9d3ce6a3affc6ea500a9efc5a867 (diff) |
Merge branch 'next' into python3
Conflicts:
gnuradio-runtime/python/gnuradio/gr/tag_utils.py
Diffstat (limited to 'gr-blocks')
-rw-r--r-- | gr-blocks/examples/ctrlport/simple_copy.grc | 100 | ||||
-rw-r--r-- | gr-blocks/lib/file_meta_sink_impl.cc | 31 | ||||
-rw-r--r-- | gr-blocks/lib/file_meta_source_impl.cc | 22 | ||||
-rw-r--r-- | gr-blocks/python/blocks/qa_file_metadata.py | 2 |
4 files changed, 130 insertions, 25 deletions
diff --git a/gr-blocks/examples/ctrlport/simple_copy.grc b/gr-blocks/examples/ctrlport/simple_copy.grc index 6e795d751b..a52c350ded 100644 --- a/gr-blocks/examples/ctrlport/simple_copy.grc +++ b/gr-blocks/examples/ctrlport/simple_copy.grc @@ -1,5 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> -<?grc format='1' created='3.7.9'?> +<?grc format='1' created='3.7.11'?> <flow_graph> <timestamp>Sat Mar 16 22:03:14 2013</timestamp> <block> @@ -41,6 +41,10 @@ <value>qt_gui</value> </param> <param> + <key>hier_block_src_path</key> + <value>.:</value> + </param> + <param> <key>id</key> <value>simple_copy</value> </param> @@ -49,10 +53,18 @@ <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> @@ -381,12 +393,92 @@ to enable/disablethis block</value> </param> </block> <block> + <key>epy_block</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_io_cache</key> + <value>('Null Msg Source', 'blk', [], [], [('fake_output', 'message', 1)], '', [])</value> + </param> + <param> + <key>_source_code</key> + <value># Block that doesn't do anything, just used to get a msg input port on another block exposed to ControlPort +from gnuradio import gr +import pmt +class blk(gr.basic_block): + def __init__(self): + gr.basic_block.__init__(self,name='Null Msg Source',in_sig=[],out_sig=[]) + self.message_port_register_out(pmt.intern("fake_output")) +</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(357, 218)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>epy_block_0</value> + </param> + </block> + <block> + <key>note</key> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value>Make sure to turn on ControlPort (edit ~/.gnuradio/config.conf) +and run the following script to toggle Copy block: +cd /src/gnuradio/gr-blocks/examples/ctrlport +python simple_copy_controller.py 127.0.0.1 <PORT> true</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(352, 13)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>id</key> + <value>note_0</value> + </param> + <param> + <key>note</key> + <value></value> + </param> + </block> + <block> <key>qtgui_time_sink_x</key> <param> <key>autoscale</key> <value>False</value> </param> <param> + <key>axislabels</key> + <value>True</value> + </param> + <param> <key>alias</key> <value></value> </param> @@ -769,4 +861,10 @@ to enable/disablethis block</value> <source_key>0</source_key> <sink_key>0</sink_key> </connection> + <connection> + <source_block_id>epy_block_0</source_block_id> + <sink_block_id>blocks_copy_0</sink_block_id> + <source_key>fake_output</source_key> + <sink_key>en</sink_key> + </connection> </flow_graph> diff --git a/gr-blocks/lib/file_meta_sink_impl.cc b/gr-blocks/lib/file_meta_sink_impl.cc index 027d12faf2..b6d858489d 100644 --- a/gr-blocks/lib/file_meta_sink_impl.cc +++ b/gr-blocks/lib/file_meta_sink_impl.cc @@ -141,17 +141,7 @@ namespace gr { { close(); - if(d_fp) { - fclose(d_fp); - d_fp = 0; - } - if(d_state == STATE_DETACHED) { - if(d_hdr_fp) { - fclose(d_hdr_fp); - d_hdr_fp = 0; - } - } } bool @@ -216,6 +206,18 @@ namespace gr { d_new_fp = 0; } d_updated = true; + + if (d_fp) { + fclose(d_fp); + d_fp = 0; + } + + if (d_state == STATE_DETACHED) { + if (d_hdr_fp) { + fclose(d_hdr_fp); + d_hdr_fp = 0; + } + } } void @@ -298,10 +300,11 @@ namespace gr { void file_meta_sink_impl::update_last_header() { - if(d_state == STATE_DETACHED) - update_last_header_detached(); - else - update_last_header_inline(); + if(d_state == STATE_DETACHED) { + if (d_hdr_fp) update_last_header_detached(); + } else { + if(d_fp) update_last_header_inline(); + } } void diff --git a/gr-blocks/lib/file_meta_source_impl.cc b/gr-blocks/lib/file_meta_source_impl.cc index 4cb0ab8ed1..3c72e2a003 100644 --- a/gr-blocks/lib/file_meta_source_impl.cc +++ b/gr-blocks/lib/file_meta_source_impl.cc @@ -111,17 +111,7 @@ namespace gr { { close(); - if(d_fp) { - fclose(d_fp); - d_fp = 0; - } - if(d_state == STATE_DETACHED) { - if(d_hdr_fp) { - fclose(d_hdr_fp); - d_hdr_fp = 0; - } - } } bool @@ -339,6 +329,18 @@ namespace gr { d_new_fp = 0; } d_updated = true; + + if (d_fp) { + fclose(d_fp); + d_fp = 0; + } + + if (d_state == STATE_DETACHED) { + if (d_hdr_fp) { + fclose(d_hdr_fp); + d_hdr_fp = 0; + } + } } void diff --git a/gr-blocks/python/blocks/qa_file_metadata.py b/gr-blocks/python/blocks/qa_file_metadata.py index 3ee8409d6a..16c1a8916f 100644 --- a/gr-blocks/python/blocks/qa_file_metadata.py +++ b/gr-blocks/python/blocks/qa_file_metadata.py @@ -109,6 +109,7 @@ class test_file_metadata(gr_unittest.TestCase): self.tb.connect(src, ssnk) self.tb.run() + fsrc.close() # Test to make sure tags with 'samp_rate' and 'rx_rate' keys # were generated and received correctly. tags = tsnk.current_tags() @@ -190,6 +191,7 @@ class test_file_metadata(gr_unittest.TestCase): self.tb.connect(src, ssnk) self.tb.run() + fsrc.close() # Test to make sure tags with 'samp_rate' and 'rx_rate' keys # were generated and received correctly. tags = tsnk.current_tags() |