aboutsummaryrefslogtreecommitdiffstats
path: root/uhd_b200_test
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2014-03-16 22:28:34 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2014-03-16 22:28:34 +0100
commitb9ef76cd181bf80e92b5f8cdb63b76124ecc387f (patch)
treeae92eaada971b8d967233333e25f99460feeb225 /uhd_b200_test
parentcc73daa89163af212ca0b19a8a69bcf5661a0957 (diff)
downloadmmbtools-aux-b9ef76cd181bf80e92b5f8cdb63b76124ecc387f.tar.gz
mmbtools-aux-b9ef76cd181bf80e92b5f8cdb63b76124ecc387f.tar.bz2
mmbtools-aux-b9ef76cd181bf80e92b5f8cdb63b76124ecc387f.zip
add b200 master_clk_rate testing program
Diffstat (limited to 'uhd_b200_test')
-rw-r--r--uhd_b200_test/Makefile2
-rw-r--r--uhd_b200_test/test.cpp73
2 files changed, 75 insertions, 0 deletions
diff --git a/uhd_b200_test/Makefile b/uhd_b200_test/Makefile
new file mode 100644
index 0000000..c9dda31
--- /dev/null
+++ b/uhd_b200_test/Makefile
@@ -0,0 +1,2 @@
+all:
+ g++ -Wall -luhd -lboost_system test.cpp -o test
diff --git a/uhd_b200_test/test.cpp b/uhd_b200_test/test.cpp
new file mode 100644
index 0000000..51d7ce6
--- /dev/null
+++ b/uhd_b200_test/test.cpp
@@ -0,0 +1,73 @@
+/* Test program for USRP B200 master_clock_rate
+ * setting.
+ *
+ * Compile with
+ * g++ -Wall -luhd -lboost_system test.cpp -o test
+ *
+ * Matthias P. Braendli
+ * http://mpb.li
+ *
+ * Code partly taken from ODR-DabMod
+ * http://opendigitalradio.org
+ */
+#include <uhd/utils/thread_priority.hpp>
+#include <uhd/utils/safe_main.hpp>
+#include <uhd/usrp/multi_usrp.hpp>
+#include <boost/thread/thread.hpp>
+#include <boost/thread/barrier.hpp>
+#include <boost/shared_ptr.hpp>
+#include <list>
+#include <string>
+
+#include <iostream>
+#include <assert.h>
+#include <stdexcept>
+#include <stdio.h>
+#include <time.h>
+#include <errno.h>
+#include <unistd.h>
+
+typedef std::complex<float> complexf;
+
+const double dab_rate_base = 2048000;
+
+int main(int argc, char **argv)
+{
+ uhd::set_thread_priority_safe();
+ std::string myDevice = "type=b200";
+
+ //create a usrp device
+ printf("OutputUHD:Creating the usrp device with: %s...\n",
+ myDevice.c_str());
+
+ uhd::usrp::multi_usrp::sptr myUsrp;
+
+ myUsrp = uhd::usrp::multi_usrp::make(myDevice);
+
+ printf("OutputUHD:Using device: %s...\n", myUsrp->get_pp_string().c_str());
+
+ std::cerr << "UHD clock source is " <<
+ myUsrp->get_clock_source(0) << std::endl;
+
+ std::cerr << "UHD time source is " <<
+ myUsrp->get_time_source(0) << std::endl;
+
+ int mult = 5;
+
+ while (dab_rate_base * mult < 56000000) {
+
+ myUsrp->set_master_clock_rate(dab_rate_base * mult);
+
+ double real_rate = myUsrp->get_master_clock_rate();
+
+ if (real_rate == dab_rate_base * mult) {
+ std::cout << "SUCCESS: " << mult << std::endl;
+ }
+ else {
+ std::cout << "FAILURE: " << mult << std::endl;
+ }
+
+ mult++;
+ }
+}
+