aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/include/uhdlib')
-rw-r--r--host/lib/include/uhdlib/usrp/dboard/zbx/zbx_constants.hpp7
-rw-r--r--host/lib/include/uhdlib/usrp/dboard/zbx/zbx_expert.hpp3
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