aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/examples/test_pps_input.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/host/examples/test_pps_input.cpp b/host/examples/test_pps_input.cpp
index c07f2fffd..889c98a45 100644
--- a/host/examples/test_pps_input.cpp
+++ b/host/examples/test_pps_input.cpp
@@ -31,12 +31,14 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
//variables to be set by po
std::string args;
+ std::string time_source;
//setup the program options
po::options_description desc("Allowed options");
desc.add_options()
("help", "help message")
("args", po::value<std::string>(&args)->default_value(""), "single uhd device address args")
+ ("source", po::value<std::string>(&time_source)->default_value(""), "the time source (gpsdo, external) or blank for default")
;
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
@@ -54,6 +56,12 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(args);
std::cout << boost::format("Using Device: %s") % usrp->get_pp_string() << std::endl;
+ //sleep off if gpsdo detected and time next pps already set
+ boost::this_thread::sleep(boost::posix_time::seconds(1));
+
+ //set time source if specified
+ if (not time_source.empty()) usrp->set_time_source(time_source);
+
//set the time at an unknown pps (will throw if no pps)
std::cout << std::endl << "Attempt to detect the PPS and set the time..." << std::endl << std::endl;
usrp->set_time_unknown_pps(uhd::time_spec_t(0.0));