USRP Hardware Driver and USRP Manual  Version: 4.1.0.4-3
UHD and USRP Manual
fosphor_block_control.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 
9 #include <uhd/config.hpp>
11 
12 namespace uhd { namespace rfnoc {
13 
16  RATIO_1_1,
17  RATIO_1_8,
18  RATIO_1_64,
20 };
21 
99 {
100 public:
102 
103  // Block registers
104  static const uint32_t REG_ENABLE_ADDR;
105  static const uint32_t REG_CLEAR_ADDR;
106  static const uint32_t REG_RANDOM_ADDR;
107  static const uint32_t REG_DECIM_ADDR;
108  static const uint32_t REG_OFFSET_ADDR;
109  static const uint32_t REG_SCALE_ADDR;
110  static const uint32_t REG_TRISE_ADDR;
111  static const uint32_t REG_TDECAY_ADDR;
112  static const uint32_t REG_ALPHA_ADDR;
113  static const uint32_t REG_EPSILON_ADDR;
114  static const uint32_t REG_WF_CTRL_ADDR;
115  static const uint32_t REG_WF_DECIM_ADDR;
116 
123  virtual void set_enable_histogram(const bool enable_histogram) = 0;
124 
131  virtual bool get_enable_histogram() const = 0;
132 
139  virtual void set_enable_waterfall(const bool enable_waterfall) = 0;
140 
147  virtual bool get_enable_waterfall() const = 0;
148 
154  virtual void clear_history() = 0;
155 
163  virtual void set_enable_dither(const bool enable_dither) = 0;
164 
171  virtual bool get_enable_dither() const = 0;
172 
180  virtual void set_enable_noise(const bool enable_noise) = 0;
181 
188  virtual bool get_enable_noise() const = 0;
189 
200  virtual void set_histogram_decimation(const uint16_t decimation) = 0;
201 
208  virtual uint16_t get_histogram_decimation() const = 0;
209 
217  virtual void set_histogram_offset(const uint16_t offset) = 0;
218 
225  virtual uint16_t get_histogram_offset() const = 0;
226 
234  virtual void set_histogram_scale(const uint16_t scale) = 0;
235 
242  virtual uint16_t get_histogram_scale() const = 0;
243 
255  virtual void set_histogram_rise_rate(const uint16_t rise_rate) = 0;
256 
263  virtual uint16_t get_histogram_rise_rate() const = 0;
264 
276  virtual void set_histogram_decay_rate(const uint16_t decay_rate) = 0;
277 
284  virtual uint16_t get_histogram_decay_rate() const = 0;
285 
295  virtual void set_spectrum_alpha(const uint16_t alpha) = 0;
296 
304  virtual uint16_t get_spectrum_alpha() const = 0;
305 
314  virtual void set_spectrum_max_hold_decay(const uint16_t epsilon) = 0;
315 
323  virtual uint16_t get_spectrum_max_hold_decay() const = 0;
324 
331  virtual void set_waterfall_predivision(
332  const fosphor_waterfall_predivision_ratio waterfall_predivision) = 0;
333 
340  virtual fosphor_waterfall_predivision_ratio get_waterfall_predivision() const = 0;
341 
353  virtual void set_waterfall_mode(const fosphor_waterfall_mode waterfall_mode) = 0;
354 
361  virtual fosphor_waterfall_mode get_waterfall_mode() const = 0;
362 
372  virtual void set_waterfall_decimation(const uint16_t waterfall_decimation) = 0;
373 
380  virtual uint16_t get_waterfall_decimation() const = 0;
381 };
382 
383 }} // namespace uhd::rfnoc
Definition: fosphor_block_control.hpp:99
Definition: noc_block_base.hpp:42
#define UHD_API
Definition: config.h:70
fosphor_waterfall_predivision_ratio
Definition: fosphor_block_control.hpp:15
fosphor_waterfall_mode
Definition: fosphor_block_control.hpp:14
Definition: build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition: noc_block_base.hpp:21