From bba75b29feed2d3b42f9b6c4eb4bc574c09924c7 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Wed, 5 Jun 2019 12:05:30 -0700 Subject: rfnoc: Add mb_controller base class and X300/MPMD implementations --- host/lib/usrp/mpmd/mpmd_mb_controller.cpp | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 host/lib/usrp/mpmd/mpmd_mb_controller.cpp (limited to 'host/lib/usrp/mpmd/mpmd_mb_controller.cpp') diff --git a/host/lib/usrp/mpmd/mpmd_mb_controller.cpp b/host/lib/usrp/mpmd/mpmd_mb_controller.cpp new file mode 100644 index 000000000..6c2954fb8 --- /dev/null +++ b/host/lib/usrp/mpmd/mpmd_mb_controller.cpp @@ -0,0 +1,36 @@ +// +// Copyright 2019 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#include "mpmd_mb_controller.hpp" + +using namespace uhd::rfnoc; + + +uint64_t mpmd_mb_controller::mpmd_timekeeper::get_ticks_now() +{ + return _rpc->request_with_token("get_timekeeper_time", _tk_idx, false); +} + +uint64_t mpmd_mb_controller::mpmd_timekeeper::get_ticks_last_pps() +{ + return _rpc->request_with_token("get_timekeeper_time", _tk_idx, true); +} + +void mpmd_mb_controller::mpmd_timekeeper::set_ticks_now(const uint64_t ticks) +{ + _rpc->notify_with_token("set_timekeeper_time", _tk_idx, ticks, false); +} + +void mpmd_mb_controller::mpmd_timekeeper::set_ticks_next_pps(const uint64_t ticks) +{ + _rpc->notify_with_token("set_timekeeper_time", _tk_idx, ticks, true); +} + +void mpmd_mb_controller::mpmd_timekeeper::set_period(const uint64_t period_ns) +{ + _rpc->notify_with_token("set_tick_period", _tk_idx, period_ns); +} + -- cgit v1.2.3