aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp')
-rw-r--r--host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp b/host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp
new file mode 100644
index 000000000..e3af493b1
--- /dev/null
+++ b/host/lib/usrp/dboard/magnesium/magnesium_gain_table.hpp
@@ -0,0 +1,40 @@
+//
+// Copyright 2017 Ettus Research, a National Instruments Company
+//
+// SPDX-License-Identifier: GPL-3.0
+//
+
+#ifndef INCLUDED_LIBUHD_MAGNESIUM_GAIN_TABLE_HPP
+#define INCLUDED_LIBUHD_MAGNESIUM_GAIN_TABLE_HPP
+
+#include <uhd/types/direction.hpp>
+
+namespace magnesium {
+
+/*! Store all gain-table related settings for the N310 (Magnesium) daughterboard
+ *
+ * For every requested gain value, one of these will be returned. Works for TX
+ * and RX paths.
+ */
+struct gain_tuple_t
+{
+ //! Attenuation value of the DSA in dB
+ double dsa_att;
+ //! Attenuation value of Mykonos (AD9371) in dB
+ double ad9371_att;
+ //! If true, bypass LNA or PA section
+ bool bypass;
+};
+
+
+/*! Given a gain index, return a tuple of gain-related settings
+ */
+gain_tuple_t get_gain_tuple(
+ const double gain_index,
+ const double freq,
+ const uhd::direction_t dir
+);
+
+} /* namespace magnesium */
+
+#endif