# Using set/get\_gain uhd usrp function

**URL:** <https://www.ruby-forum.com/t/using-set-get-gain-uhd-usrp-function/231758>\
**Category:** GNU Radio\
**Created:** [August 28, 2014, 1:36pm UTC](https://www.ruby-forum.com/t/using-set-get-gain-uhd-usrp-function/231758 "2014-08-28T13:36:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [August 28, 2014, 1:36pm UTC](https://www.ruby-forum.com/t/using-set-get-gain-uhd-usrp-function/231758/1 "2014-08-28T13:36:04Z")

</div>

hi,

I have some problem to use USRP UHD set/get\_gain functions.

In my code, \_impl.cc I have included:

#include \<gnuradio/uhd/usrp\_source.h\>

the header file in which

virtual double get\_gain() and virtual void set\_gain()

are defined!

When I try to compile errors appear:

error: ‘get\_gain’ was not declared in this scope  
DB\_gain =(float\*) get\_gain(0);

error: ‘set\_gain’ was not declared in this scope  
set\_gain(g\_z,0);

Have I forgot some definitions for these functions?

Thanks  
Simone

---

<div class="post-metadata">

**Author:** ![Simone\_Ciccia\_S2106](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e495f1/32.png) [@Simone\_Ciccia\_S2106](https://www.ruby-forum.com/u/Simone_Ciccia_S2106)\
**Post date:** [August 28, 2014, 6:53pm UTC](https://www.ruby-forum.com/t/using-set-get-gain-uhd-usrp-function/231758/2 "2014-08-28T18:53:22Z")

</div>

Hi Simone,

set\_gain are methods of the usrp\_source class; you need to call it as  
such (e.g. my\_source\_obj-\>set\_gain(x) ), and not like a global function  
(ie. set\_gain(x)).

Greetings,  
Marcus

---

<div class="post-metadata">

**Author:** ![Simone\_Ciccia\_S2106](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e495f1/32.png) [@Simone\_Ciccia\_S2106](https://www.ruby-forum.com/u/Simone_Ciccia_S2106)\
**Post date:** [August 28, 2014, 6:55pm UTC](https://www.ruby-forum.com/t/using-set-get-gain-uhd-usrp-function/231758/3 "2014-08-28T18:55:48Z")

</div>

On 08/28/2014 01:34 PM, Simone Ciccia S210664 wrote:

> virtual double get\_gain() and virtual void set\_gain()
> 
> are defined!
> 
> When I try to compile errors appear:
> 
> error: ‘get\_gain’ was not declared in this scope  
> DB\_gain =(float\*) get\_gain(0);

Are you calling this on your own block? Or on the USRP source?

M
