[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r6360 - in gnuradio/branches/developers/jcorgan/t162/g
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r6360 - in gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src: lib/runtime python/gnuradio/gr |
Date: |
Fri, 7 Sep 2007 23:06:49 -0600 (MDT) |
Author: jcorgan
Date: 2007-09-07 23:06:49 -0600 (Fri, 07 Sep 2007)
New Revision: 6360
Modified:
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
Log:
Implemented new ability to add hierarchical block with no inputs or outputs to
a top block, by calling connect with a single parameter.
Modified:
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
2007-09-08 04:25:24 UTC (rev 6359)
+++
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/lib/runtime/gr_hier_block2_detail.cc
2007-09-08 05:06:49 UTC (rev 6360)
@@ -330,7 +330,15 @@
sfg->connect(src_endp, dst_endp);
}
- gr_basic_block_vector_t blocks = d_fg->calc_used_blocks();
+ // Construct unique list of blocks used either in edges or
+ // by themselves. I hate STL.
+ gr_basic_block_vector_t blocks, tmp = d_fg->calc_used_blocks();
+ std::insert_iterator<gr_basic_block_vector_t> inserter(blocks,
blocks.begin());
+ std::vector<gr_basic_block_sptr>::const_iterator p; // Because flatten_aux
is const
+ for (p = d_blocks.begin(); p != d_blocks.end(); p++)
+ tmp.push_back(*p);
+ sort(tmp.begin(), tmp.end());
+ unique_copy(tmp.begin(), tmp.end(), inserter);
// Recurse hierarchical children
for (gr_basic_block_viter_t p = blocks.begin(); p != blocks.end(); p++) {
Modified:
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
===================================================================
---
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
2007-09-08 04:25:24 UTC (rev 6359)
+++
gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src/python/gnuradio/gr/qa_hier_block2.py
2007-09-08 05:06:49 UTC (rev 6360)
@@ -227,5 +227,18 @@
self.assertRaises(ValueError,
lambda: hblock.disconnect(blk))
+ def test_026_run_single(self):
+ expected_data = (1.0,)
+ tb = gr.top_block("top_block")
+ hb = gr.hier_block2("block",
+ gr.io_signature(0, 0, 0),
+ gr.io_signature(0, 0, 0))
+ src = gr.vector_source_f(expected_data)
+ dst = gr.vector_sink_f()
+ hb.connect(src, dst)
+ tb.connect(hb)
+ tb.run()
+ self.assertEquals(expected_data, dst.data())
+
if __name__ == "__main__":
gr_unittest.main()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r6360 - in gnuradio/branches/developers/jcorgan/t162/gnuradio-core/src: lib/runtime python/gnuradio/gr,
jcorgan <=