diff options
author | Brian Padalino <bpadalino@gmail.com> | 2014-01-18 14:12:02 -0500 |
---|---|---|
committer | Dimitri Stolnikov <horiz0n@gmx.net> | 2014-01-18 20:20:19 +0100 |
commit | d960d1119cc39bbea25a23766c7b7d8d056a6bbd (patch) | |
tree | 240057739eebdd2843ba547909e7df5f4782e97d /lib/bladerf/bladerf_sink_c.cc | |
parent | 03c387bcdaea5a8add1492193504c8e68370ac56 (diff) |
bladeRF: Modifying correction calls.
Modifying correction function calls to match libbladeRF API.
Diffstat (limited to 'lib/bladerf/bladerf_sink_c.cc')
-rw-r--r-- | lib/bladerf/bladerf_sink_c.cc | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/lib/bladerf/bladerf_sink_c.cc b/lib/bladerf/bladerf_sink_c.cc index 9be57ae..a6abc3f 100644 --- a/lib/bladerf/bladerf_sink_c.cc +++ b/lib/bladerf/bladerf_sink_c.cc @@ -502,22 +502,8 @@ std::string bladerf_sink_c::get_antenna( size_t chan ) void bladerf_sink_c::set_dc_offset( const std::complex<double> &offset, size_t chan ) { int ret = 0; - int16_t val_i,val_q; - //the lms dc correction provides for 6 bits of DC correction and 1 sign bit - //scale the correction appropriately - val_i = (int16_t)(fabs(offset.real()) * BLADERF_TX_DC_RANGE); - val_q = (int16_t)(fabs(offset.imag()) * BLADERF_TX_DC_RANGE); - - - val_i = (offset.real() > 0) ? val_i : -val_i; - val_q = (offset.imag() > 0) ? val_q : -val_q; - - ret = bladerf_set_correction(_dev.get(), BLADERF_MODULE_TX, - BLADERF_IQ_CORR_DC_I, val_i); - - ret |= bladerf_set_correction(_dev.get(), BLADERF_MODULE_TX, - BLADERF_IQ_CORR_DC_Q, val_q); + ret = bladerf_common::set_dc_offset(BLADERF_MODULE_TX, offset, chan); if( ret ) { throw std::runtime_error( std::string(__FUNCTION__) + " " + @@ -529,18 +515,8 @@ void bladerf_sink_c::set_dc_offset( const std::complex<double> &offset, size_t c void bladerf_sink_c::set_iq_balance( const std::complex<double> &balance, size_t chan ) { int ret = 0; - int16_t val_gain,val_phase; - - //FPGA gain correction defines 0.0 as BLADERF_GAIN_ZERO, scale the offset range to +/- BLADERF_GAIN_RANGE - val_gain = (int16_t)(balance.real() * (int16_t)BLADERF_GAIN_RANGE) + BLADERF_GAIN_ZERO; - //FPGA phase correction steps from -45 to 45 degrees - val_phase = (int16_t)(balance.imag() * BLADERF_PHASE_RANGE); - - ret = bladerf_set_correction(_dev.get(), BLADERF_MODULE_TX, - BLADERF_IQ_CORR_GAIN, val_gain); - ret |= bladerf_set_correction(_dev.get(), BLADERF_MODULE_TX, - BLADERF_IQ_CORR_PHASE, val_phase); + ret = bladerf_common::set_iq_balance(BLADERF_MODULE_TX, balance, chan); if( ret ) { throw std::runtime_error( std::string(__FUNCTION__) + " " + |