diff options
Diffstat (limited to 'host/lib/include/uhdlib')
-rw-r--r-- | host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp | 7 | ||||
-rw-r--r-- | host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp b/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp index bc61b9d61..f6956a6aa 100644 --- a/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp +++ b/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp @@ -10,6 +10,7 @@ #include <unordered_map> #include <array> #include <cstddef> +#include <cstring> #include <list> #include <map> #include <string> @@ -199,6 +200,10 @@ struct tune_map_item_t double if1_freq_max; double if2_freq_min; double if2_freq_max; + + bool operator==(const tune_map_item_t& other) const { + return std::memcmp(this, &other, sizeof(tune_map_item_t)) == 0; + } }; // These are addresses for the various table-based registers @@ -266,4 +271,6 @@ namespace uhd { namespace usrp { namespace zbx { // Any added expert nodes of type enum class will have to define this std::ostream& operator<<( std::ostream& os, const ::uhd::usrp::zbx::zbx_lo_source_t& lo_source); +std::ostream& operator<<( + std::ostream& os, const std::vector<::uhd::usrp::zbx::tune_map_item_t>& tune_map); }}} // namespace uhd::usrp::zbx diff --git a/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp b/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp index f4e2003ea..9d67e3041 100644 --- a/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp +++ b/host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp @@ -103,6 +103,7 @@ public: const double lo_step_size) : experts::worker_node_t(fe_path / "zbx_freq_fe_expert") , _desired_frequency(db, fe_path / "freq" / "desired") + , _tune_table(db, fe_path / "tune_table") , _desired_lo1_frequency(db, fe_path / "los" / ZBX_LO1 / "freq" / "value" / "desired") , _desired_lo2_frequency(db, fe_path / "los" / ZBX_LO2 / "freq" / "value" / "desired") , _lo1_enabled(db, fe_path / ZBX_LO1 / "enabled") @@ -124,6 +125,7 @@ public: { // Inputs bind_accessor(_desired_frequency); + bind_accessor(_tune_table); // Outputs bind_accessor(_desired_lo1_frequency); @@ -147,6 +149,7 @@ private: // Inputs from user/API uhd::experts::data_reader_t<double> _desired_frequency; + uhd::experts::data_reader_t<std::vector<tune_map_item_t>> _tune_table; // Outputs // From calculation, to LO expert |