diff options
Diffstat (limited to 'host/lib/usrp/dboard')
| -rw-r--r-- | host/lib/usrp/dboard/zbx/zbx_dboard_init.cpp | 14 | ||||
| -rw-r--r-- | host/lib/usrp/dboard/zbx/zbx_expert.cpp | 9 | 
2 files changed, 18 insertions, 5 deletions
diff --git a/host/lib/usrp/dboard/zbx/zbx_dboard_init.cpp b/host/lib/usrp/dboard/zbx/zbx_dboard_init.cpp index 6871080ff..18fb9bbe1 100644 --- a/host/lib/usrp/dboard/zbx/zbx_dboard_init.cpp +++ b/host/lib/usrp/dboard/zbx/zbx_dboard_init.cpp @@ -66,6 +66,13 @@ std::ostream& operator<<(      }  } +std::ostream& operator<<( +    std::ostream& os, const std::vector<::uhd::usrp::zbx::tune_map_item_t>& tune_map) +{ +    os << "Tune map with " << tune_map.size() << " entries"; +    return os; +} +  void zbx_dboard_impl::_init_cpld()  {      // CPLD @@ -573,6 +580,13 @@ void zbx_dboard_impl::_init_lo_prop_tree(uhd::property_tree::sptr subtree,      const size_t chan_idx,      const fs_path fe_path)  { +    // Tuning table +    expert_factory::add_prop_node<std::vector<tune_map_item_t>>(expert, +        subtree, +        fe_path / "tune_table", +        trx == RX_DIRECTION ? rx_tune_map : tx_tune_map, +        AUTO_RESOLVE_ON_WRITE); +      // Analog LO Specific      for (const std::string lo : {ZBX_LO1, ZBX_LO2}) {          expert_factory::add_prop_node<zbx_lo_source_t>(expert, diff --git a/host/lib/usrp/dboard/zbx/zbx_expert.cpp b/host/lib/usrp/dboard/zbx/zbx_expert.cpp index ae39814ff..02b4873d9 100644 --- a/host/lib/usrp/dboard/zbx/zbx_expert.cpp +++ b/host/lib/usrp/dboard/zbx/zbx_expert.cpp @@ -28,11 +28,10 @@ bool _is_band_highband(const tune_map_item_t tune_setting)      return tune_setting.rf_fir == 0;  } -tune_map_item_t _get_tune_settings(const double freq, const uhd::direction_t trx) +tune_map_item_t _get_tune_settings(const double freq, const std::vector<tune_map_item_t>& tune_map)  { -    auto tune_setting = trx == RX_DIRECTION ? rx_tune_map.begin() : tx_tune_map.begin(); - -    auto tune_settings_end = trx == RX_DIRECTION ? rx_tune_map.end() : tx_tune_map.end(); +    auto tune_setting = tune_map.begin(); +    auto tune_settings_end = tune_map.end();      for (; tune_setting != tune_settings_end; ++tune_setting) {          if (tune_setting->max_band_freq >= freq) { @@ -147,7 +146,7 @@ void zbx_scheduling_expert::resolve()  void zbx_freq_fe_expert::resolve()  {      const double tune_freq = ZBX_FREQ_RANGE.clip(_desired_frequency); -    _tune_settings         = _get_tune_settings(tune_freq, _trx); +    _tune_settings         = _get_tune_settings(tune_freq, _tune_table.get());      // Set mixer values so the backend expert knows how to calculate final frequency      _mixer1_m  = _tune_settings.mix1_m;  | 
