aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp')
-rw-r--r--host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp b/host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp
index 2fe31f066..e6ad6ab57 100644
--- a/host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp
+++ b/host/lib/usrp/dboard/magnesium/magnesium_ad9371_iface.cpp
@@ -111,3 +111,29 @@ double magnesium_ad9371_iface::get_bandwidth(const size_t chan, const direction_
return 0.0;
}
+std::string magnesium_ad9371_iface::set_lo_source(
+ const std::string &source,
+ const uhd::direction_t dir
+) {
+ // There is only one LO for 2 channels. Using channel 0 for 'which'
+ auto which = _get_which(dir, 0);
+ UHD_LOG_TRACE(_L, "calling " << _rpc_prefix << "set_lo_source "
+ << which << "with " << source);
+ auto retval = _rpcc->request_with_token<std::string>(
+ _rpc_prefix + "set_lo_source", which, source);
+ UHD_LOG_TRACE(_L, _rpc_prefix << "set_lo_source returned " << retval);
+ return retval;
+}
+
+std::string magnesium_ad9371_iface::get_lo_source(
+ const uhd::direction_t dir
+) {
+ // There is only one LO for 2 channels. Using channel 0 for 'which'
+ auto which = _get_which(dir,0);
+ UHD_LOG_TRACE(_L, "calling " << _rpc_prefix << "get_lo_source " << which);
+ auto retval = _rpcc->request_with_token<std::string>(
+ _rpc_prefix + "get_lo_source", which);
+ UHD_LOG_TRACE(_L, _rpc_prefix << "get_lo_source returned " << retval);
+ return retval;
+}
+