USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
UHD and USRP Manual
null_block_ctrl.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2014-2018 Ettus Research, a National Instruments Company
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #ifndef INCLUDED_LIBUHD_RFNOC_NULL_BLOCK_CTRL_HPP
8 #define INCLUDED_LIBUHD_RFNOC_NULL_BLOCK_CTRL_HPP
9 
12 
13 namespace uhd { namespace rfnoc {
14 
34 {
35 public:
36  // This macro must always be at the top of the public section in an RFNoC block class
38 
39 
40  static const uint32_t SR_LINES_PER_PACKET = 129;
42  static const uint32_t SR_LINE_RATE = 130;
44  static const uint32_t SR_ENABLE_STREAM = 131;
45 
46  static const size_t DEFAULT_LINES_PER_PACKET = 32;
47  static const size_t BYTES_PER_LINE = 8;
48 
50  // Note: This is 'cycles per line', so the bit rate is actually
51  // 64 times this value (byte/s is 8*rate etc.)
52  //
53  // Equivalent to writing to line_rate/value in the property tree.
54  //
55  // \param The rate you want to set this to
56  // \param The clock rate of this block's clock domain
57  // \returns the actual line rate (will find closest possible).
58  virtual double set_line_rate(double rate, double clock_rate = 166.6e6) = 0;
59 
61  // from the property tree.
62  virtual double get_line_rate(double clock_rate = 166.6e6) const = 0;
63 
64 }; /* class null_block_ctrl*/
65 
66 }} /* namespace uhd::rfnoc */
67 
68 #endif /* INCLUDED_LIBUHD_RFNOC_NULL_BLOCK_CTRL_HPP */
static const uint32_t SR_LINE_RATE
Set this register to number of cycles between producing a line.
Definition: null_block_ctrl.hpp:42
static const uint32_t SR_LINES_PER_PACKET
Set this register to number of lines per packet.
Definition: null_block_ctrl.hpp:40
#define UHD_RFNOC_BLOCK_OBJECT(class_name)
This macro must be put in the public section of an RFNoC.
Definition: block_ctrl_base.hpp:59
Definition: sink_block_ctrl_base.hpp:25
virtual double set_line_rate(double rate, double clock_rate=166.6e6)=0
Custom function to set the rate at which data is produced.
static const size_t DEFAULT_LINES_PER_PACKET
Definition: null_block_ctrl.hpp:46
Provide access to a 'null block'.
Definition: null_block_ctrl.hpp:33
Definition: build_info.hpp:13
Definition: source_block_ctrl_base.hpp:24
virtual double get_line_rate(double clock_rate=166.6e6) const =0
Return the current line rate. Equivalent to reading line_rate/value.
static const uint32_t SR_ENABLE_STREAM
Set this register to non-zero to start producing data.
Definition: null_block_ctrl.hpp:44
static const size_t BYTES_PER_LINE
Definition: null_block_ctrl.hpp:47