summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/include/uhd/usrp/mimo_usrp.hpp6
-rw-r--r--host/include/uhd/usrp/simple_usrp.hpp6
-rw-r--r--host/lib/usrp/mimo_usrp.cpp10
-rw-r--r--host/lib/usrp/simple_usrp.cpp4
4 files changed, 21 insertions, 5 deletions
diff --git a/host/include/uhd/usrp/mimo_usrp.hpp b/host/include/uhd/usrp/mimo_usrp.hpp
index a3cbde483..e85c06046 100644
--- a/host/include/uhd/usrp/mimo_usrp.hpp
+++ b/host/include/uhd/usrp/mimo_usrp.hpp
@@ -71,6 +71,12 @@ public:
* Misc
******************************************************************/
/*!
+ * Gets the current time in the usrp time registers.
+ * \return a timespec representing current usrp time
+ */
+ virtual time_spec_t get_time_now(void) = 0;
+
+ /*!
* Set the time registers on the usrp at the next pps tick.
* The values will not be latched in until the pulse occurs.
* It is recommended that the user sleep(1) after calling to ensure
diff --git a/host/include/uhd/usrp/simple_usrp.hpp b/host/include/uhd/usrp/simple_usrp.hpp
index 1d817e030..1d9136f08 100644
--- a/host/include/uhd/usrp/simple_usrp.hpp
+++ b/host/include/uhd/usrp/simple_usrp.hpp
@@ -64,6 +64,12 @@ public:
* Misc
******************************************************************/
/*!
+ * Gets the current time in the usrp time registers.
+ * \return a timespec representing current usrp time
+ */
+ virtual time_spec_t get_time_now(void) = 0;
+
+ /*!
* Sets the time registers on the usrp immediately.
* \param time_spec the time to latch into the usrp device
*/
diff --git a/host/lib/usrp/mimo_usrp.cpp b/host/lib/usrp/mimo_usrp.cpp
index bd7753d09..440aaf9f6 100644
--- a/host/lib/usrp/mimo_usrp.cpp
+++ b/host/lib/usrp/mimo_usrp.cpp
@@ -63,11 +63,6 @@ public:
BOOST_FOREACH(wax::obj mboard, _mboards){
mboard[MBOARD_PROP_CLOCK_CONFIG] = clock_config;
}
-
- //set the times to zero at the next pps and sleep
- this->set_time_next_pps(time_spec_t(0, 0));
- sleep(1);
-
}
~mimo_usrp_impl(void){
@@ -115,6 +110,11 @@ public:
/*******************************************************************
* Misc
******************************************************************/
+ time_spec_t get_time_now(void){
+ //the time on the first mboard better be the same on all
+ return _mboards.front()[MBOARD_PROP_TIME_NOW].as<time_spec_t>();
+ }
+
void set_time_next_pps(const time_spec_t &time_spec){
BOOST_FOREACH(wax::obj mboard, _mboards){
mboard[MBOARD_PROP_TIME_NEXT_PPS] = time_spec;
diff --git a/host/lib/usrp/simple_usrp.cpp b/host/lib/usrp/simple_usrp.cpp
index 4a5171cf7..56e82d7ee 100644
--- a/host/lib/usrp/simple_usrp.cpp
+++ b/host/lib/usrp/simple_usrp.cpp
@@ -86,6 +86,10 @@ public:
/*******************************************************************
* Misc
******************************************************************/
+ time_spec_t get_time_now(void){
+ return _mboard[MBOARD_PROP_TIME_NOW].as<time_spec_t>();
+ }
+
void set_time_now(const time_spec_t &time_spec){
_mboard[MBOARD_PROP_TIME_NOW] = time_spec;
}