Hi Milo, As I understand (if we're still are talking about the 802.11b code), the tx side uses multiple message queues "in between" the processing blocks to handle the different data rates. I'm not sure I understand your question, but yes the detete_head() function is used to extract messages from the queue. Take a look in the bbn_80211b_pkt.py and I think you will see how the message queues are used there.
/Ulrika ________________________________ Från: Milo Wong [mailto:[email protected]] Skickat: den 26 augusti 2009 06:47 Till: Colby Boyer Kopia: Ulrika Uppman; GNU Radio Discussion Ämne: Re: [Discuss-gnuradio] fundamentals of block-connections, message queue etc. Hi Colby, Based on what you said, is that means, at Tx side, the encoded data stream from encoder should also be loaded into gr.msg_queue() and applies delete_head() funtion? Thank you, Milo On Tue, Aug 25, 2009 at 8:08 PM, Colby Boyer <[email protected]> wrote: Within the BBN RX side, all the processing blocks are stuck together so that data "streams" from each block to the next. In the final block, when a packet is successfully decoded it is loaded in a message queue. The loading into the message queue is done within the C++ code, not the python. There is another thread running that will sleep on an empty queue and will not wake up until something is inserted into the queue. When a message enters the queue, the thread wakes up, takes out the message and then prints it out via a call back function. Check the source code for the message queue to see if there is another function to add a message. Thanks, Colby On Tue, Aug 25, 2009 at 8:08 AM, Ulrika Uppman <[email protected]> wrote: Hi everyone, I'm trying to get a grip of how the software code works in gnuradio. At the moment I'm looking at the bbn 802.11b rx implementation. I would like to understand how the data stream is transported from the usrp source block and further to the rest of the processing blocks that are connected together. There is a message queue involved, but how and where is the data added to the queue? Is there another way of putting data in the message queue than using the inset_tail function? I have read the general documentation on how the gnuradio code is built by David Shen, and I have also been reading the gr code, but I still can't seem to figure it all out. Can someone please point me in the right direction on where to look for this kind of documentation? Thanks! /Ulrika _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
