diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-08-20 10:00:47 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 12:16:25 -0800 |
commit | 7d69dcdcc318ccdf87038b732acbf2bf7c087b60 (patch) | |
tree | 8179f2f4a14be591d7c856f77f13687b45f9a454 /host/lib/rfnoc/fir_block_ctrl_impl.cpp | |
parent | 1ac6e6f56100a7e8186481ab0715937759f52737 (diff) | |
download | uhd-7d69dcdcc318ccdf87038b732acbf2bf7c087b60.tar.gz uhd-7d69dcdcc318ccdf87038b732acbf2bf7c087b60.tar.bz2 uhd-7d69dcdcc318ccdf87038b732acbf2bf7c087b60.zip |
Remove proto-RFNoC files
This commit removes all files and parts of files that are used by
proto-RFNoC only.
uhd: Fix include CMakeLists.txt, add missing files
Diffstat (limited to 'host/lib/rfnoc/fir_block_ctrl_impl.cpp')
-rw-r--r-- | host/lib/rfnoc/fir_block_ctrl_impl.cpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/host/lib/rfnoc/fir_block_ctrl_impl.cpp b/host/lib/rfnoc/fir_block_ctrl_impl.cpp deleted file mode 100644 index a4106111e..000000000 --- a/host/lib/rfnoc/fir_block_ctrl_impl.cpp +++ /dev/null @@ -1,78 +0,0 @@ -// -// Copyright 2014-2018 Ettus Research, a National Instruments Company -// -// SPDX-License-Identifier: GPL-3.0-or-later -// - -#include <uhd/convert.hpp> -#include <uhd/rfnoc/fir_block_ctrl.hpp> -#include <uhd/utils/log.hpp> - -using namespace uhd::rfnoc; - -class fir_block_ctrl_impl : public fir_block_ctrl -{ -public: - static const uint32_t RB_NUM_TAPS = 0; - static const uint32_t SR_RELOAD = 128; - static const uint32_t SR_RELOAD_TLAST = 129; - static const uint32_t SR_CONFIG = 130; - - UHD_RFNOC_BLOCK_CONSTRUCTOR(fir_block_ctrl), - _item_type("sc16") // We only support sc16 in this block - { - _n_taps = uint32_t(user_reg_read64(RB_NUM_TAPS)); - UHD_LOGGER_DEBUG(unique_id()) - << "fir_block::fir_block() n_taps ==" << _n_taps << std::endl; - UHD_ASSERT_THROW(_n_taps); - - // Default to Dirac impulse - std::vector<int> default_taps(1, 20000); - set_taps(default_taps); - } - - void set_taps(const std::vector<int>& taps_) - { - UHD_LOGGER_TRACE(unique_id()) << "fir_block::set_taps()" << std::endl; - if (taps_.size() > _n_taps) { - throw uhd::value_error( - str(boost::format("FIR block: Too many filter coefficients! Provided %d, " - "FIR allows %d.\n") - % taps_.size() % _n_taps)); - } - for (size_t i = 0; i < taps_.size(); i++) { - if (taps_[i] > 32767 || taps_[i] < -32768) { - throw uhd::value_error( - str(boost::format("FIR block: Coefficient %d out of range! Value %d, " - "Allowed range [-32768,32767].\n") - % i % taps_[i])); - } - } - std::vector<int> taps = taps_; - if (taps.size() < _n_taps) { - taps.resize(_n_taps, 0); - } - - // Write taps via the reload bus - for (size_t i = 0; i < taps.size() - 1; i++) { - sr_write(SR_RELOAD, uint32_t(taps[i])); - } - // Assert tlast when sending the spinal tap (haha, it's actually the final tap). - sr_write(SR_RELOAD_TLAST, uint32_t(taps.back())); - // Send the configuration word to replace the existing coefficients with the new - // ones. Note: This configuration bus does not require tlast - sr_write(SR_CONFIG, 0); - } - - //! Returns the number of filter taps in this block. - size_t get_n_taps() const - { - return _n_taps; - } - -private: - const std::string _item_type; - size_t _n_taps; -}; - -UHD_RFNOC_BLOCK_REGISTER(fir_block_ctrl, "FIR"); |