diff options
author | michael-west <michael.west@ettus.com> | 2019-03-21 18:27:54 -0700 |
---|---|---|
committer | Michael West <michael.west@ettus.com> | 2019-03-25 09:25:02 -0700 |
commit | b772c98717554dca5f58a149917257da5c6a4d8c (patch) | |
tree | 89ff68cb9498a8d890365e965deec66969a947be | |
parent | fa34813ceec0ce5a8d0ae9e7c6dc80d474c064c1 (diff) | |
download | uhd-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.cpp | 3 |
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) { |