From aff6165dc938fe072d4872b65be146e6d3f75bec Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 20 Mar 2017 18:11:20 -0700 Subject: rfnoc: Add API calls for time/clock control --- host/lib/rfnoc/radio_ctrl_impl.cpp | 31 ++++++++++++++++++++++++++++++- host/lib/rfnoc/radio_ctrl_impl.hpp | 6 ++++++ 2 files changed, 36 insertions(+), 1 deletion(-) (limited to 'host/lib') diff --git a/host/lib/rfnoc/radio_ctrl_impl.cpp b/host/lib/rfnoc/radio_ctrl_impl.cpp index 262f1eb73..a143bb248 100644 --- a/host/lib/rfnoc/radio_ctrl_impl.cpp +++ b/host/lib/rfnoc/radio_ctrl_impl.cpp @@ -363,7 +363,6 @@ void radio_ctrl_impl::set_time_next_pps(const time_spec_t &time_spec) _time64->set_time_next_pps(time_spec); } - time_spec_t radio_ctrl_impl::get_time_now() { return _time64->get_time_now(); @@ -374,3 +373,33 @@ time_spec_t radio_ctrl_impl::get_time_last_pps() return _time64->get_time_last_pps(); } +void radio_ctrl_impl::set_time_source(const std::string &source) +{ + _tree->access("time_source/value").set(source); +} + +std::string radio_ctrl_impl::get_time_source() +{ + return _tree->access("time_source/value").get(); +} + +std::vector radio_ctrl_impl::get_time_sources() +{ + return _tree->access>("time_source/options").get(); +} + +void radio_ctrl_impl::set_clock_source(const std::string &source) +{ + _tree->access("clock_source/value").set(source); +} + +std::string radio_ctrl_impl::get_clock_source() +{ + return _tree->access("clock_source/value").get(); +} + +std::vector radio_ctrl_impl::get_clock_sources() +{ + return _tree->access>("clock_source/options").get(); +} + diff --git a/host/lib/rfnoc/radio_ctrl_impl.hpp b/host/lib/rfnoc/radio_ctrl_impl.hpp index 4946827d7..b31239482 100644 --- a/host/lib/rfnoc/radio_ctrl_impl.hpp +++ b/host/lib/rfnoc/radio_ctrl_impl.hpp @@ -76,6 +76,12 @@ public: void set_time_sync(const uhd::time_spec_t &time); time_spec_t get_time_now(); time_spec_t get_time_last_pps(); + virtual void set_time_source(const std::string &source); + virtual std::string get_time_source(); + virtual std::vector get_time_sources(); + virtual void set_clock_source(const std::string &source); + virtual std::string get_clock_source(); + virtual std::vector get_clock_sources(); /*********************************************************************** * Block control API calls -- cgit v1.2.3