diff options
author | Sugandha Gupta <sugandha.gupta@ettus.com> | 2019-10-15 11:52:46 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 12:21:32 -0800 |
commit | a801d6b046743140e9a50c7788dd17dd71f5540a (patch) | |
tree | 58d164e1b4cb2a8d871ca532287699f3912ae3d8 /host/examples/rfnoc-example/include/rfnoc | |
parent | 2a7e69d862f661075b98bab19e58d958c28a9af8 (diff) | |
download | uhd-a801d6b046743140e9a50c7788dd17dd71f5540a.tar.gz uhd-a801d6b046743140e9a50c7788dd17dd71f5540a.tar.bz2 uhd-a801d6b046743140e9a50c7788dd17dd71f5540a.zip |
examples: Add example out-of-tree module for RFNoC modules
This subdirectory is its own, self-contained project. It is supposed to
work against the UHD version it is shipped with.
Co-Authored-By: Martin Braun <martin.braun@ettus.com>
Co-Authored-By: Wade Fife <wade.fife@ni.com>
Diffstat (limited to 'host/examples/rfnoc-example/include/rfnoc')
-rw-r--r-- | host/examples/rfnoc-example/include/rfnoc/example/CMakeLists.txt | 13 | ||||
-rw-r--r-- | host/examples/rfnoc-example/include/rfnoc/example/gain_block_control.hpp | 39 |
2 files changed, 52 insertions, 0 deletions
diff --git a/host/examples/rfnoc-example/include/rfnoc/example/CMakeLists.txt b/host/examples/rfnoc-example/include/rfnoc/example/CMakeLists.txt new file mode 100644 index 000000000..04ee6810e --- /dev/null +++ b/host/examples/rfnoc-example/include/rfnoc/example/CMakeLists.txt @@ -0,0 +1,13 @@ +# +# Copyright 2019 Ettus Research, a National Instruments Brand +# +# SPDX-License-Identifier: GPL-3.0-or-later +# + +# List all header files here (UHD and GNU Radio) +install( + FILES + gain_block_control.hpp + DESTINATION include/rfnoc/gain + COMPONENT headers +) diff --git a/host/examples/rfnoc-example/include/rfnoc/example/gain_block_control.hpp b/host/examples/rfnoc-example/include/rfnoc/example/gain_block_control.hpp new file mode 100644 index 000000000..5943454b8 --- /dev/null +++ b/host/examples/rfnoc-example/include/rfnoc/example/gain_block_control.hpp @@ -0,0 +1,39 @@ +// +// Copyright 2019 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#ifndef INCLUDED_RFNOC_EXAMPLE_GAIN_BLOCK_CONTROL_HPP +#define INCLUDED_RFNOC_EXAMPLE_GAIN_BLOCK_CONTROL_HPP + +#include <uhd/config.hpp> +#include <uhd/rfnoc/noc_block_base.hpp> +#include <uhd/types/stream_cmd.hpp> + +namespace rfnoc { namespace example { + +/*! Block controller for the gain block: Multiply amplitude of signal + * + * This block multiplies the signal input with a fixed gain value. + */ +class UHD_API gain_block_control : public uhd::rfnoc::noc_block_base +{ +public: + RFNOC_DECLARE_BLOCK(gain_block_control) + + //! The register address of the gain value + static const uint32_t REG_GAIN_VALUE; + + /*! Set the gain value + */ + virtual void set_gain_value(const uint32_t gain) = 0; + + /*! Get the current gain value (read it from the device) + */ + virtual uint32_t get_gain_value() = 0; +}; + +}} // namespace rfnoc::example + +#endif /* INCLUDED_RFNOC_EXAMPLE_GAIN_BLOCK_CONTROL_HPP */ |