aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp
diff options
context:
space:
mode:
authorLars Amsel <lars.amsel@ni.com>2021-06-04 08:27:50 +0200
committerAaron Rossetto <aaron.rossetto@ni.com>2021-06-10 12:01:53 -0500
commit2a575bf9b5a4942f60e979161764b9e942699e1e (patch)
tree2f0535625c30025559ebd7494a4b9e7122550a73 /host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp
parente17916220cc955fa219ae37f607626ba88c4afe3 (diff)
downloaduhd-2a575bf9b5a4942f60e979161764b9e942699e1e.tar.gz
uhd-2a575bf9b5a4942f60e979161764b9e942699e1e.tar.bz2
uhd-2a575bf9b5a4942f60e979161764b9e942699e1e.zip
uhd: Add support for the USRP X410
Co-authored-by: Lars Amsel <lars.amsel@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Martin Braun <martin.braun@ettus.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Cristina Fuentes <cristina.fuentes-curiel@ni.com> Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Co-authored-by: Lane Kolbly <lane.kolbly@ni.com> Co-authored-by: Max Köhler <max.koehler@ni.com> Co-authored-by: Andrew Lynch <andrew.lynch@ni.com> Co-authored-by: Grant Meyerhoff <grant.meyerhoff@ni.com> Co-authored-by: Ciro Nishiguchi <ciro.nishiguchi@ni.com> Co-authored-by: Thomas Vogel <thomas.vogel@ni.com>
Diffstat (limited to 'host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp')
-rw-r--r--host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp b/host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp
new file mode 100644
index 000000000..a6d52cbc0
--- /dev/null
+++ b/host/lib/include/uhdlib/usrp/dboard/x400_dboard_iface.hpp
@@ -0,0 +1,42 @@
+//
+// Copyright 2021 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#pragma once
+
+#include <uhdlib/rfnoc/rf_control/dboard_iface.hpp>
+#include <memory>
+
+namespace uhd { namespace usrp { namespace x400 {
+
+/*! Parameters used for ADC self cal on the X400.
+ *
+ * If the daughterboard supports ADC self-cal, min_gain and max_gain will be the
+ * gains used in the gain auto detection algorithm.
+ */
+struct adc_self_cal_params_t
+{
+ double min_gain;
+ double max_gain;
+ double rx_freq;
+ double tx_freq;
+};
+
+/*! Interface for daughterboards which support being plugged into a X400 motherboard.
+ */
+class x400_dboard_iface : public uhd::rfnoc::rf_control::dboard_iface
+{
+public:
+ using sptr = std::shared_ptr<x400_dboard_iface>;
+
+ //! Returns whether this dboard supports ADC self cal
+ virtual bool is_adc_self_cal_supported() = 0;
+
+ //! Returns the parameters required to generate a suitable loopback tone at
+ //! tone_freq to perform ADC self cal.
+ virtual adc_self_cal_params_t get_adc_self_cal_params(double tone_freq) = 0;
+};
+
+}}} // namespace uhd::usrp::x400