Can you elaborate on how exactly you solved this problem without using GRC?
What kind of interprocess communication did you use?

Thanks,
Johnny

On Tue, Sep 13, 2011 at 10:08 AM, Lebowski80 <[email protected]>wrote:

>
> Hi Nick,
>
> I just wanted tell you that I solved my problem using interprocess
> communication, thank you for your advice!
>
> Regards
>
>
> Lebowski80 wrote:
> >
> > Ok, thank you for your advice, I will try with interprocess
> communication.
> >
> > Regards
> >
> >
> > Nick Foster-4 wrote:
> >>
> >> Short answer: You cannot open a new USRP instance to reconfigure an
> >> already-running USRP instance. You must reconfigure the existing
> >> instance.
> >>
> >> The best advice I can give is that only one flowgraph can be operational
> >> per
> >> USRP device. In your setup, USRP#1 will run a single flowgraph with a
> >> source
> >> and/or sink, USRP#2 will run a single flowgraph with a source and/or
> >> sink,
> >> and USRP#3 will run a single flowgraph with a source and/or sink. If you
> >> wish to change the parameters of USRP#2 while it is running, rather than
> >> try
> >> to open a new USRP device in your benchmark_rxr.py flowgraph, use any of
> >> the
> >> standard interprocess communication methods to talk to your
> >> already-running
> >> USRP#2 script and reconfigure it as necessary.
> >>
> >> --n
> >>
> >> On Wed, Sep 7, 2011 at 9:31 AM, Lebowski80 <[email protected]>
> >> wrote:
> >>
> >>>
> >>> Hello Nick,
> >>>
> >>> What do you mean? Actually I'm running RX and TX in two different
> >>> flowgraphs
> >>> on USRP1, the first one in usrp_spectrum_sense.py to look for a free
> >>> channel
> >>> (so the RX). In this script I also run benchmark_tx.py by the command p
> >>> =
> >>> Popen('python benchmark_tx.py', shell =  True), then my second
> >>> flowgrapgh
> >>> (the TX).
> >>>
> >>> My problem is that on USRP2 I want to reconfigure the RX channel by
> >>> python
> >>> (RX channel = 2484 MHz in the script benchmark_rx.py and RX channel =
> >>> channel received by USRP1 in the script benchamrk_rxr.py run by
> >>> benchmark_rx.py with the command p = Popen('python benchmark_rxr.py',
> >>> shell
> >>> =  True)).
> >>>
> >>> So I'm wondering if there exists the possibility to reconfigure the
> >>> parameters of a script in the same USRP (i.e. RX frequency channel)
> >>> while
> >>> it
> >>> is running and if this is not possible what do people mean with "USRP
> >>> reconfigurability?"
> >>>
> >>> I really need an answer to understand the potentiality of my hardware,
> >>> thanks a lot!
> >>>
> >>> Regards
> >>>
> >>>
> >>>
> >>> Nick Foster-4 wrote:
> >>> >
> >>> > On Wed, Sep 7, 2011 at 3:27 AM, Lebowski80 <[email protected]>
> >>> > wrote:
> >>> >
> >>> >>
> >>> >> Hello everyone,
> >>> >>
> >>> >> Before to explain my problem I give some technical information about
> >>> my
> >>> >> hardaware. I'm using USRPs v1 and the boards integrated are XCVR2450
> >>> >> Transceivers.
> >>> >>
> >>> >> I'm using the script usrp_spectrum_sense.py in a USRP (called USRP1)
> >>> to
> >>> >> make
> >>> >> sensing in the ISM band, after a few seconds it sends to another
> USRP
> >>> >> (Called USRP2) a free sensed channel on the central frequency 2484
> >>> MHz.
> >>> >> USRP2 listens to the channel 2484 MHz through the script
> >>> benchmark_rx.py
> >>> >> and
> >>> >> it can properly receive the free ISM channel sent by USRP1. Then, I
> >>> want
> >>> >> to
> >>> >> use the USRP2 to receive data from another USRP (called USRP3) that
> >>> uses
> >>> >> the
> >>> >> script benchmark_tx.py.
> >>> >>
> >>> >> In the script benchmark_rx.py (used by USRP2) that listens to
> channel
> >>> >> 2484
> >>> >> MHz I want to run another script that I called benchmark_rxr.py that
> >>> >> waits
> >>> >> for data sent by USRP3 to be received in the free ISM channel sent
> by
> >>> >> USRP1.
> >>> >>
> >>> >> Relevant line of the code in the script benchmark_rx.py is attached
> >>> >> below:
> >>> >>
> >>> >> p = Popen('python benchmark_rxr.py', shell =  True)
> >>> >>
> >>> >> While this is the error that I get:
> >>> >>
> >>> >> usrp_open_interface:usb_claim_interface: failed interface 2
> >>> >> could not claim interface 2: Device or resource busy
> >>> >> usrp_basic_rx: can't open rx interface
> >>> >> Traceback (most recent call last):
> >>> >>  File "benchmark_rxr.py", line 153, in <module>
> >>> >>    main()
> >>> >>  File "benchmark_rxr.py", line 138, in main
> >>> >>    tb = my_top_block(demods[options.modulation],
> >>> >> mods[options.modulation],
> >>> >> rx_callback, options)
> >>> >>  File "benchmark_rxr.py", line 46, in __init__
> >>> >>    self.rxpath = usrp_receive_path.usrp_receive_path(demodulator,
> >>> >> rx_callback, options)
> >>> >>  File
> >>> "/opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py",
> >>> >> line 65, in __init__
> >>> >>    self._setup_usrp_source(options)
> >>> >>  File
> >>> "/opt/gnuradio/gnuradio-examples/python/usrp/usrp_receive_path.py",
> >>> >> line 78, in _setup_usrp_source
> >>> >>    self.u = usrp_options.create_usrp_source(options)
> >>> >>  File
> >>> "/usr/local/lib/python2.6/dist-packages/gnuradio/usrp_options.py",
> >>> >> line 88, in create_usrp_source
> >>> >>    gain=options.rx_gain,
> >>> >>  File
> >>> >>
> >>> >>
> >>>
> "/usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py",
> >>> >> line 138, in __init__
> >>> >>    _generic_usrp_base.__init__(self, **kwargs)
> >>> >>  File
> >>> >>
> >>> >>
> >>>
> "/usr/local/lib/python2.6/dist-packages/gnuradio/blks2impl/generic_usrp.py",
> >>> >> line 63, in __init__
> >>> >>    except: raise Exception, 'Failed to automatically setup a usrp
> >>> >> device.'
> >>> >> Exception: Failed to automatically setup a usrp device.
> >>> >>
> >>> >> I read different post with this problem such as "Full duplex and
> half
> >>> >> duplex
> >>> >> does not work" and "help: cannot send after transport endpoint
> >>> shutdown"
> >>> >> but
> >>> >> I could not solve the problem yet. I need to close the reception in
> >>> 2484
> >>> >> MHz
> >>> >> channel for a new reception in another channel in USRP2. The only
> way
> >>> to
> >>> >> do
> >>> >> that seems to close the port manually (i.e. pressing ctrl+c) but I
> >>> want
> >>> >> to
> >>> >> do that by code. I tried different things before the line "p =
> >>> >> Popen('python
> >>> >> benchmark_rxr.py', shell =  True)" such as "id_process =
> os.getpid()"
> >>> and
> >>> >> "os.killpg(id_process, 2)", or by "tb.lock()" and "tb.unlock" and so
> >>> on,
> >>> >> but
> >>> >> nothing helped me, I keep obtaining the same error. I don't know
> what
> >>> to
> >>> >> do
> >>> >> else, can I change by code reception frequency in USRP2? Any advice
> >>> will
> >>> >> be
> >>> >> welcome, thanks a lot!
> >>> >>
> >>> >
> >>> > You need to run both RX and TX in the same flowgraph. You can't open
> >>> them
> >>> > in
> >>> > separate flowgraphs.
> >>> >
> >>> > --n
> >>> >
> >>> >
> >>> >
> >>> >>
> >>> >> Regards
> >>> >>
> >>> >>
> >>> >> --
> >>> >> View this message in context:
> >>> >>
> >>>
> http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32414957.html
> >>> >> Sent from the GnuRadio mailing list archive at Nabble.com.
> >>> >>
> >>> >>
> >>> >> _______________________________________________
> >>> >> Discuss-gnuradio mailing list
> >>> >> [email protected]
> >>> >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>> >>
> >>> >
> >>> > _______________________________________________
> >>> > Discuss-gnuradio mailing list
> >>> > [email protected]
> >>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>> >
> >>> >
> >>>
> >>> --
> >>> View this message in context:
> >>>
> http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32417577.html
> >>> Sent from the GnuRadio mailing list archive at Nabble.com.
> >>>
> >>>
> >>> _______________________________________________
> >>> Discuss-gnuradio mailing list
> >>> [email protected]
> >>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>>
> >>
> >> _______________________________________________
> >> Discuss-gnuradio mailing list
> >> [email protected]
> >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/How-to-reconfigure-automatically-the-channel-used-to-received-data-in-USRPs-tp32414957p32456030.html
> Sent from the GnuRadio mailing list archive at Nabble.com.
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to