aboutsummaryrefslogtreecommitdiffstats
path: root/host/tests/rfnoc_mock_reg_iface.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/tests/rfnoc_mock_reg_iface.hpp')
-rw-r--r--host/tests/rfnoc_mock_reg_iface.hpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/host/tests/rfnoc_mock_reg_iface.hpp b/host/tests/rfnoc_mock_reg_iface.hpp
deleted file mode 100644
index a6e85b790..000000000
--- a/host/tests/rfnoc_mock_reg_iface.hpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//
-// Copyright 2019 Ettus Research, a National Instruments Brand
-//
-// SPDX-License-Identifier: GPL-3.0-or-later
-//
-
-#ifndef INCLUDED_LIBUHD_TESTS_MOCK_REG_IFACE_HPP
-#define INCLUDED_LIBUHD_TESTS_MOCK_REG_IFACE_HPP
-
-#include <uhd/rfnoc/register_iface.hpp>
-#include <uhd/utils/log.hpp>
-#include <uhd/types/time_spec.hpp>
-#include <boost/format.hpp>
-#include <unordered_map>
-#include <vector>
-
-class mock_reg_iface_t : public uhd::rfnoc::register_iface
-{
-public:
- mock_reg_iface_t() = default;
- virtual ~mock_reg_iface_t() = default;
-
- /**************************************************************************
- * API
- *************************************************************************/
- void poke32(uint32_t addr, uint32_t data, uhd::time_spec_t time, bool ack)
- {
- write_memory[addr] = data;
- _poke_cb(addr, data, time, ack);
- }
-
- void multi_poke32(const std::vector<uint32_t> addrs,
- const std::vector<uint32_t> data,
- uhd::time_spec_t time,
- bool ack)
- {
- if (addrs.size() != data.size()) {
- throw uhd::value_error("addrs and data vectors must be of the same length");
- }
- for (size_t i = 0; i < addrs.size(); i++) {
- poke32(addrs[i], data[i], time, ack);
- }
- }
-
- void block_poke32(uint32_t first_addr,
- const std::vector<uint32_t> data,
- uhd::time_spec_t timestamp,
- bool ack)
- {
- for (size_t i = 0; i < data.size(); i++) {
- poke32(first_addr + 4 * i, data[i], timestamp, ack);
- }
- }
-
- uint32_t peek32(uint32_t addr, uhd::time_spec_t time)
- {
- _peek_cb(addr, time);
- try {
- return read_memory.at(addr);
- } catch (const std::out_of_range&) {
- throw uhd::runtime_error(str(boost::format("No data defined for address: 0x%04X") % addr));
- }
- }
-
- std::vector<uint32_t> block_peek32(
- uint32_t first_addr, size_t length, uhd::time_spec_t time)
- {
- std::vector<uint32_t> result(length, 0);
- for (size_t i = 0; i < length; ++i) {
- result[i] = peek32(first_addr + i * 4, time);
- }
- return result;
- }
-
- void poll32(uint32_t addr,
- uint32_t data,
- uint32_t mask,
- uhd::time_spec_t /* timeout */,
- uhd::time_spec_t time = uhd::time_spec_t::ASAP,
- bool /* ack */ = false)
- {
- if (force_timeout) {
- throw uhd::op_timeout("timeout");
- }
-
- if ((peek32(addr, time) & mask) == data) {
- UHD_LOG_INFO("MOCK_REG_IFACE", "poll32() successful at addr " << addr);
- } else {
- UHD_LOG_INFO("MOCK_REG_IFACE", "poll32() not successful at addr " << addr);
- }
- }
-
- void sleep(uhd::time_spec_t /*duration*/, bool /*ack*/)
- {
- // nop
- }
-
- void register_async_msg_validator(async_msg_validator_t /*callback_f*/)
- {
- // nop
- }
-
- void register_async_msg_handler(async_msg_callback_t /*callback_f*/)
- {
- // nop
- }
-
- void set_policy(const std::string& name, const uhd::device_addr_t& args)
- {
- UHD_LOG_INFO("MOCK_REG_IFACE",
- "Requested to set policy for " << name << " to " << args.to_string());
- }
-
- uint16_t get_src_epid() const
- {
- return 0;
- }
-
- uint16_t get_port_num() const
- {
- return 0;
- }
-
- bool force_timeout = false;
-
- std::unordered_map<uint32_t, uint32_t> read_memory;
- std::unordered_map<uint32_t, uint32_t> write_memory;
-
-protected:
- virtual void _poke_cb(
- uint32_t /*addr*/, uint32_t /*data*/, uhd::time_spec_t /*time*/, bool /*ack*/)
- {
- }
- virtual void _peek_cb(uint32_t /*addr*/, uhd::time_spec_t /*time*/) {}
-};
-
-
-#endif /* INCLUDED_LIBUHD_TESTS_MOCK_REG_IFACE_HPP */