Clean remote kill of python flowgraph

Hi all,

I would like to be able to remotely terminate a running Python-only
flowgraph (no GRC). I basically set up the XMLRPC server to call
“stop()” and “wait()” on the flowgraph object instance, but it leaves
the USRP LO up. I would like the radio to be torn down completely.

Looking at gr_uhd_usrp_sink, it appears that the “stop” method overrides
gr_top_block’s by sending an end-of-burst message to UHD, but apparently
this isn’t doing the trick. Any advice?

Thanks,
Sean

On 06/26/2012 03:58 PM, Nowlan, Sean wrote:

Hi all,

I would like to be able to remotely terminate a running Python-only
flowgraph (no GRC). I basically set up the XMLRPC server to call
“stop()” and “wait()” on the flowgraph object instance, but it leaves
the USRP LO up. I would like the radio to be torn down completely.

You need to make the source/sink object go out of scope. Disconnect it
and assign all references to None. That tends to encourage the python GC
to delete.

Looking at gr_uhd_usrp_sink, it appears that the “stop” method
overrides gr_top_block’s by sending an end-of-burst message to UHD,
but apparently this isn’t doing the trick. Any advice?

There is this unimplemented feature coming to mind. The user selects the
frontend specification (deselects it actually) such that the software
knows SBX frontend isnt mapped to any DSP channels and it gets shutdown
by the software.

-josh