diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-03-16 22:28:34 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2014-03-16 22:28:34 +0100 |
commit | b9ef76cd181bf80e92b5f8cdb63b76124ecc387f (patch) | |
tree | ae92eaada971b8d967233333e25f99460feeb225 /uhd_b200_test | |
parent | cc73daa89163af212ca0b19a8a69bcf5661a0957 (diff) | |
download | mmbtools-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/Makefile | 2 | ||||
-rw-r--r-- | uhd_b200_test/test.cpp | 73 |
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++; + } +} + |