|
SoDaRadio-5.0.3-master:8901fb5
|
Generic class for TX and RX tuning. More...
#include <USRPTuner.hxx>
Public Member Functions | |
| USRPTuner (uhd::usrp::multi_usrp::sptr usrp, double min_separation, std::string unit_name=std::string("USRPTuner")) | |
| Constructor –. More... | |
| USRPTuner * | makeTuner (uhd::usrp::multi_usrp::sptr usrp, double min_separation, bool force_fracN=false, bool force_simple=false) |
| Factory to build a particular subclass of USRPTuner based on the detected front-end module. More... | |
| virtual bool | setRXFreq (double rx_freq, double avoid_freq, uhd::tune_result_t &tune_result)=0 |
| setRXFreq set the RX 1st LO frequency. More... | |
| virtual bool | setTXFreq (double tx_freq, double avoid_freq, uhd::tune_result_t &tune_result)=0 |
| setTXFreq set the TX 1st LO frequency. More... | |
Public Member Functions inherited from SoDa::Debug | |
| Debug (std::string _unit_name=std::string("UNKNOWN")) | |
| Debug (const char *_unit_name_cstr) | |
| Debug (unsigned int _debug_level, std::string _unit_name=std::string("UNKNOWN")) | |
| Debug (unsigned int _debug_level, const char *_unit_name_cstr) | |
| void | debugMsg (const std::string &msg, unsigned int threshold=1) |
| void | debugMsg (const boost::format &fmt, unsigned int threshold=1) |
| void | debugMsg (const char *msg, unsigned int threshold=1) |
| void | setDebugLevel (unsigned int v) |
| unsigned int | getDebugLevel () |
Protected Member Functions | |
| virtual bool | checkLock (uhd::tune_request_t &req, char sel, uhd::tune_result_t &cur) |
| is the identified (rx or tx) front-end LO locked? If not, set the tuning frequency to "the right thing" More... | |
Protected Member Functions inherited from SoDa::Debug | |
| std::string | curDateTime () |
Protected Attributes | |
| double | min_separation |
| uhd::usrp::multi_usrp::sptr | usrp |
| bool | has_lock_detect |
Protected Attributes inherited from SoDa::Debug | |
| std::string | unit_name |
| the name of the unit reporting status More... | |
| unsigned int | debug_level |
| the debug level (threshold) for messages More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from SoDa::Debug | |
| static void | setDefaultLevel (unsigned int v) |
| static unsigned int | getDefaultLevel () |
| static void | setGlobalLevel (unsigned int v) |
| static unsigned int | getGlobalLevel () |
Static Public Attributes inherited from SoDa::Debug | |
| static boost::mutex | debug_msg_mutex |
Static Protected Attributes inherited from SoDa::Debug | |
| static unsigned int | default_debug_level = 0 |
| static unsigned int | global_debug_level = 0 |
Generic class for TX and RX tuning.
This is specialized for each of the daughtercard modules that needs specialization. The base class implements the standard tuning interface (typically fractional-N).
Definition at line 62 of file USRPTuner.hxx.
| SoDa::USRPTuner::USRPTuner | ( | uhd::usrp::multi_usrp::sptr | usrp, |
| double | min_separation, | ||
| std::string | unit_name = std::string("USRPTuner") |
||
| ) |
Constructor –.
| unit_name | the name of this tuner |
| usrp | a pointer to the USRP object that owns this tuner |
| min_separation | where possible, the LO frequency should be at least min_separation Hz from a specified "avoid_frequency." |
do nothing here, just remember our separation spec.
Definition at line 57 of file USRPTuner.cxx.
References has_lock_detect, min_separation, and usrp.
|
protectedvirtual |
is the identified (rx or tx) front-end LO locked? If not, set the tuning frequency to "the right thing"
| req | the requested frequency (and tuning discipline) |
| sel | 'r' for RX LO, 't' for TX LO |
| cur | tuning result, if the LO was locked. |
Definition at line 121 of file USRPTuner.cxx.
References SoDa::Debug::debugMsg(), has_lock_detect, and usrp.
Referenced by SoDa::IntNTuner::setRXFreq(), and SoDa::IntNTuner::setTXFreq().
| USRPTuner* SoDa::USRPTuner::makeTuner | ( | uhd::usrp::multi_usrp::sptr | usrp, |
| double | min_separation, | ||
| bool | force_fracN = false, |
||
| bool | force_simple = false |
||
| ) |
Factory to build a particular subclass of USRPTuner based on the detected front-end module.
| usrp | a pointer to the USRP object that owns this tuner |
| min_separation | where possible, the LO frequency should be at least min_separation Hz from a specified "avoid_frequency." |
| force_fracN | if true, turn off intN tuning mode even if it supported, |
| force_simple | if true, use the simplest version of the tuner. |
|
pure virtual |
setRXFreq set the RX 1st LO frequency.
Where possible, the chosen frequency should be separated from the avoid_freq by the amount specified when we created this tuning object.
| rx_freq | the target frequency of interest |
| avoid_freq | the frequency that we must avoid by at least min_sep |
| tune_result | the response from the UHD set_xx_freq request |
Implemented in SoDa::SimpleTuner, and SoDa::IntNTuner.
Referenced by SoDa::IntNTuner::IntNTuner().
|
pure virtual |
setTXFreq set the TX 1st LO frequency.
Where possible, the chosen frequency should be separated from the avoid_freq by the amount specified when we created this tuning object.
| tx_freq | the target frequency of interest |
| avoid_freq | the frequency that we must avoid by at least min_sep |
| tune_result | the response from the UHD set_xx_freq request |
Implemented in SoDa::SimpleTuner, and SoDa::IntNTuner.
Referenced by SoDa::IntNTuner::IntNTuner().
|
protected |
Definition at line 120 of file USRPTuner.hxx.
Referenced by checkLock(), and USRPTuner().
|
protected |
Definition at line 118 of file USRPTuner.hxx.
Referenced by USRPTuner().
|
protected |
Definition at line 119 of file USRPTuner.hxx.
Referenced by checkLock(), SoDa::IntNTuner::setRXFreq(), SoDa::SimpleTuner::setRXFreq(), SoDa::IntNTuner::setTXFreq(), SoDa::SimpleTuner::setTXFreq(), and USRPTuner().
1.8.13