aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd/mpmd_mb_controller.cpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-06-05 12:05:30 -0700
committerMartin Braun <martin.braun@ettus.com>2019-11-26 11:49:25 -0800
commitbba75b29feed2d3b42f9b6c4eb4bc574c09924c7 (patch)
tree49eb882993e936e80eddc44c39b68fe727b311fc /host/lib/usrp/mpmd/mpmd_mb_controller.cpp
parentbb7ed79f012faa4c59e4c312dddc46822968e6c4 (diff)
downloaduhd-bba75b29feed2d3b42f9b6c4eb4bc574c09924c7.tar.gz
uhd-bba75b29feed2d3b42f9b6c4eb4bc574c09924c7.tar.bz2
uhd-bba75b29feed2d3b42f9b6c4eb4bc574c09924c7.zip
rfnoc: Add mb_controller base class and X300/MPMD implementations
Diffstat (limited to 'host/lib/usrp/mpmd/mpmd_mb_controller.cpp')
-rw-r--r--host/lib/usrp/mpmd/mpmd_mb_controller.cpp36
1 files changed, 36 insertions, 0 deletions
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<uint64_t>("get_timekeeper_time", _tk_idx, false);
+}
+
+uint64_t mpmd_mb_controller::mpmd_timekeeper::get_ticks_last_pps()
+{
+ return _rpc->request_with_token<uint64_t>("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);
+}
+