Re: [Discuss-gnuradio] Hier signal processing block in Python

2013-01-24 Thread Josh Blum


On 01/24/2013 10:20 AM, Nemanja Savic wrote:
 Hi all,
 
 Can somebody explain me a bit the difference between blocks written in
 python in the way presented on the website and blocks like packet decoder,
 packet encoder, gfsk modulator, etc. The latter blocks are written also in
 Python, but they are different than the previous. Particularly I don't
 understand why there are also thread classes stick to the blocks from the
 second group.

Those old blocks are just hier blocks with some processing blocks from
gnuradio, where the python interface part is outside of the scheduler,
really just a python thread polling a message queue. The interface is a
python function call or something.

So, there are APIs to create blocks in python that actually use the
scheduler. For example, here is one that does the pkt framer/correlate
but presents a message interface. This block has inputs and outputs that
can be connected in a gnuradio flow graph.

https://github.com/guruofquality/grextras/blob/master/python/packet_framer.py

Then you can do cool things like this:
https://github.com/jmalsbury/pre-cog/wiki

 And the most important thing is I would like to know how to make such block
 out of tree.

Most of the feature above is in gnuradio master branch, but I dont think
there is a doc, so you will have to interpolate from this:

https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide

-josh

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


Re: [Discuss-gnuradio] Hier signal processing block in Python

2013-01-24 Thread Nemanja Savic
Thank you Josh, I hope your answer will help.

The problem particularly with packet decoder block which could be found in
packet.py is that I can't figure out how messages goes from framer sink to
the message source.
Namely, framer sink sends message to the queue. There is a thread
responsible for reading message from the queue and for calculating crc.
After that, callback function is called and if message was OK, it will post
message again to the queue (Isn't there only one queue between two blocks
and both read from and write to that queue?).

By the way, do you think that message source sounds like block which
produces messages (that's what i was thinking at first glance, but maybe
cause I am not native speaker)?

Cheers



On Thu, Jan 24, 2013 at 7:25 PM, Josh Blum j...@ettus.com wrote:



 On 01/24/2013 10:20 AM, Nemanja Savic wrote:
  Hi all,
 
  Can somebody explain me a bit the difference between blocks written in
  python in the way presented on the website and blocks like packet
 decoder,
  packet encoder, gfsk modulator, etc. The latter blocks are written also
 in
  Python, but they are different than the previous. Particularly I don't
  understand why there are also thread classes stick to the blocks from the
  second group.

 Those old blocks are just hier blocks with some processing blocks from
 gnuradio, where the python interface part is outside of the scheduler,
 really just a python thread polling a message queue. The interface is a
 python function call or something.

 So, there are APIs to create blocks in python that actually use the
 scheduler. For example, here is one that does the pkt framer/correlate
 but presents a message interface. This block has inputs and outputs that
 can be connected in a gnuradio flow graph.


 https://github.com/guruofquality/grextras/blob/master/python/packet_framer.py

 Then you can do cool things like this:
 https://github.com/jmalsbury/pre-cog/wiki

  And the most important thing is I would like to know how to make such
 block
  out of tree.

 Most of the feature above is in gnuradio master branch, but I dont think
 there is a doc, so you will have to interpolate from this:

 https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide

 -josh

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




-- 
Nemanja Savić
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio