Hi Marcus, Thank you for your help and patience!
Following your suggestion, I think I was able to turn the AGC on. Now, I'm wondering what mode it's running at (e.g., slow, fast, etc). Looking at the multi_usrp class, I don't see any API's to set the mode. But in the ad9361_ctrl class, I see an API called set_agc_mode. Can I use that API the same way I'm using set_rx_agc? I tried the following command: uhd_usrp_probe --string /mboards/0/dboards/A/rx_frontends/A/gain/agc/mode/value, and it returned 'slow', so I assume the default mode of AGC is slow? I know you said AGC isn't used by most applications, but the reason why I'm asking all of this is because our application was using the AD9361 chip and we were enabling AGC then, so I'm trying to do the same here with Ettus B200 since the RFIC is the same. Thanks! On Tue, Mar 20, 2018 at 3:11 PM, Marcus D. Leech <mle...@ripnet.com> wrote: > On 03/20/2018 03:27 PM, Firdavs Pulat wrote: > > Hi Marcus, > > Could you please elaborate on the "extend the Gnu Radio multi_usrp" part? > Maybe you could point me to some examples one how to set these (I assume > others must have played around with them since it's so essential), or > documentation on how that's done? I'm just not sure where/how in the > usrp_source impl source code I would set them. I have been looking online, > but haven't found anything of use yet. > > Thank you! > > In the Gnu Radio source code, in gr_uhd/usrp_source_impl.cc > > If you look at any of the setter functions for various device parameters, > you'd pattern your call to set_rx_agc() after one of those. The > lowest-impact > way to do it would be to "hijack" the existing gain-setting function, > and have it look for "magic" gain value that then turns on hardware AGC > via the set_rx_agc() function. > > In reality, very few applications use the hardware AGC in the chip, which > is one of the reasons that it hasn't yet been "mapped" into the GR > API wrapper. > > > > > On Thu, Mar 8, 2018 at 10:58 AM, Marcus D. Leech <mle...@ripnet.com> > wrote: > >> On 03/08/2018 10:43 AM, Firdavs Pulat wrote: >> >>> Hi all, >>> >>> Are there APIs as part of gnuradio that give access to the low level ADI >>> registers (to both probe, and set)? For instance, I'm trying to see if the >>> AGC is currently turned on on B200mini, and if it's, what kind of mode it >>> is on (e.g., slow or fast). Looking at it the USRP manual online, I see >>> functions like set_agc, set_agc_mode, etc. I just don't have any idea >>> how/where to actually use/set these. Could anyone please help me out? >>> >>> Thanks! >>> >>> >>> No need to tinker with ADI registers. >> >> The multi_usrp API provides access to a set_rx_agc function: >> >> https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__us >> rp.html#abdab1f6c3775a9071b15c9805f866486 >> >> However, you'd have to extend the Gnu Radio multi_usrp "wrapper" (in >> gr-uhd in the main Gnu Radio codebase) to provide access to set_rx_agc(). >> >> Note that in many cases, hardware AGC doesn't really work the way you'd >> like it to, since its "world view" may be very very different than the view >> of your particular application. >> >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > > >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio