Forum: GNU Radio Debugging printing GRC - E110

76bee707f8e48e46186b09ec0369c6e9?d=identicon&s=25 Jose Torres Diaz (Guest)
on 2012-10-23 06:29
(Received via mailing list)
Hi,

I've a kind of basic question, but it has taken me a lot of time to
figure
out. I made a signal processing chain of blocks (very simple in facts,
generate PSDU then send as a message downstream, manipulate the content
and
count the number of message that I've received). In order to debug my
blocks, in .cc files I'm using:

 std::cout << std::endl << "running routine in BLOCK 1" << std::endl;

I populated my blocks with several messages, so I know what is going on
every time. I can see the messages printed out in GRC (using NO Gui
options). All the messages are correctly displayed, so I assumed that is
running OK. Then, I generated the top_block.py file and put into the
E110.
When I run the top_block.py, I see only this:

python top_block.py
linux; GNU C++ version 4.5.3 20110311 (prerelease); Boost_104500;
UHD_003.004.003-1-g64d15538

Press Enter to quit: gr_block_executor: source <gr_block uhd st2 (2)>
produced no output.  We're marking it DONE.

It only shows the starting of the blocks and when it finishes, but it is
not showing my debug messages.* If I'm using std::cout into C++ for
every
block, should I see those messages in my E110?.*

Thanks a lot for your help,

Jose
D7c45fe2b9d1bc4156cebeb19a3a2b63?d=identicon&s=25 Josh Blum (Guest)
on 2012-10-23 17:19
(Received via mailing list)
On 10/22/2012 09:28 PM, Jose Torres Diaz wrote:
> I populated my blocks with several messages, so I know what is going on
> produced no output.  We're marking it DONE.
I think its just a gnuradio version thing. We *just* recently made a
change to work functions can return without producing samples. I
mentioned this in the other thread.

Seriously though, if you are just doing message passing stuff, and you
are having issue w/ returning from work. Dont return. Just dont do it.
Either block on pop_msg_queue or spin on whatever your function needs to
check.

The message passing is completely implemented outside of the scheduler.
So this is one of the downsides for now. In future endeavors, this will
be smart and integrated, and doing things like return from work will not
be an issue.

-josh
76bee707f8e48e46186b09ec0369c6e9?d=identicon&s=25 Jose Torres (Guest)
on 2012-10-23 23:49
(Received via mailing list)
Hi Josh,

Thanks for your answer. Here my comments:

1. I fixed the problem just not using any return in the work function.
Also, in BLOCK 1 work function (), I added a usleep(20), this gives
enough time to the other blocks to run their work functions.

2. So, does it mean that I should install the latest version of GNU
radio? If yes, where is the link of the latest version?.

Thanks again and your comments are very useful!,

Jose
76bee707f8e48e46186b09ec0369c6e9?d=identicon&s=25 Jose Torres Diaz (Guest)
on 2012-10-25 01:54
(Received via mailing list)
Hi Josh,

This is kind of silly question. Now I have this version of GNU radio in
E110:

gnuradio-config-info -v
*3.6.2*git-149-g9305abf4

If I build the newest version, how can I know which version is available
now?.

Thanks,

Jose
This topic is locked and can not be replied to.