Duplex / Push-To-Talk and top_blocks


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

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
method to create independent RX and TX paths?


Martin B.
Institut fuer Nachrichtentechnik
Universitaet Karlsruhe


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
rx = receive_path(…) # class receive_path derives from gr.hier_block2

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

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

Johnathan C.
Corgan Enterprises LLC

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs