Guest User

Untitled

a guest
Jul 15th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. #include <uhd/utils/thread_priority.hpp>
  2. #include <uhd/utils/safe_main.hpp>
  3. #include <uhd/usrp/multi_usrp.hpp>
  4. #include <uhd/exception.hpp>
  5. #include <uhd/types/tune_request.hpp>
  6. #include <boost/program_options.hpp>
  7. #include <boost/format.hpp>
  8. #include <boost/thread.hpp>
  9. #include <iostream>
  10.  
  11. int UHD_SAFE_MAIN(int argc, char *argv[]) {
  12. uhd::set_thread_priority_safe();
  13.  
  14. std::string device_args("type=x300,addr=192.168.30.2,second_addr=192.168.40.2");
  15. std::string subdev("A:0 A:1 B:0 B:1");
  16.  
  17. //create a usrp device
  18. std::cout << std::endl;
  19. std::cout << boost::format("Creating the usrp device with: %s...") % device_args << std::endl;
  20. uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(device_args);
  21.  
  22. //always select the subdevice first, the channel mapping affects the other settings
  23. std::cout << boost::format("subdev set to: %f") % subdev << std::endl;
  24. usrp->set_rx_subdev_spec(subdev);
  25.  
  26. //sample rates for each channel
  27. double sample_rate0 = 100e6;
  28. double sample_rate1 = 50e6;
  29. double sample_rate2 = 25e6;
  30. double sample_rate3 = 5e6;
  31.  
  32. // set sample 0
  33. std::cout << boost::format("Setting RX0 Rate: %f Msps...") % (sample_rate0 / 1e6) << std::endl;
  34. usrp->set_rx_rate(sample_rate0,0);
  35. std::cout << boost::format("Actual RX0 Rate: %f Msps...") % (usrp->get_rx_rate(0) / 1e6) << std::endl << std::endl;
  36.  
  37. // set sample rate 1
  38. std::cout << boost::format("Setting RX1 Rate: %f Msps...") % (sample_rate1 / 1e6) << std::endl;
  39. usrp->set_rx_rate(sample_rate1,1);
  40. std::cout << boost::format("Actual RX1 Rate: %f Msps...") % (usrp->get_rx_rate(1) / 1e6) << std::endl << std::endl;
  41.  
  42. // set sample rate 2
  43. std::cout << boost::format("Setting RX2 Rate: %f Msps...") % (sample_rate2 / 1e6) << std::endl;
  44. usrp->set_rx_rate(sample_rate2,2);
  45. std::cout << boost::format("Actual RX2 Rate: %f Msps...") % (usrp->get_rx_rate(2) / 1e6) << std::endl << std::endl;
  46.  
  47. // set sample rate 3
  48. std::cout << boost::format("Setting RX3 Rate: %f Msps...") % (sample_rate3 / 1e6) << std::endl;
  49. usrp->set_rx_rate(sample_rate3,3);
  50. std::cout << boost::format("Actual RX3 Rate: %f Msps...") % (usrp->get_rx_rate(3) / 1e6) << std::endl << std::endl;
  51.  
  52. std::cout << "------------------setup rx stream---------------------------" << std::endl;
  53. std::vector<size_t> channels;
  54. channels.push_back(0); // channel 0
  55. channels.push_back(1); // channel 1
  56. channels.push_back(2); // channel 2
  57. channels.push_back(3); // channel 3
  58. uhd::stream_args_t stream_args("sc16");
  59. stream_args.channels = channels;
  60. uhd::rx_streamer::sptr rx = usrp->get_rx_stream(stream_args);
  61.  
  62. std::cout << "--------------error here-------------------------------" << std::endl;
  63. std::cout << boost::format("Actual RX0 Rate: %f Msps...") % (usrp->get_rx_rate(0) / 1e6) << std::endl << std::endl;
  64. std::cout << boost::format("Actual RX1 Rate: %f Msps...") % (usrp->get_rx_rate(1) / 1e6) << std::endl << std::endl;
  65. std::cout << boost::format("Actual RX2 Rate: %f Msps...") % (usrp->get_rx_rate(2) / 1e6) << std::endl << std::endl;
  66. std::cout << boost::format("Actual RX3 Rate: %f Msps...") % (usrp->get_rx_rate(3) / 1e6) << std::endl << std::endl;
  67.  
  68. return EXIT_SUCCESS;
  69. }
Add Comment
Please, Sign In to add comment