aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp')
-rw-r--r--host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp b/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp
index 4f4dd925c..c070dabea 100644
--- a/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp
+++ b/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_impl.hpp
@@ -114,6 +114,12 @@ public:
bool get_tx_lo_export_enabled(const std::string& name, const size_t chan);
bool get_rx_lo_export_enabled(const std::string& name, const size_t chan);
+ // LO Distribution Control
+ void set_tx_lo_output_enabled(const bool enabled, const std::string& port_name, const size_t chan);
+ void set_rx_lo_output_enabled(const bool enabled, const std::string& port_name, const size_t chan);
+ bool get_tx_lo_output_enabled(const std::string& port_name, const size_t chan);
+ bool get_rx_lo_output_enabled(const std::string& port_name, const size_t chan);
+
// LO Gain Control
//! Set the external gain for a TX LO
@@ -185,6 +191,25 @@ private:
const direction_t dir
);
+ //! Validate that port_name is valid, and that LO distribution functions
+ // can be called in this instance
+ void _validate_output_port(
+ const std::string& port_name,
+ const std::string& function_name
+ );
+
+ //! Configure LO Distribution board's termination switches
+ void _set_lo_output_enabled(
+ const bool enabled,
+ const std::string& port_name,
+ const direction_t dir
+ );
+
+ bool _get_lo_output_enabled(
+ const std::string& port_name,
+ const direction_t dir
+ );
+
//! Configure LO1's output power
// Out of range values will be coerced to [0-63]
double _set_lo1_power(
@@ -336,6 +361,13 @@ private:
double _rx_lo_freq = 0.0;
double _tx_lo_freq = 0.0;
+ //! LO Distribution board
+ bool _lo_dist_present = false;
+
+ //! LO Distribution board output status
+ bool _lo_dist_rx_out_enabled[4] = { false, false, false, false };
+ bool _lo_dist_tx_out_enabled[4] = { false, false, false, false };
+
}; /* class radio_ctrl_impl */
}} /* namespace uhd::rfnoc */