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

Reply via email to