GNU Radio Manual and C++ API Reference 3.10.3.0
The Free & Open Software Radio Ecosystem
dds_control_impl.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2019 Analog Devices Inc.
4 * Author: Travis Collins <travis.collins@analog.com>
5 *
6 * SPDX-License-Identifier: GPL-3.0-or-later
7 *
8 */
9
10#ifndef INCLUDED_IIO_DDS_CONTROL_IMPL_H
11#define INCLUDED_IIO_DDS_CONTROL_IMPL_H
12
13#include "device_source_impl.h"
15#include <iio.h>
16#include <pmt/pmt.h>
17
18#include <string>
19#include <vector>
20
21namespace gr {
22namespace iio {
23
25{
26private:
27 std::vector<int> d_enabled;
28 std::vector<long> d_frequencies;
29 std::vector<float> d_phases;
30 std::vector<float> d_scales;
31 std::string d_uri;
32
33protected:
34 iio_context* d_ctx;
35 iio_device* d_dev;
36
37public:
38 dds_control_impl(const std::string& uri,
39 std::vector<int> enabled,
40 std::vector<long> frequencies,
41 std::vector<float> phases,
42 std::vector<float> scales);
44
45 void set_dds_confg(std::vector<long> frequencies,
46 std::vector<float> phases,
47 std::vector<float> scales);
48
49 // void write_attribute(pmt::pmt_t pdu);
50};
51
52} // namespace iio
53} // namespace gr
54
55#endif /* INCLUDED_IIO_DDS_CONTROL_IMPL_H */
Definition: dds_control_impl.h:25
iio_device * d_dev
Definition: dds_control_impl.h:35
void set_dds_confg(std::vector< long > frequencies, std::vector< float > phases, std::vector< float > scales)
iio_context * d_ctx
Definition: dds_control_impl.h:34
dds_control_impl(const std::string &uri, std::vector< int > enabled, std::vector< long > frequencies, std::vector< float > phases, std::vector< float > scales)
Control block for DDSs which are available in controlling FPGAs of certain IIO drivers.
Definition: dds_control.h:31
GNU Radio logging wrapper.
Definition: basic_block.h:29