diff options
author | Lane Kolbly <lane.kolbly@ni.com> | 2022-01-31 16:10:42 -0600 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2022-02-03 14:19:40 -0600 |
commit | d2374c6ad67f94fa577d28d5660f32579f4775cc (patch) | |
tree | 5d18d4ae1ca9d5cd6720380d419a3888c64f4385 /host/lib/include | |
parent | c8849fadc8819f5dbfd2d5fd3ad010da8e102c7a (diff) | |
download | uhd-d2374c6ad67f94fa577d28d5660f32579f4775cc.tar.gz uhd-d2374c6ad67f94fa577d28d5660f32579f4775cc.tar.bz2 uhd-d2374c6ad67f94fa577d28d5660f32579f4775cc.zip |
host: zbx: Expose tuning table on property tree
This allows viewing or, conceivably, customizing the tuning table that
ZBX uses, depending on the particular needs of the end user.
Diffstat (limited to 'host/lib/include')
-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 |