Pretty close! I was hoping to make a kind of usrp sink to control the board
remotely.
[usrp source] -> (demodulate signal to a 0/1) -> [custom block to mux gpio
ports]

So I'm familiar with pass by reference for functions and how to use them
after.
I'm not sure what it means to PbR into a whole block though. Does this mean
it's okay to add an extra parameter to my work function?




On Thu, Jun 9, 2016 at 12:17 PM, Martin Braun <[email protected]
<javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:

> Santos,
>
> I could not follow this.
> Here's what I think you want:
>
> - USRP Source => Other Blocks
> - Your GPIO Block is on the side
>
> In C++, pass a reference of the USRP source into your block. There, use
> get_device() to return a multi_usrp::sptr. With that, you can do
> whatever you want.
>
> M
>
>
>
> On 06/08/2016 11:06 AM, Santos Campos wrote:
> > Ah sorry, I meant to mention I'm writing it in c++ not python.
> > Yes, I saw that get_device() returns a sptr. I think I had a poor choice
> > of words.
> > I was unclear on how to even pass the existing usrp into my oot module,
> > BUT I think I have a better idea now.
> >
> > Would something this work?:
> >       std::string args = "";
> >       ...
> >       uhd::usrp::multi_usrp::sptr dummy_usrp =
> > uhd::usrp::multi_usrp::make(args); //okay to pass an empty string
> address?
> >       uhd::device::sptr usrp = dummy_usrp->get_device(); //creates a
> > shared pointer to a usrp device created in an earlier block (usrp
> > source, etc..)
> >       //reference usrp like normal
> > This DID compile, but it'd be great to have reassurance from the gurus.
> > I'm about to try it out as well.
> > Although I'm a bit confused as to why I don't have to define
> > get_device() since it's a virtual function. Did the layers of wrappers
> > take care of it? (hopefully it's not embarrassingly obvious. My c++ fu
> > is a little rusty)
> >
> > Y'all are awesome :),
> > -Santos
> >
> > On Wed, Jun 8, 2016 at 12:12 PM, Martin Braun <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> > <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>> wrote:
> >
> >     get_device() returns a shared pointer. Note this function is not
> exposed
> >     in Python -- you need to pass the object into another C++ object, and
> >     there call get_device().
> >
> >     M
> >
> >     On 06/08/2016 06:38 AM, Santos Campos wrote:
> >     > Hi, Martin!
> >     > I tried taking a peek at how the usrp sink might handle a
> preceding usrp
> >     > source (for inspiration).
> >     > Does it (and the way you described) declare a usrp device and do
> some
> >     > kind of shallow copy with the get_device() method?
> >     >
> >     > On Mon, Jun 6, 2016 at 5:54 PM, Martin Braun <
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     > <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>>> wrote:
> >     >
> >     >     Nah, you can just pass in the existing one into your module
> and grab a
> >     >     reference to the multi_usrp from there.
> >     >
> >     >     M
> >     >
> >     >     On 06/03/2016 12:57 PM, Santos Campos wrote:
> >     >     > Hello again again!
> >     >     > So I'm trying to write an OOT module to control the gpio
> from GRC.
> >     >     > Would I have to create a usrp device in the module's code if
> I am using
> >     >     > a usrp source?
> >     >     > My gut says to probably not re-declare it since it's already
> in use, but
> >     >     > I'm not sure how I could bring it into scope if I don't have
> to
> >     >     > re-declare it.
> >     >     > I tried poking around for the usrp sink code to see what it
> did but
> >     >     > couldn't find it.
> >     >     >
> >     >     > On Wed, Jun 1, 2016 at 11:45 AM, Santos Campos <
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>
> <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>
> >     >     > <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>>>
> wrote:
> >     >     >
> >     >     >     Worked like a charm! Thanks for the helpful comments!
> >     >     >     Like I said originally, I'm trying to use the gpio to
> remotely
> >     >     >     switch between 2 antennas.
> >     >     >     Currently trying to familiarize myself with boost and
> the uhd api.
> >     >     >     Will undoubtedly be back to the listserv with questions
> on those.
> >     >     >
> >     >     >
> >     >     >     On Wed, Jun 1, 2016 at 11:23 AM, Marcus D. Leech <
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>
> <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>
> >     >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>>>
> wrote:
> >     >     >
> >     >     >         On 06/01/2016 10:23 AM, Santos Campos wrote:
> >     >     >>         Hello again, all! I've finally come back to this
> after a while.
> >     >     >>         I'm trying to get the example code to compile but
> having some
> >     >     >>         trouble. Does anyone have any experience with using
> the uhd
> >     >     >>         gpio api?
> >     >     >>         I tried using this to compile:
> >     >     >>
> >     >     >>             $ gcc -I/usr/include/boost
> >     >     >>         -I/home/santosec/uhd/host/include/uhd gpio.cpp -o
> gpio
> >     >     >>
> >     >     >>         but I got a whole mess of compiler errors.
> >     >     >>
> >     >     >>
> >     >     >         And, to follow-up with details:
> >     >     >
> >     >     >         http://files.ettus.com/manual/page_build_guide.html
> >     >     >
> >     >     >         Also:
> >     >     >
> >     >     >         AN-445 and AN-204 from here:
> >     >     >
> >     >     >         https://kb.ettus.com/Application_Notes
> >     >     >
> >     >     >
> >     >     >>         On Wed, May 4, 2016 at 11:25 AM, Marcus D. Leech
> >     >     >>         <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>
> >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');>>>>>
> wrote:
> >     >     >>
> >     >     >>             On 05/04/2016 11:18 AM, Santos Campos wrote:
> >     >     >>>             Hello! I am curious if it is possible to use a
> pin or
> >     >     >>>             something on either the B200 or B200 mini to
> send a
> >     >     >>>             control signal.
> >     >     >>>
> >     >     >>>             We were hoping to be able to switch between 2
> antennas if
> >     >     >>>             the board received some signal. It looks like
> there could
> >     >     >>>             be some available pins, but we were unsure if
> they would
> >     >     >>>             be able to fulfill our purpose. If not, any
> ideas around
> >     >     >>>             this issue would be welcome!
> >     >     >>>
> >     >     >>>             Any help would be much appreciated!
> >     >     >>>
> >     >     >>>
> >     >     >>>             _______________________________________________
> >     >     >>>             Discuss-gnuradio mailing list
> >     >     >>>             [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>>>
> >     >     >>>
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >     >     >>             The API for the B2xx GPIO is the same as for
> X3xx.
> >     >     >>
> >     >     >>             There's example code:
> >     >     >>
> >     >     >>             .../uhd/examples/gpio.cpp
> >     >     >>
> >     >     >>
> >     >     >>
> >     >     >>             _______________________________________________
> >     >     >>             Discuss-gnuradio mailing list
> >     >     >>             [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>>>
> >     >     >>
> >      https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >     >     >>
> >     >     >>
> >     >     >
> >     >     >
> >     >     >
> >     >     >
> >     >     >
> >     >     > _______________________________________________
> >     >     > Discuss-gnuradio mailing list
> >     >     > [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>>
> >     >     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >     >     >
> >     >
> >     >
> >     >     _______________________________________________
> >     >     Discuss-gnuradio mailing list
> >     >     [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     <mailto:[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>>
> >     >     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >     >
> >     >
> >
> >
> >     _______________________________________________
> >     Discuss-gnuradio mailing list
> >     [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');> <mailto:
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>>
> >     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> >
> >
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> <javascript:_e(%7B%7D,'cvml','[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