Duplex / Push-To-Talk and top_blocks

Hi,

I’m currently working on a push-to-talk style radio. My idea was to
create one
gr.top_block for each the TX and RX path and switch them on and off
exclusively.

Trouble is, I get the following error:

RuntimeError: gr_top_block_impl: multiple simultaneous gr_top_block’s

Seems I can’t have several top_blocks at the same time? Is there any
other
method to create independent RX and TX paths?

Thanks,
Martin


Martin B.
Institut fuer Nachrichtentechnik
Universitaet Karlsruhe

http://www.int.uni-karlsruhe.de

On 12/3/07, Martin B. [email protected] wrote:

Seems I can’t have several top_blocks at the same time?

This is a somewhat artificial restriction in the code right now,
having to do with how GNU Radio starts up and shuts down, and how it
handles operating system signals while being multithreaded. It may
go away in release 3.2 when the mblock/gr-block combined
infrastructure is built.

You can, however, create your transmit and receive paths as
independent hierarchical blocks, with no inputs and outputs, then
‘connect’ them into a single top block.

tx = transmit_path(…) # class transmit_path derives from
gr.hier_block2
rx = receive_path(…) # class receive_path derives from gr.hier_block2

self.connect(tx) # self is your class derived from gr.top_block
self.connect(rx)

See the USRP example usrp_nbfm_ptt.py in gnuradio-examples for an
example of this in practice.


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com/