I gave it a shot, didn't work though... I was getting the error "ValueError: port number 0 exceeds max of (none)"
here's my hier_block2: https://www.cgran.org/browser/projects/radio_data_system/trunk/src/python/rds_rx.py and here's my top_block: https://www.cgran.org/browser/projects/radio_data_system/trunk/src/python/rds_scope_pll_test.py Any other ideas? Dimitris Symeonidis "If you think you're too small to make a difference, try sleeping with a mosquito!" - Amnesty International On Tue, Nov 4, 2008 at 17:58, Leslie Choong <[EMAIL PROTECTED]> wrote: > Hi Dimitris, I did find the source of the problem. I needed to add > "self" at the beginning (and sometimes end) of the argument list for > self.connect(). I looked through examples in the gnuradio codebase. > Jonathan offered this explanation as to why it is wired up that way > when I didn't think it made much sense: > >> Is there a reason for having self be passed along the way it is in >> hier_block2? > > Yes. "self" in the connect command refers to an external port of the > hierarchical block. Many hierarchical blocks are linear chains of > blocks internally, with a single external input port and a single > external output port. The shortcut method of wiring these is: > > self.connect(self, ..., ..., ..., ..., self) > > The non-shortcut way: > > self.connect(self, 0, ..., ...) > ... > self.connect(..., ...., self. 0) > > This means "connect external input port 0 to block ..., input port ..." > and "connect block ..., output port ... to external output port 0". > > ------------------ > > I hope that helps you out! Let me know if that fixed the problem. Good luck! > -Leslie > > > > On Tue, Nov 4, 2008 at 7:23 AM, Dimitris Symeonidis <[EMAIL PROTECTED]> wrote: >> Hi Leslie, >> >> I have encountered the same problem in my RDS code >> (https://www.cgran.org/wiki/RDS) >> The error comes up because I have a top_block that creates a msg_queue >> and passes it (as an argument) to a hier_block2. >> This hier_block2 then outputs to the queue. I am receiving the same >> error message (try running rds_scope_pll_test.py under src/python, >> which calls rds_rx.py). >> I haven't yet had the time to look into this, because I resolved it by >> integrating the hier_block2 functionality inside the top_block (look >> at usrp_rds_scope_pll.py) >> >> If you do find the source of the problem, I would appreciate it if you >> pass it on to me >> >> Kind regards, and good luck >> >> >> Dimitris Symeonidis >> "If you think you're too small to make a difference, try sleeping with >> a mosquito!" - Amnesty International >> >> >> >> On Wed, Oct 29, 2008 at 03:34, Leslie Choong <[EMAIL PROTECTED]> wrote: >>> Hi everyone, >>> I'm currently updating Thomas Schmid's old 802.15.4 demodulation code. >>> It has been tested and works with at least revision 7596 of the >>> gnuradio trunk. I've been trying to update the code to work with the >>> latest release of Gnuradio (3.1). I've looked at examples converting >>> from hier_block to hier_block2 and flow_graph to top_block. I've >>> implemented those changes but still run into this error: >>> >>> python: /usr/include/boost/shared_ptr.hpp:375: T* >>> boost::shared_ptr<T>::operator->() const [with T = gr_basic_block]: >>> Assertion `px != 0' failed. >>> >>> Searches for this error on the list did not turn up much. I was >>> wondering if there was anything else that I missed. I've been banging >>> my head on the wall about this trying to figure out a fix. I jumped >>> into gdb and found that the code was crashing when trying to flatten >>> the flow_graph. I turned on debugging messages for >>> gr_hier_block2_detail.cc and here is the result of that: >>> >>> connecting: ieee802_15_4_demod(3):0 -> sos_packet_sink(8):0 >>> connect: src is hierarchical, setting parent to 0x89e3d00 >>> connecting: usrp1_source_c(1):0 -> pwr_squelch_cc(9):0 >>> connecting: pwr_squelch_cc(9):0 -> ieee802_15_4_demod_pkts(2):0 >>> connect: dst is hierarchical, setting parent to 0x88bc270 >>> start: entered >>> flattening top_block >>> Flattening edge usrp1_source_c(1):0->pwr_squelch_cc(9):0 >>> Flattening edge pwr_squelch_cc(9):0->ieee802_15_4_demod_pkts(2):0 >>> Resolving endpoint ieee802_15_4_demod_pkts(2):0 as an input, recursing >>> Resolving port 0 as an input of ieee802_15_4_demod_pkts >>> python: /usr/include/boost/shared_ptr.hpp:375: T* >>> boost::shared_ptr<T>::operator->() const [with T = gr_basic_block]: >>> Assertion `px != 0' failed. >>> Aborted >>> >>> I have attached a patch for anyone who wants to look further. If you'd >>> like to see all the code you can follow these steps to try it out >>> yourself: >>> svn checkout svn://acert.ir.bbn.com/svn/gr-ucla >>> cd gr-ucla/trunk >>> (copy changes.diff to this directory) >>> patch -p0 -i changes.diff >>> >>> Then build it all: >>> ./bootstrap && ./configure && make >>> sudo make install >>> >>> then: >>> cd src/examples >>> ./cc2420_rxtest.py >>> >>> >>> If you have any comments or leads on something else that I should look >>> into I would really appreciate hearing it. Thanks for all your help! >>> -Leslie Choong >>> >>> _______________________________________________ >>> Discuss-gnuradio mailing list >>> Discuss-gnuradio@gnu.org >>> http://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> >>> >> > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio