USRP Hardware Driver and USRP Manual Version: 4.7.0.0-0-unknown
UHD and USRP Manual
 
Loading...
Searching...
No Matches
nameless_gain_mixin.hpp
Go to the documentation of this file.
1//
2// Copyright 2021 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
12#include <unordered_map>
13#include <functional>
14#include <memory>
15#include <string>
16#include <vector>
17
18namespace uhd { namespace rfnoc { namespace rf_control {
19
23{
24public:
26 std::function<std::string(const uhd::direction_t trx, const size_t chan)>;
27
33
34 virtual ~nameless_gain_mixin() = default;
35
36 double set_tx_gain(const double gain, const size_t chan) override;
37 double get_tx_gain(const size_t chan) override;
38
39 double set_rx_gain(const double gain, const size_t chan) override;
40 double get_rx_gain(const size_t chan) override;
41
42 // Getting the gain ranges is a bit different - these always use the empty name
43 gain_range_t get_tx_gain_range(const size_t chan) const override;
44 gain_range_t get_rx_gain_range(const size_t chan) const override;
45
46private:
47 name_selector _name_selector;
48
49 using core_iface::get_tx_gain;
50 using core_iface::get_tx_gain_range;
51 using core_iface::set_tx_gain;
52
53 using core_iface::get_rx_gain;
54 using core_iface::get_rx_gain_range;
55 using core_iface::set_rx_gain;
56};
57
58}}} // namespace uhd::rfnoc::rf_control
Definition core_iface.hpp:26
Definition nameless_gain_mixin.hpp:23
double set_tx_gain(const double gain, const size_t chan) override
double get_rx_gain(const size_t chan) override
nameless_gain_mixin(name_selector name_selector)
double get_tx_gain(const size_t chan) override
gain_range_t get_rx_gain_range(const size_t chan) const override
std::function< std::string(const uhd::direction_t trx, const size_t chan)> name_selector
Definition nameless_gain_mixin.hpp:25
double set_rx_gain(const double gain, const size_t chan) override
gain_range_t get_tx_gain_range(const size_t chan) const override
#define UHD_API
Definition config.h:87
Definition build_info.hpp:12
direction_t
Definition direction.hpp:12
Definition ranges.hpp:66