Hi Marcus,

I tried to use the set_agc_mode the same way, but I get an error during the
build process that says: 'class uhd::usrp::multi_usrp' has no member named
'set_agc_mode.' This API is in the ad9361_ctrl, but it seems to be looking
for it in multi_usrp. How would I include the ad9361_ctrl?

Also, is there a way to read what all the AD registers are set to so I know
the default values? When I use the getter functions (e.g.,
self.uhd_usrp_source_0.get_gain()) in the python code, it doesn't seem to
do anything.

Thank you


On Wed, Mar 21, 2018 at 1:26 PM, Marcus D. Leech <[email protected]> wrote:

> 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 <[email protected]>
> 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 <[email protected]>
>> 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
>>> [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