aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include
diff options
context:
space:
mode:
authorLane Kolbly <lane.kolbly@ni.com>2022-01-31 16:10:42 -0600
committerAaron Rossetto <aaron.rossetto@ni.com>2022-02-03 14:19:40 -0600
commitd2374c6ad67f94fa577d28d5660f32579f4775cc (patch)
tree5d18d4ae1ca9d5cd6720380d419a3888c64f4385 /host/lib/include
parentc8849fadc8819f5dbfd2d5fd3ad010da8e102c7a (diff)
downloaduhd-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.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