aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp')
-rw-r--r--host/lib/usrp/mpmd/mpmd_mb_controller.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/host/lib/usrp/mpmd/mpmd_mb_controller.cpp b/host/lib/usrp/mpmd/mpmd_mb_controller.cpp
index cdc86b086..c03f66da3 100644
--- a/host/lib/usrp/mpmd/mpmd_mb_controller.cpp
+++ b/host/lib/usrp/mpmd/mpmd_mb_controller.cpp
@@ -334,7 +334,11 @@ std::vector<std::string> mpmd_mb_controller::get_gpio_src(const std::string& ban
UHD_LOG_ERROR("MPMD", "Invalid GPIO bank: `" << bank << "'");
throw uhd::key_error(std::string("Invalid GPIO bank: ") + bank);
}
- return _rpc->get_gpio_src(bank);
+ if (_current_gpio_src.count(bank)) {
+ return _current_gpio_src[bank];
+ } else {
+ return _rpc->get_gpio_src(bank);
+ }
}
void mpmd_mb_controller::set_gpio_src(
@@ -345,6 +349,7 @@ void mpmd_mb_controller::set_gpio_src(
throw uhd::key_error(std::string("Invalid GPIO bank: ") + bank);
}
_rpc->set_gpio_src(bank, src);
+ _current_gpio_src[bank] = src;
}
void mpmd_mb_controller::register_sync_source_updater(