From 2feacf957b1bd974be4975015a5305d6cd95cd3a Mon Sep 17 00:00:00 2001 From: Dimitri Stolnikov Date: Thu, 3 Oct 2013 14:37:02 +0200 Subject: [PATCH] bladerf: make source less picky wrt rf gain --- lib/bladerf/bladerf_source_c.cc | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/bladerf/bladerf_source_c.cc b/lib/bladerf/bladerf_source_c.cc index aba6964..5196044 100644 --- a/lib/bladerf/bladerf_source_c.cc +++ b/lib/bladerf/bladerf_source_c.cc @@ -496,17 +496,14 @@ double bladerf_source_c::set_gain( double gain, const std::string & name, size_t if( name == "LNA" ) { bladerf_lna_gain g; - if( gain == 0.0 ) { - g = BLADERF_LNA_GAIN_BYPASS; - } else if( gain == 3.0 ) { + + if ( gain >= 6.0f ) + g = BLADERF_LNA_GAIN_MAX; + else if ( gain >= 3.0f ) g = BLADERF_LNA_GAIN_MID; - } else if( gain == 6.0 ) { - g = BLADERF_LNA_GAIN_MAX; - } else { - std::cerr << "Invalid LNA gain requested: " << gain << ", " - << "setting to LNA_MAX (6dB)" << std::endl; - g = BLADERF_LNA_GAIN_MAX; - } + else /* gain < 3.0f */ + g = BLADERF_LNA_GAIN_BYPASS; + ret = bladerf_set_lna_gain( _dev, g ); } else if( name == "VGA1" ) { ret = bladerf_set_rxvga1( _dev, (int)gain );