Guest User

Untitled

a guest
Nov 28th, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. diff --git a/lib/uhd/uhd_source_c.cc b/lib/uhd/uhd_source_c.cc
  2. index 203caf4..9bdcd27 100644
  3. --- a/lib/uhd/uhd_source_c.cc
  4. +++ b/lib/uhd/uhd_source_c.cc
  5. @@ -55,7 +55,8 @@ uhd_source_c::uhd_source_c(const std::string &args) :
  6. BOOST_FOREACH( dict_t::value_type &entry, dict ) {
  7. if ( "uhd" != entry.first &&
  8. "nchan" != entry.first &&
  9. - "subdev" != entry.first ) {
  10. + "subdev" != entry.first &&
  11. + "lo_offset" != entry.first ) {
  12. arguments += entry.first + "=" + entry.second + ",";
  13. }
  14. }
  15. @@ -66,6 +67,10 @@ uhd_source_c::uhd_source_c(const std::string &args) :
  16.  
  17. if (dict.count("subdev"))
  18. _src->set_subdev_spec( dict["subdev"] );
  19. +
  20. + _offset = 0.0;
  21. + if (dict.count("lo_offset"))
  22. + _offset = boost::lexical_cast< double >( dict["lo_offset"] );
  23.  
  24. for ( size_t i = 0; i < nchan; i++ )
  25. connect( _src, i, self(), i );
  26. @@ -167,7 +172,10 @@ osmosdr::freq_range_t uhd_source_c::get_freq_range( size_t chan )
  27.  
  28. double uhd_source_c::set_center_freq( double freq, size_t chan )
  29. {
  30. - _src->set_center_freq(freq, chan);
  31. + //advanced tuning with tune_request_t
  32. + uhd::tune_request_t tune_req(freq, _offset);
  33. +
  34. + _src->set_center_freq(tune_req, chan);
  35.  
  36. return get_center_freq(chan);
  37. }
  38. diff --git a/lib/uhd/uhd_source_c.h b/lib/uhd/uhd_source_c.h
  39. index 9c193ae..4e1d60c 100644
  40. --- a/lib/uhd/uhd_source_c.h
  41. +++ b/lib/uhd/uhd_source_c.h
  42. @@ -72,12 +72,14 @@ public:
  43. double get_gain( size_t chan = 0 );
  44. double get_gain( const std::string & name, size_t chan = 0 );
  45.  
  46. +
  47. std::vector< std::string > get_antennas( size_t chan = 0 );
  48. std::string set_antenna( const std::string & antenna, size_t chan = 0 );
  49. std::string get_antenna( size_t chan = 0 );
  50.  
  51. private:
  52. boost::shared_ptr<uhd_usrp_source> _src;
  53. + double _offset;
  54. };
  55.  
  56. #endif // UHD_SOURCE_C_H
Advertisement
Add Comment
Please, Sign In to add comment