aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael-west <michael.west@ettus.com>2019-03-21 18:27:54 -0700
committerMichael West <michael.west@ettus.com>2019-03-25 09:25:02 -0700
commitb772c98717554dca5f58a149917257da5c6a4d8c (patch)
tree89ff68cb9498a8d890365e965deec66969a947be
parentfa34813ceec0ce5a8d0ae9e7c6dc80d474c064c1 (diff)
downloaduhd-b772c98717554dca5f58a149917257da5c6a4d8c.tar.gz
uhd-b772c98717554dca5f58a149917257da5c6a4d8c.tar.bz2
uhd-b772c98717554dca5f58a149917257da5c6a4d8c.zip
TwinRX: Fix duplicate write to N value in DDC
The N value was getting written twice and the second value being written was 1, which works for all use cases except when using TwinRX. This change fixes several issues with TwinRX including streaming failing to stop cleanly and incorrect decimation.
-rw-r--r--host/lib/rfnoc/ddc_block_ctrl_impl.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/host/lib/rfnoc/ddc_block_ctrl_impl.cpp b/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
index d89719c65..dbba7f68c 100644
--- a/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
+++ b/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
@@ -247,7 +247,6 @@ private:
// Rate change = M/N
sr_write("N", m * std::pow(2.0, double(hb_enable)) * (decim & 0xff), chan);
- sr_write("M", m, chan);
const auto noc_id = _tree->access<uint64_t>(_root_path / "noc_id").get();
// FIXME this should be a rb reg in the FPGA, not based on a hard-coded
// Noc-ID
@@ -255,7 +254,7 @@ private:
UHD_LOG_DEBUG("DDC", "EISCAT DDC! Assuming real inputs.");
sr_write("M", 2, chan);
} else {
- sr_write("M", 1, chan);
+ sr_write("M", m, chan);
}
if (decim > 1 and hb_enable == 0) {