uhd/host/tests/common/mock_ctrl_iface_impl.cpp
Martin Braun 13e71e2793 tests: Fix mock_ctrl_iface for 32-bit MSVC
Widening and narrowing of bitwidths causes errors on this platform
without explicit casts.
2019-05-23 08:46:59 -07:00

38 lines
1.2 KiB
C++

//
// Copyright 2018 Ettus Research, a National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#include "mock_ctrl_iface_impl.hpp"
static const uint64_t TEST_NOC_ID = 0xAAAABBBBCCCCDDDD;
uint64_t mock_ctrl_iface_impl::send_cmd_pkt(const size_t addr,
const size_t data,
const bool readback,
const uint64_t /* timestamp */
)
{
if (not readback) {
std::cout << str(boost::format("[MOCK] poke to addr: %016X, data == %016X") % addr
% data)
<< std::endl;
} else {
std::cout << str(boost::format("[MOCK] peek64 to addr: %016X") % data)
<< std::endl;
switch (data) {
case uhd::rfnoc::SR_READBACK_REG_ID:
return TEST_NOC_ID;
case uhd::rfnoc::SR_READBACK_REG_FIFOSIZE:
return 0x0000000000010000;
case uhd::rfnoc::SR_READBACK_REG_USER:
return 0x0123456789ABCDEF;
case uhd::rfnoc::SR_READBACK_COMPAT:
return uint64_t(uhd::rfnoc::NOC_SHELL_COMPAT_MAJOR) << 32
| uint64_t(uhd::rfnoc::NOC_SHELL_COMPAT_MINOR);
default:
return 0;
}
}
return 0;
}