From: Aditya Dhananjay [mailto:adi...@cs.nyu.edu]
Sent: Wednesday, February 26, 2014 8:53 AM
To: Nowlan, Sean
Cc: discuss-gnuradio@gnu.org
Subject: Re: [Discuss-gnuradio] Message API questions



On Wed, Feb 26, 2014 at 8:45 AM, Nowlan, Sean 
<sean.now...@gtri.gatech.edu<mailto:sean.now...@gtri.gatech.edu>> wrote:
I have a few questions regarding messages in GR.


1)      Is it possible to mix-and-match the old style message sink/source 
blocks with the new style message passing API? Any guidance on how to make the 
connections? I didn't have much luck with msg_connect. I don't think the 
message sink/source blocks have an associated port name to make this possible. 
Perhaps that's something worth adding internally?

I'm not sure I completely understand your question.

Have you looked at the OFDM Tx/Rx examples in PATH/gr-digital/examples/ofdm? 
The flowgraph is a combination of standard connections within blocks, along 
with a message passing connection (look at the header/payload demux block).

Thanks! What I was referring to are the gr::blocks::message_source and 
gr::blocks::message_sink blocks. They don't use the new style message passing 
API in which you register ports and message handlers. Instead, 
gr::blocks::message_source has an internal message queue. It blocks in within 
its work function waiting for a message to enter the queue. What I'm wondering 
is how to connect a new style block's message output with the input to this 
block, and the inverse case for connecting a gr::blocks::message_sink to a new 
style block's message input.



2)      I see 2 implementations of msg_queue, one in gr namespace and one in 
gr::messages namespace. What are the differences between these?



3)      How does one achieve flow control with the new style message passing 
API? I have a use case in which I'm generating packets in one flowgraph and 
pushing them through a pdu_to_tagged_stream (P2TS) block to be modulated in 
another flowgraph. I believe I'm overwhelming the P2TS block's queue because I 
get warnings about dropped messages. One hack I made was to insert a throttle 
block into the packet generating flowgraph. This helped a bit, but I have to 
guess the magic throttle rate at which I don't fill up the queue. Is there a 
way to have P2TS block when its queue is full and therefore generate 
backpressure on the upstream flowgraph?

Are you using actual hardware or is this a software only simulation?

I basically have flowgraph (FG1) --> message domain --> flowgraph (FG2) --> 
USRP. FG1's flow rate is not constrained by streaming backpressure. FG2's flow 
rate is constrained by the USRP. To constrain FG1's flow rate I either have to 
use a throttle block or find a way to enforce flow control in the message 
domain.





Thanks!
Sean

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org<mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

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

Reply via email to