diff options
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp')
-rw-r--r-- | host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp index e0031c611..7cebc168d 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_impl.hpp @@ -143,18 +143,41 @@ private: const double freq, const size_t chan ); - - void _update_freq_switches( + void _update_freq_switches( const double freq, const size_t chan, const direction_t dir ); void _update_atr_switches( - const size_t chan, + const magnesium_cpld_ctrl::chan_sel_t chan, const direction_t dir, const std::string &ant ); + + double _dsa_set_gain( + const double gain, + const size_t chan, + const direction_t dir + ); + double _dsa_get_gain( + const size_t chan, + const direction_t dir + ); + double _set_all_gain( + const double gain, + const size_t chan, + const direction_t dir + ); + double _get_all_gain( + const size_t chan, + const direction_t dir + ); + void _set_dsa_val( + const size_t chan, + const direction_t dir, + const uint32_t dsa_val + ); //! Letter representation of the radio we're currently running std::string _radio_slot; @@ -190,6 +213,15 @@ private: //! Front panel GPIO controller. Note that only one radio block per // module can be the FP-GPIO master. usrp::gpio_atr::gpio_atr_3000::sptr _fp_gpio; + //! AD9371 gain + double _ad9371_rx_gain = 0.0; + double _ad9371_tx_gain = 0.0; + //! DSA gain + double _dsa_rx_gain = 0.0; + double _dsa_tx_gain = 0.0; + //! All gain + double _all_rx_gain = 0.0; + double _all_tx_gain = 0.0; }; /* class radio_ctrl_impl */ |