[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SV: [Discuss-gnuradio] fundamentals of block-connections, message queue
From: |
Ulrika Uppman |
Subject: |
SV: [Discuss-gnuradio] fundamentals of block-connections, message queue etc. |
Date: |
Wed, 26 Aug 2009 13:23:32 +0200 |
Thank you very much for your explenation Colby! I now understand how the
message queue is used in the rx code.
However, I would still like to know more about how the data is transported
between for example the usrp block and the next block (in the 802.11b rx case
this would be the resampling block). If I understand it right, the usrp sends
frames of data including a header, timestamp and a number of data samples. When
connecting the blocks in the python code, where does the transformation from
frames into a stream happen? I've tried to read the code and documentation
about the connection and starting of flow graphs, but I could still use some
hints...
Tnx,
/Ulrika
________________________________
Från: Colby Boyer [mailto:address@hidden
Skickat: den 26 augusti 2009 05:09
Till: Ulrika Uppman
Kopia: GNU Radio Discussion
Ämne: Re: [Discuss-gnuradio] fundamentals of block-connections, message queue
etc.
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