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" <[email protected]> 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 <[email protected]> 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
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to