Revision e033fc3d host/lib/usrp/multi_usrp.cpp
| b/host/lib/usrp/multi_usrp.cpp | ||
|---|---|---|
| 65 | 65 |
} |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
static meta_range_t make_overall_tune_range( |
|
| 69 |
const meta_range_t &fe_range, |
|
| 70 |
const meta_range_t &dsp_range, |
|
| 71 |
const double bw |
|
| 72 |
){
|
|
| 73 |
return meta_range_t( |
|
| 74 |
fe_range.start() + std::max(dsp_range.start(), -bw), |
|
| 75 |
fe_range.stop() + std::min(dsp_range.stop(), bw), |
|
| 76 |
dsp_range.step() |
|
| 77 |
); |
|
| 78 |
} |
|
| 79 |
|
|
| 68 | 80 |
/*********************************************************************** |
| 69 | 81 |
* Gain helper functions |
| 70 | 82 |
**********************************************************************/ |
| ... | ... | |
| 442 | 454 |
} |
| 443 | 455 |
|
| 444 | 456 |
freq_range_t get_rx_freq_range(size_t chan){
|
| 445 |
meta_range_t range = _tree->access<meta_range_t>(rx_rf_fe_root(chan) / "freq" / "range").get(); |
|
| 446 |
meta_range_t dsp_range = _tree->access<meta_range_t>(rx_dsp_root(chan) / "freq" / "range").get(); |
|
| 447 |
return meta_range_t(range.start() + dsp_range.start(), range.stop() + dsp_range.stop(), dsp_range.step()); |
|
| 457 |
return make_overall_tune_range( |
|
| 458 |
_tree->access<meta_range_t>(rx_rf_fe_root(chan) / "freq" / "range").get(), |
|
| 459 |
_tree->access<meta_range_t>(rx_dsp_root(chan) / "freq" / "range").get(), |
|
| 460 |
this->get_rx_bandwidth(chan) |
|
| 461 |
); |
|
| 448 | 462 |
} |
| 449 | 463 |
|
| 450 | 464 |
void set_rx_gain(double gain, const std::string &name, size_t chan){
|
| ... | ... | |
| 550 | 564 |
} |
| 551 | 565 |
|
| 552 | 566 |
freq_range_t get_tx_freq_range(size_t chan){
|
| 553 |
meta_range_t range = _tree->access<meta_range_t>(tx_rf_fe_root(chan) / "freq" / "range").get(); |
|
| 554 |
meta_range_t dsp_range = _tree->access<meta_range_t>(tx_dsp_root(chan) / "freq" / "range").get(); |
|
| 555 |
return meta_range_t(range.start() + dsp_range.start(), range.stop() + dsp_range.stop(), dsp_range.step()); |
|
| 567 |
return make_overall_tune_range( |
|
| 568 |
_tree->access<meta_range_t>(tx_rf_fe_root(chan) / "freq" / "range").get(), |
|
| 569 |
_tree->access<meta_range_t>(tx_dsp_root(chan) / "freq" / "range").get(), |
|
| 570 |
this->get_tx_bandwidth(chan) |
|
| 571 |
); |
|
| 556 | 572 |
} |
| 557 | 573 |
|
| 558 | 574 |
void set_tx_gain(double gain, const std::string &name, size_t chan){
|
Also available in: Unified diff