So, a block called db_logger is written in python and port is defined in following way: self.message_port_register_in(pmt.pmt_intern(in_port))
Well, I am not sure, this works fine in older version. On Wed, Nov 4, 2015 at 6:41 PM, Marcus Müller <[email protected]> wrote: > What does your message_port_register_in call look like? > Or is it a message_port_register_hier_in call? (should it be?) > > Cheers, > Marcus > > > On 11/04/2015 06:37 PM, Nemanja Savic wrote: > > Hi, > > ok thanks. Does it matter how I everything is declared, but it is clear > that something changed since 3.6.5.1. > So i have hier block written in python where i define > in_port = 'in_port' > out_port='out_port' > > These arguments are passed in the following way: > in_port is receiving port of a block that receives messages from blocks > which have registered out_block as their transmitting port. > out_port is passed to constructors of all transmitting blocks. They are > passed as type const char*. Blocks have member d_msg_out_port defined as > string. So something like this: > d_msg_out_port(msg_out_port) > ... > body of constructor: > message_port_register_out(pmt::mp(d_msg_out_port)); > > So, later on, at the end of hier block I call: > self.msg_connect(self.SFL_90518279_pkt_def, out_port, self.db_logger, > in_port) > > Could it be that problem is something with strings (I am not sure is null > character is passed, no idea)? > > Nemanja > > On Wed, Nov 4, 2015 at 6:26 PM, Marcus Müller <[email protected]> > wrote: > >> Hi, >> >> not really, what it says is really "I can't find <element> in <list of >> elements>", with that list being the names of the registered ports. >> So, the interesting thing is that seemingly,comparin >> pmt::symbol("in_port") with pmt::symbol("in_port") doesn't quite work well. >> >> I'd have to look into what pmt::comparator looks like; it's my first >> suspect for why that might fail. >> >> Best regards, >> Marcus >> >> >> >> On 11/04/2015 06:20 PM, Nemanja Savic wrote: >> >> Hi, >> >> hm, could just tell me if I am thinking wrong, but this looks like some >> of my blocks is also called in_port? >> >> Nemanja >> >> On Wed, Nov 4, 2015 at 6:14 PM, Marcus Müller <[email protected]> >> wrote: >> >>> Hi Nemanja, >>> >>> a blind suspicion: as "system" is a port that should be registered by >>> the runtime for each block, there might be some confusion happening. >>> Does it work better when you rename your block to something else? >>> >>> Best regards, >>> Marcus >>> >>> On 11/04/2015 06:05 PM, Nemanja Savic wrote: >>> >>> Hi all guys, >>> >>> I recently installed 3.7.8, and before that I had 3.6.5.1. >>> I was using message passing in some of my blocks, but now I get error >>> which is following: >>> >>> Could not find port: in_port in: >>> in_port >>> system >>> >>> Traceback (most recent call last): >>> File "./top_block.py", line 178, in <module> >>> tb = top_block() >>> File "./top_block.py", line 124, in __init__ >>> self.TPMS_univ_TPMS_rec2_0 = TPMS.univ_TPMS_rec2("WBX_proba", >>> samp_rate, 0.5, 45, "localhost", 2, "TEST_TRACK_TPMS", "nemanja", >>> "nemanja", "det_id_proba", "detectors") >>> File >>> "/scr1/nemanja/install/lib64/python2.6/site-packages/TPMS/univ_TPMS_rec2.py", >>> line 145, in __init__ >>> self.msg_connect(self.SEL_90518407_pkt_def.SCHRADER_def, out_port, >>> self.db_logger, in_port) >>> File >>> "/scr1/nemanja/install/lib64/python2.6/site-packages/gnuradio/gr/hier_block2.py", >>> line 59, in wrapped >>> func(self, src.to_basic_block(), srcport, dst.to_basic_block(), >>> dstport) >>> File >>> "/scr1/nemanja/install/lib64/python2.6/site-packages/gnuradio/gr/hier_block2.py", >>> line 131, in msg_connect >>> self.primitive_msg_connect(*args) >>> File >>> "/scr1/nemanja/install/lib64/python2.6/site-packages/gnuradio/gr/runtime_swig.py", >>> line 3043, in primitive_msg_connect >>> return _runtime_swig.hier_block2_sptr_primitive_msg_connect(self, >>> *args) >>> RuntimeError: invalid msg port in connect() or disconnect() >>> >>> I see that there is a function for checking whether the ports are valid, >>> but don't get what's wrong with my ports. Namely, I have hier block and a >>> few blocks are sending messages to a single blocks where the messages are >>> decoded and written to darabase. I tried to hardcode names of the blocks >>> and that also didn't help. >>> >>> Thanx, >>> >>> -- >>> Nemanja Savić >>> >>> >>> _______________________________________________ >>> Discuss-gnuradio mailing >>> [email protected]https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> >>> >>> >>> _______________________________________________ >>> Discuss-gnuradio mailing list >>> [email protected] >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >>> >>> >> >> >> -- >> Nemanja Savić >> >> >> > > > -- > Nemanja Savić > > > -- Nemanja Savić
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
