diff options
| -rw-r--r-- | host/utils/uhd_usrp_probe.cpp | 21 | 
1 files changed, 20 insertions, 1 deletions
diff --git a/host/utils/uhd_usrp_probe.cpp b/host/utils/uhd_usrp_probe.cpp index a03646cc0..f8a8b5665 100644 --- a/host/utils/uhd_usrp_probe.cpp +++ b/host/utils/uhd_usrp_probe.cpp @@ -192,7 +192,10 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){          ("version", "print the version string and exit")          ("args", po::value<std::string>()->default_value(""), "device address args")          ("tree", "specify to print a complete property tree") -        ("string", po::value<std::string>(), "query a string value from the properties tree") +        ("string", po::value<std::string>(), "query a string value from the property tree") +        ("double", po::value<std::string>(), "query a double precision floating point value from the property tree") +        ("int", po::value<std::string>(), "query a integer value from the property tree") +        ("range", po::value<std::string>(), "query a range (gain, bandwidth, frequency, ...)  from the property tree")          ("init-only", "skip all queries, only initialize device")      ; @@ -219,6 +222,22 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){          return EXIT_SUCCESS;      } +    if (vm.count("double")){ +        std::cout << tree->access<double>(vm["double"].as<std::string>()).get() << std::endl; +        return EXIT_SUCCESS; +    } + +    if (vm.count("int")){ +        std::cout << tree->access<int>(vm["int"].as<std::string>()).get() << std::endl; +        return EXIT_SUCCESS; +    } + +    if (vm.count("range")){ +        meta_range_t range = tree->access<meta_range_t>(vm["range"].as<std::string>()).get(); +        std::cout << boost::format("%.1f:%.1f:%.1f") % range.start() % range.step() % range.stop() << std::endl; +        return EXIT_SUCCESS; +    } +      if (vm.count("tree") != 0) print_tree("/", tree);      else if (not vm.count("init-only")) std::cout << make_border(get_device_pp_string(tree)) << std::endl;  | 
