GNU Radio Manual and C++ API Reference  3.10.2.0
The Free & Open Software Radio Ecosystem
fmcomms5_source_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2014 Analog Devices Inc.
4  * Author: Paul Cercueil <paul.cercueil@analog.com>
5  *
6  * SPDX-License-Identifier: GPL-3.0-or-later
7  *
8  */
9 
10 #ifndef INCLUDED_IIO_FMCOMMS5_SOURCE_IMPL_H
11 #define INCLUDED_IIO_FMCOMMS5_SOURCE_IMPL_H
12 
13 #include "device_source_impl.h"
15 
16 #include <string>
17 #include <vector>
18 
19 namespace gr {
20 namespace iio {
21 
23 {
24 private:
25  unsigned long samplerate;
26  iio_device* phy2;
27 
28  static void set_params(iio_device* phy_device,
29  unsigned long long frequency,
30  unsigned long samplerate,
31  unsigned long bandwidth,
32  bool quadrature,
33  bool rfdc,
34  bool bbdc,
35  const char* gain1,
36  double gain1_value,
37  const char* gain2,
38  double gain2_value,
39  const char* port_select,
40  const char* filter_source,
41  const char* filter_filename,
42  float Fpass,
43  float Fstop);
44 
45  std::vector<std::string> get_channels_vector(bool ch1_en,
46  bool ch2_en,
47  bool ch3_en,
48  bool ch4_en,
49  bool ch5_en,
50  bool ch6_en,
51  bool ch7_en,
52  bool ch8_en);
53 
54 public:
55  fmcomms5_source_impl(iio_context* ctx,
56  bool destroy_ctx,
57  unsigned long long frequency1,
58  unsigned long long frequency2,
59  unsigned long samplerate,
60  unsigned long bandwidth,
61  bool ch1_en,
62  bool ch2_en,
63  bool ch3_en,
64  bool ch4_en,
65  bool ch5_en,
66  bool ch6_en,
67  bool ch7_en,
68  bool ch8_en,
69  unsigned long buffer_size,
70  bool quadrature,
71  bool rfdc,
72  bool bbdc,
73  const char* gain1,
74  double gain1_value,
75  const char* gain2,
76  double gain2_value,
77  const char* gain3,
78  double gain3_value,
79  const char* gain4,
80  double gain4_value,
81  const char* rf_port_select,
82  const char* filter_source,
83  const char* filter_filename,
84  float Fpass,
85  float Fstop);
86 
87  void set_params(unsigned long long frequency1,
88  unsigned long long frequency2,
89  unsigned long samplerate,
90  unsigned long bandwidth,
91  bool quadrature,
92  bool rfdc,
93  bool bbdc,
94  const char* gain1,
95  double gain1_value,
96  const char* gain2,
97  double gain2_value,
98  const char* gain3,
99  double gain3_value,
100  const char* gain4,
101  double gain4_value,
102  const char* rf_port_select,
103  const char* filter_source,
104  const char* filter_filename,
105  float Fpass,
106  float Fstop);
107 };
108 
109 } // namespace iio
110 } // namespace gr
111 
112 #endif /* INCLUDED_IIO_FMCOMMS5_SOURCE_IMPL_H */
Definition: device_source_impl.h:37
bool destroy_ctx
Definition: device_source_impl.h:63
iio_context * ctx
Definition: device_source_impl.h:57
unsigned int buffer_size
Definition: device_source_impl.h:61
Definition: fmcomms5_source_impl.h:23
void set_params(unsigned long long frequency1, unsigned long long frequency2, unsigned long samplerate, unsigned long bandwidth, bool quadrature, bool rfdc, bool bbdc, const char *gain1, double gain1_value, const char *gain2, double gain2_value, const char *gain3, double gain3_value, const char *gain4, double gain4_value, const char *rf_port_select, const char *filter_source, const char *filter_filename, float Fpass, float Fstop)
fmcomms5_source_impl(iio_context *ctx, bool destroy_ctx, unsigned long long frequency1, unsigned long long frequency2, unsigned long samplerate, unsigned long bandwidth, bool ch1_en, bool ch2_en, bool ch3_en, bool ch4_en, bool ch5_en, bool ch6_en, bool ch7_en, bool ch8_en, unsigned long buffer_size, bool quadrature, bool rfdc, bool bbdc, const char *gain1, double gain1_value, const char *gain2, double gain2_value, const char *gain3, double gain3_value, const char *gain4, double gain4_value, const char *rf_port_select, const char *filter_source, const char *filter_filename, float Fpass, float Fstop)
Device specific source for the FMComms5 evaluation card.
Definition: fmcomms5_source.h:33
GNU Radio logging wrapper.
Definition: basic_block.h:29