USRP Hardware Driver and USRP Manual Version: 4.8.0.0+ds1-1
UHD and USRP Manual
 
Loading...
Searching...
No Matches
core_iface.hpp
Go to the documentation of this file.
1//
2// Copyright 2020 Ettus Research, a National Instruments Brand
3//
4// SPDX-License-Identifier: GPL-3.0-or-later
5//
6
7#pragma once
8
10#include <uhd/types/ranges.hpp>
11#include <stdint.h>
12#include <memory>
13#include <string>
14#include <vector>
15
16namespace uhd { namespace rfnoc { namespace rf_control {
17
26{
27public:
28 using sptr = std::shared_ptr<core_iface>;
29
30 virtual ~core_iface() = default;
31
36 virtual std::string get_tx_antenna(const size_t chan) const = 0;
37
42 virtual std::vector<std::string> get_tx_antennas(const size_t chan) const = 0;
43
48 virtual void set_tx_antenna(const std::string& ant, const size_t chan) = 0;
49
54 virtual std::string get_rx_antenna(const size_t chan) const = 0;
55
60 virtual std::vector<std::string> get_rx_antennas(const size_t chan) const = 0;
61
66 virtual void set_rx_antenna(const std::string& ant, const size_t chan) = 0;
67
72 virtual double get_tx_frequency(const size_t chan) = 0;
73
96 virtual double set_tx_frequency(const double freq, size_t chan) = 0;
97
100 virtual void set_tx_tune_args(const uhd::device_addr_t& args, const size_t chan) = 0;
101
106 virtual uhd::freq_range_t get_tx_frequency_range(const size_t chan) const = 0;
107
112 virtual double get_rx_frequency(const size_t chan) = 0;
113
135 virtual double set_rx_frequency(const double freq, const size_t chan) = 0;
136
139 virtual void set_rx_tune_args(const uhd::device_addr_t& args, const size_t chan) = 0;
140
145 virtual uhd::freq_range_t get_rx_frequency_range(const size_t chan) const = 0;
146
149 virtual std::vector<std::string> get_tx_gain_names(const size_t chan) const = 0;
150
153 virtual uhd::gain_range_t get_tx_gain_range(const size_t chan) const = 0;
154
158 const std::string& name, const size_t chan) const = 0;
159
164 virtual double get_tx_gain(const size_t chan) = 0;
165
170 virtual double get_tx_gain(const std::string& name, const size_t chan) = 0;
171
182 virtual double set_tx_gain(const double gain, const size_t chan) = 0;
183
191 virtual double set_tx_gain(
192 const double gain, const std::string& name, const size_t chan) = 0;
193
196 virtual std::vector<std::string> get_rx_gain_names(const size_t chan) const = 0;
197
200 virtual uhd::gain_range_t get_rx_gain_range(const size_t chan) const = 0;
201
205 const std::string& name, const size_t chan) const = 0;
206
211 virtual double get_rx_gain(const size_t chan) = 0;
212
217 virtual double get_rx_gain(const std::string& name, const size_t chan) = 0;
218
226 virtual double set_rx_gain(const double gain, const size_t chan) = 0;
227
235 virtual double set_rx_gain(
236 const double gain, const std::string& name, const size_t chan) = 0;
237
242 virtual void set_rx_agc(const bool enable, const size_t chan) = 0;
243
246 virtual meta_range_t get_tx_bandwidth_range(size_t chan) const = 0;
247
252 virtual double get_tx_bandwidth(const size_t chan) = 0;
253
260 virtual double set_tx_bandwidth(const double bandwidth, const size_t chan) = 0;
261
264 virtual meta_range_t get_rx_bandwidth_range(size_t chan) const = 0;
265
270 virtual double get_rx_bandwidth(const size_t chan) = 0;
271
278 virtual double set_rx_bandwidth(const double bandwidth, const size_t chan) = 0;
279
280 /**************************************************************************
281 * LO Controls
282 *************************************************************************/
288 virtual std::vector<std::string> get_rx_lo_names(const size_t chan) const = 0;
289
298 virtual std::vector<std::string> get_rx_lo_sources(
299 const std::string& name, const size_t chan) const = 0;
300
310 const std::string& name, const size_t chan) const = 0;
311
321 virtual void set_rx_lo_source(
322 const std::string& src, const std::string& name, const size_t chan) = 0;
323
332 virtual std::string get_rx_lo_source(const std::string& name, const size_t chan) = 0;
333
343 bool enabled, const std::string& name, const size_t chan) = 0;
344
350 virtual bool get_rx_lo_export_enabled(const std::string& name, const size_t chan) = 0;
351
359 virtual double set_rx_lo_freq(
360 double freq, const std::string& name, const size_t chan) = 0;
361
370 virtual double get_rx_lo_freq(const std::string& name, const size_t chan) = 0;
371
377 virtual std::vector<std::string> get_tx_lo_names(const size_t chan) const = 0;
378
387 virtual std::vector<std::string> get_tx_lo_sources(
388 const std::string& name, const size_t chan) const = 0;
389
399 const std::string& name, const size_t chan) = 0;
400
410 virtual void set_tx_lo_source(
411 const std::string& src, const std::string& name, const size_t chan) = 0;
412
421 virtual std::string get_tx_lo_source(const std::string& name, const size_t chan) = 0;
422
432 const bool enabled, const std::string& name, const size_t chan) = 0;
433
439 virtual bool get_tx_lo_export_enabled(const std::string& name, const size_t chan) = 0;
440
450 virtual double set_tx_lo_freq(
451 const double freq, const std::string& name, const size_t chan) = 0;
452
464 virtual double get_tx_lo_freq(const std::string& name, const size_t chan) = 0;
465};
466
467}}} // namespace uhd::rfnoc::rf_control
Definition device_addr.hpp:39
Definition core_iface.hpp:26
virtual double set_rx_lo_freq(double freq, const std::string &name, const size_t chan)=0
virtual meta_range_t get_rx_bandwidth_range(size_t chan) const =0
virtual double get_rx_bandwidth(const size_t chan)=0
virtual std::string get_rx_antenna(const size_t chan) const =0
virtual void set_rx_lo_source(const std::string &src, const std::string &name, const size_t chan)=0
virtual double set_tx_lo_freq(const double freq, const std::string &name, const size_t chan)=0
virtual uhd::freq_range_t get_rx_frequency_range(const size_t chan) const =0
virtual double get_rx_gain(const size_t chan)=0
virtual bool get_tx_lo_export_enabled(const std::string &name, const size_t chan)=0
virtual double get_tx_gain(const size_t chan)=0
virtual bool get_rx_lo_export_enabled(const std::string &name, const size_t chan)=0
virtual double get_tx_bandwidth(const size_t chan)=0
virtual double set_tx_gain(const double gain, const size_t chan)=0
virtual double set_rx_bandwidth(const double bandwidth, const size_t chan)=0
virtual double get_tx_gain(const std::string &name, const size_t chan)=0
virtual double set_rx_gain(const double gain, const size_t chan)=0
virtual void set_rx_tune_args(const uhd::device_addr_t &args, const size_t chan)=0
virtual double set_rx_gain(const double gain, const std::string &name, const size_t chan)=0
virtual void set_rx_lo_export_enabled(bool enabled, const std::string &name, const size_t chan)=0
virtual void set_rx_agc(const bool enable, const size_t chan)=0
virtual void set_tx_lo_source(const std::string &src, const std::string &name, const size_t chan)=0
virtual void set_rx_antenna(const std::string &ant, const size_t chan)=0
virtual meta_range_t get_tx_bandwidth_range(size_t chan) const =0
virtual double get_tx_frequency(const size_t chan)=0
virtual std::string get_tx_antenna(const size_t chan) const =0
virtual std::vector< std::string > get_rx_lo_names(const size_t chan) const =0
virtual std::vector< std::string > get_rx_gain_names(const size_t chan) const =0
virtual double get_rx_gain(const std::string &name, const size_t chan)=0
virtual uhd::gain_range_t get_rx_gain_range(const std::string &name, const size_t chan) const =0
virtual double set_tx_bandwidth(const double bandwidth, const size_t chan)=0
virtual std::string get_rx_lo_source(const std::string &name, const size_t chan)=0
virtual uhd::gain_range_t get_tx_gain_range(const std::string &name, const size_t chan) const =0
virtual double set_tx_gain(const double gain, const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_tx_gain_names(const size_t chan) const =0
virtual uhd::gain_range_t get_rx_gain_range(const size_t chan) const =0
virtual double set_tx_frequency(const double freq, size_t chan)=0
virtual std::vector< std::string > get_tx_antennas(const size_t chan) const =0
virtual double get_rx_frequency(const size_t chan)=0
std::shared_ptr< core_iface > sptr
Definition core_iface.hpp:28
virtual std::vector< std::string > get_rx_lo_sources(const std::string &name, const size_t chan) const =0
virtual double get_tx_lo_freq(const std::string &name, const size_t chan)=0
virtual uhd::freq_range_t get_tx_frequency_range(const size_t chan) const =0
virtual freq_range_t get_rx_lo_freq_range(const std::string &name, const size_t chan) const =0
virtual std::vector< std::string > get_tx_lo_sources(const std::string &name, const size_t chan) const =0
virtual void set_tx_tune_args(const uhd::device_addr_t &args, const size_t chan)=0
virtual uhd::gain_range_t get_tx_gain_range(const size_t chan) const =0
virtual void set_tx_lo_export_enabled(const bool enabled, const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_tx_lo_names(const size_t chan) const =0
virtual double set_rx_frequency(const double freq, const size_t chan)=0
virtual std::vector< std::string > get_rx_antennas(const size_t chan) const =0
virtual void set_tx_antenna(const std::string &ant, const size_t chan)=0
virtual std::string get_tx_lo_source(const std::string &name, const size_t chan)=0
virtual freq_range_t get_tx_lo_freq_range(const std::string &name, const size_t chan)=0
virtual double get_rx_lo_freq(const std::string &name, const size_t chan)=0
Definition build_info.hpp:12
Definition ranges.hpp:66