discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Message inputs and hierachical block: incompatibi


From: Jawad Seddar
Subject: Re: [Discuss-gnuradio] Message inputs and hierachical block: incompatibility introduced in GNU Radio 3.7.9
Date: Sat, 2 Jan 2016 22:49:45 +0100

Hi Tim,

Just jumping in the conversation, I had the same problem as Piotr described. I had hier block message ports working on 3.7.8 but not on 3.7.9. Unlike Piotr though, my hier blocks are not generated through GRC.

I had only installed 3.7.9 before Christmas holidays and couldn't figure out why my flowgraphs were broken (though errors mentioned an unsufficient  number of connected ports). At least that's one problem solved for me when I get back to work.

Jawad

Le 2 janv. 2016 22:23, "Tim O'Shea" <address@hidden> a écrit :
Hi Piotr,

Hier message ports were actually not working at all prior to this fix - 
- since the logic had been changed from the originally functioning pub/sub based message connection data structures into the more traditional digraph flattening structure incorrectly
please see:  http://gnuradio.org/redmine/issues/862#change-2460

This change was needed to correct the hier port flattening logic 
and was the originally intended API that got reversed somewhere along the way - 
GRC was updated to correspond -- 
Have you tested your hier message ports actually function with 3.7.8 successfully prior to this?  I would be kind of surprised - 
Perhaps if you are writing python code, some kind of conditional check work around might be in order, or just dropping support for old versions as they did not function correctly

-Tim



On Sat, Jan 2, 2016 at 4:12 AM Piotr Krysik <address@hidden> wrote:
Hi all,

In GNU Radio version 3.7.8 message inputs of hierarchical blocks were
created from python level with:
   self.message_port_register_hier_out("msg_in")

Starting (most probably) from GNU Radio 3.7.9 message inputs are created
with:
   self.message_port_register_hier_in("msg_in")

This leads to incompatibility. I can't now distribute to the users
python code of hierarchical blocks generated with GRC because for some
of them it won't work (if they don't use the same GNU Radio version as I
do). Compilation of GRC files to python with grcc during building is not
an option as it doesn't work reliably yet and it will lead to higher
level of problems.

Currently I manually added this code to my hierarchical blocks in order
to make them work on with GNU Radio earlier than 3.7.9:

  from distutils.version import LooseVersion as version

  if version(gr.version()) >= version('3.7.9'):
    self.message_port_register_hier_in("msg_in")
  else:
    self.message_port_register_hier_out("msg_in")

Is it possible to fix this problem for example on the level GRC - so it
generate code that is compatible with GNU Radio versions < 3.7.9 and
>=3.7.9?

Best Regards,
Piotr Krysik

_______________________________________________
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


reply via email to

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