aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-12-21 17:30:31 -0800
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:06:11 -0800
commit3b32e3b0de79898db5f7db5f47eeaf06a65d4a19 (patch)
tree46ed2c2276b5174040145e64e7e5af327e7e2e94
parent9e5fb0c49f7911e0e9f6e9390e81d9465304cfeb (diff)
downloaduhd-3b32e3b0de79898db5f7db5f47eeaf06a65d4a19.tar.gz
uhd-3b32e3b0de79898db5f7db5f47eeaf06a65d4a19.tar.bz2
uhd-3b32e3b0de79898db5f7db5f47eeaf06a65d4a19.zip
mpmd: Temporarily disable setting of clock and time source
Currently, calling these APIs could potentially put the device into bad state. This will disable the APIs from UHD side and replace them with a warning if the user's setting did not take effect.
-rw-r--r--host/lib/usrp/mpmd/mpmd_impl.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/host/lib/usrp/mpmd/mpmd_impl.cpp b/host/lib/usrp/mpmd/mpmd_impl.cpp
index 7b4ca5bc8..e8eb2ea6a 100644
--- a/host/lib/usrp/mpmd/mpmd_impl.cpp
+++ b/host/lib/usrp/mpmd/mpmd_impl.cpp
@@ -93,7 +93,18 @@ namespace {
/*** Clocking *******************************************************/
tree->create<std::string>(mb_path / "clock_source/value")
.add_coerced_subscriber([mb](const std::string &clock_source){
- mb->rpc->notify_with_token("set_clock_source", clock_source);
+ // FIXME: Undo these changes
+ //mb->rpc->notify_with_token("set_clock_source", clock_source);
+ auto current_src = mb->rpc->request_with_token<std::string>(
+ "get_clock_source"
+ );
+ if (current_src != clock_source) {
+ UHD_LOG_WARNING("MPMD",
+ "Setting clock source at runtime is currently not "
+ "supported. Use clock_source=XXX as a device arg to "
+ "select a clock source. The current source is: "
+ << current_src);
+ }
})
.set_publisher([mb](){
return mb->rpc->request_with_token<std::string>(
@@ -111,7 +122,18 @@ namespace {
;
tree->create<std::string>(mb_path / "time_source/value")
.add_coerced_subscriber([mb](const std::string &time_source){
- mb->rpc->notify_with_token("set_time_source", time_source);
+ //mb->rpc->notify_with_token("set_time_source", time_source);
+ // FIXME: Undo these changes
+ auto current_src = mb->rpc->request_with_token<std::string>(
+ "get_time_source"
+ );
+ if (current_src != time_source) {
+ UHD_LOG_WARNING("MPMD",
+ "Setting time source at runtime is currently not "
+ "supported. Use time_source=XXX as a device arg to "
+ "select a time source. The current source is: "
+ << current_src);
+ }
})
.set_publisher([mb](){
return mb->rpc->request_with_token<std::string>(