USRP Hardware Driver and USRP Manual Version: 4.1.0.1
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
12namespace uhd { namespace rfnoc {
13
20};
21
99{
100public:
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