From 80ccad790d79f79d1f63ef3b3cba5c6d7cb52bf4 Mon Sep 17 00:00:00 2001 From: Marc Majoral Date: Tue, 14 Sep 2021 17:46:52 +0200 Subject: [PATCH] do not write the signal source gain if the AGC is enabled when using the AD9361. --- .../signal_source/libs/ad9361_manager.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/algorithms/signal_source/libs/ad9361_manager.cc b/src/algorithms/signal_source/libs/ad9361_manager.cc index 651b24819..49e17255a 100644 --- a/src/algorithms/signal_source/libs/ad9361_manager.cc +++ b/src/algorithms/signal_source/libs/ad9361_manager.cc @@ -393,15 +393,21 @@ bool config_ad9361_rx_local(uint64_t bandwidth_, { std::cout << "Failed to set in_voltage1_gain_control_mode: " << ret << '\n'; } - ret = iio_device_attr_write_double(ad9361_phy, "in_voltage0_hardwaregain", rf_gain_rx1_); - if (ret < 0) + if (gain_mode_rx1_ == "manual") { - std::cout << "Failed to set in_voltage0_hardwaregain: " << ret << '\n'; + ret = iio_device_attr_write_double(ad9361_phy, "in_voltage0_hardwaregain", rf_gain_rx1_); + if (ret < 0) + { + std::cout << "Failed to set in_voltage0_hardwaregain: " << ret << '\n'; + } } - ret = iio_device_attr_write_double(ad9361_phy, "in_voltage1_hardwaregain", rf_gain_rx2_); - if (ret < 0) + if (gain_mode_rx2_ == "manual") { - std::cout << "Failed to set in_voltage1_hardwaregain: " << ret << '\n'; + ret = iio_device_attr_write_double(ad9361_phy, "in_voltage1_hardwaregain", rf_gain_rx2_); + if (ret < 0) + { + std::cout << "Failed to set in_voltage1_hardwaregain: " << ret << '\n'; + } } std::cout << "End of AD9361 RX configuration.\n";