aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/multi_usrp.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-02-03 18:51:42 -0800
committerJosh Blum <josh@joshknows.com>2011-02-03 18:51:42 -0800
commitd6c52af6a8ac2e2a85942116768cf69971aac48a (patch)
tree58f90b7da55eda0317ac1343ad7878c9adfdc631 /host/lib/usrp/multi_usrp.cpp
parent5d459d1cb09cdce0c1fd4d7e7d0259310921b94f (diff)
parent43b19815fec253dc7e5538329f9fe1363f007b8a (diff)
downloaduhd-d6c52af6a8ac2e2a85942116768cf69971aac48a.tar.gz
uhd-d6c52af6a8ac2e2a85942116768cf69971aac48a.tar.bz2
uhd-d6c52af6a8ac2e2a85942116768cf69971aac48a.zip
Merge branch 'convert_fc64'
Diffstat (limited to 'host/lib/usrp/multi_usrp.cpp')
-rw-r--r--host/lib/usrp/multi_usrp.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp
index 48eec28c1..817d7b085 100644
--- a/host/lib/usrp/multi_usrp.cpp
+++ b/host/lib/usrp/multi_usrp.cpp
@@ -53,11 +53,26 @@ public:
/*******************************************************************
* Mboard methods
******************************************************************/
+ void set_master_clock_rate(double rate, size_t mboard){
+ if (mboard != ALL_MBOARDS){
+ _mboard(mboard)[MBOARD_PROP_CLOCK_RATE] = rate;
+ return;
+ }
+ for (size_t m = 0; m < get_num_mboards(); m++){
+ set_master_clock_rate(rate, m);
+ }
+ }
+
+ double get_master_clock_rate(size_t mboard){
+ return _mboard(mboard)[MBOARD_PROP_CLOCK_RATE].as<double>();
+ }
+
std::string get_pp_string(void){
std::string buff = str(boost::format(
- "Multi USRP:\n"
+ "%s USRP:\n"
" Device: %s\n"
)
+ % ((get_num_mboards() > 1)? "Multi" : "Single")
% (*_dev)[DEVICE_PROP_NAME].as<std::string>()
);
for (size_t m = 0; m < get_num_mboards(); m++){
@@ -121,6 +136,16 @@ public:
return _mboard(0)[MBOARD_PROP_TIME_PPS].as<time_spec_t>();
}
+ void set_time_now(const time_spec_t &time_spec, size_t mboard){
+ if (mboard != ALL_MBOARDS){
+ _mboard(mboard)[MBOARD_PROP_TIME_NOW] = time_spec;
+ return;
+ }
+ for (size_t m = 0; m < get_num_mboards(); m++){
+ set_time_now(time_spec, m);
+ }
+ }
+
void set_time_next_pps(const time_spec_t &time_spec){
for (size_t m = 0; m < get_num_mboards(); m++){
_mboard(m)[MBOARD_PROP_TIME_PPS] = time_spec;