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 
21 namespace gr {
22 namespace iio {
23 
25 {
26 private:
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 
33 protected:
34  iio_context* d_ctx;
35  iio_device* d_dev;
36 
37 public:
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