On 03/21/2018 02:24 PM, Firdavs Pulat wrote:
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!
You should be able to use set_agc_mode() in the same way.
On Tue, Mar 20, 2018 at 3:11 PM, Marcus D. Leech <mle...@ripnet.com
<mailto: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 <mailto: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__usrp.html#abdab1f6c3775a9071b15c9805f866486
<https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.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 <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio