USRP Hardware Driver and USRP Manual Version: 20250415.0.git50967d13.fc43
UHD and USRP Manual
 
Loading...
Searching...
No Matches
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
21
100{
101public:
103
104 // Block registers
105 static const uint32_t REG_ENABLE_ADDR;
106 static const uint32_t REG_CLEAR_ADDR;
107 static const uint32_t REG_RANDOM_ADDR;
108 static const uint32_t REG_DECIM_ADDR;
109 static const uint32_t REG_OFFSET_ADDR;
110 static const uint32_t REG_SCALE_ADDR;
111 static const uint32_t REG_TRISE_ADDR;
112 static const uint32_t REG_TDECAY_ADDR;
113 static const uint32_t REG_ALPHA_ADDR;
114 static const uint32_t REG_EPSILON_ADDR;
115 static const uint32_t REG_WF_CTRL_ADDR;
116 static const uint32_t REG_WF_DECIM_ADDR;
117
124 virtual void set_enable_histogram(const bool enable_histogram) = 0;
125
132 virtual bool get_enable_histogram() const = 0;
133
140 virtual void set_enable_waterfall(const bool enable_waterfall) = 0;
141
148 virtual bool get_enable_waterfall() const = 0;
149
155 virtual void clear_history() = 0;
156
164 virtual void set_enable_dither(const bool enable_dither) = 0;
165
172 virtual bool get_enable_dither() const = 0;
173
181 virtual void set_enable_noise(const bool enable_noise) = 0;
182
189 virtual bool get_enable_noise() const = 0;
190
201 virtual void set_histogram_decimation(const uint16_t decimation) = 0;
202
209 virtual uint16_t get_histogram_decimation() const = 0;
210
218 virtual void set_histogram_offset(const uint16_t offset) = 0;
219
226 virtual uint16_t get_histogram_offset() const = 0;
227
235 virtual void set_histogram_scale(const uint16_t scale) = 0;
236
243 virtual uint16_t get_histogram_scale() const = 0;
244
256 virtual void set_histogram_rise_rate(const uint16_t rise_rate) = 0;
257
264 virtual uint16_t get_histogram_rise_rate() const = 0;
265
277 virtual void set_histogram_decay_rate(const uint16_t decay_rate) = 0;
278
285 virtual uint16_t get_histogram_decay_rate() const = 0;
286
296 virtual void set_spectrum_alpha(const uint16_t alpha) = 0;
297
305 virtual uint16_t get_spectrum_alpha() const = 0;
306
315 virtual void set_spectrum_max_hold_decay(const uint16_t epsilon) = 0;
316
324 virtual uint16_t get_spectrum_max_hold_decay() const = 0;
325
333 const fosphor_waterfall_predivision_ratio waterfall_predivision) = 0;
334
342
354 virtual void set_waterfall_mode(const fosphor_waterfall_mode waterfall_mode) = 0;
355
363
373 virtual void set_waterfall_decimation(const uint16_t waterfall_decimation) = 0;
374
381 virtual uint16_t get_waterfall_decimation() const = 0;
382};
383
384}} // namespace uhd::rfnoc
Definition fosphor_block_control.hpp:100
virtual void set_waterfall_mode(const fosphor_waterfall_mode waterfall_mode)=0
static const uint32_t REG_SCALE_ADDR
Definition fosphor_block_control.hpp:110
virtual void set_enable_waterfall(const bool enable_waterfall)=0
virtual void set_histogram_rise_rate(const uint16_t rise_rate)=0
virtual void set_waterfall_decimation(const uint16_t waterfall_decimation)=0
virtual uint16_t get_histogram_offset() const =0
static const uint32_t REG_TDECAY_ADDR
Definition fosphor_block_control.hpp:112
static const uint32_t REG_OFFSET_ADDR
Definition fosphor_block_control.hpp:109
virtual uint16_t get_histogram_decimation() const =0
virtual uint16_t get_histogram_rise_rate() const =0
virtual void set_histogram_decay_rate(const uint16_t decay_rate)=0
virtual fosphor_waterfall_predivision_ratio get_waterfall_predivision() const =0
virtual uint16_t get_waterfall_decimation() const =0
virtual void set_enable_histogram(const bool enable_histogram)=0
virtual void set_histogram_decimation(const uint16_t decimation)=0
virtual fosphor_waterfall_mode get_waterfall_mode() const =0
virtual bool get_enable_histogram() const =0
static const uint32_t REG_CLEAR_ADDR
Definition fosphor_block_control.hpp:106
virtual void set_spectrum_max_hold_decay(const uint16_t epsilon)=0
virtual void set_histogram_scale(const uint16_t scale)=0
virtual uint16_t get_histogram_decay_rate() const =0
static const uint32_t REG_WF_CTRL_ADDR
Definition fosphor_block_control.hpp:115
virtual bool get_enable_waterfall() const =0
virtual void set_spectrum_alpha(const uint16_t alpha)=0
static const uint32_t REG_EPSILON_ADDR
Definition fosphor_block_control.hpp:114
virtual void set_histogram_offset(const uint16_t offset)=0
virtual void set_waterfall_predivision(const fosphor_waterfall_predivision_ratio waterfall_predivision)=0
virtual void set_enable_noise(const bool enable_noise)=0
virtual uint16_t get_spectrum_alpha() const =0
static const uint32_t REG_WF_DECIM_ADDR
Definition fosphor_block_control.hpp:116
static const uint32_t REG_RANDOM_ADDR
Definition fosphor_block_control.hpp:107
virtual bool get_enable_dither() const =0
virtual void set_enable_dither(const bool enable_dither)=0
static const uint32_t REG_ALPHA_ADDR
Definition fosphor_block_control.hpp:113
static const uint32_t REG_ENABLE_ADDR
Definition fosphor_block_control.hpp:105
virtual uint16_t get_histogram_scale() const =0
virtual bool get_enable_noise() const =0
static const uint32_t REG_TRISE_ADDR
Definition fosphor_block_control.hpp:111
virtual uint16_t get_spectrum_max_hold_decay() const =0
static const uint32_t REG_DECIM_ADDR
Definition fosphor_block_control.hpp:108
noc_block_base(make_args_ptr make_args)
#define UHD_API
Definition config.h:87
Definition actions.hpp:24
fosphor_waterfall_predivision_ratio
Definition fosphor_block_control.hpp:15
@ RATIO_1_8
Definition fosphor_block_control.hpp:17
@ RATIO_1_256
Definition fosphor_block_control.hpp:19
@ RATIO_1_1
Definition fosphor_block_control.hpp:16
@ RATIO_1_64
Definition fosphor_block_control.hpp:18
fosphor_waterfall_mode
Definition fosphor_block_control.hpp:14
@ AVERAGE
Definition fosphor_block_control.hpp:14
@ MAX_HOLD
Definition fosphor_block_control.hpp:14
Definition build_info.hpp:12
#define RFNOC_DECLARE_BLOCK(CLASS_NAME)
Definition noc_block_base.hpp:22