discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] message port declaration problem after changing t


From: Nemanja Savic
Subject: Re: [Discuss-gnuradio] message port declaration problem after changing to 3.7.8
Date: Wed, 4 Nov 2015 18:49:08 +0100

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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 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 list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




--
Nemanja Savić




--
Nemanja Savić




--
Nemanja Savić

reply via email to

[Prev in Thread] Current Thread [Next in Thread]