aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authormichael-west <michael.west@ettus.com>2019-03-21 18:27:54 -0700
committerBrent Stapleton <brent.stapleton@ettus.com>2019-03-26 09:30:59 -0700
commit0e0a30595479d1ebd589355a7ee77968e6e927a4 (patch)
tree801f3796528a19a2576c886a9e7ab14d9f87e606 /host
parent2783e048bd283edbc81af48cd83e14220ceeac2c (diff)
downloaduhd-0e0a30595479d1ebd589355a7ee77968e6e927a4.tar.gz
uhd-0e0a30595479d1ebd589355a7ee77968e6e927a4.tar.bz2
uhd-0e0a30595479d1ebd589355a7ee77968e6e927a4.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.
Diffstat (limited to 'host')
-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) {