summaryrefslogtreecommitdiff
path: root/gr-iio/lib/fmcomms2_source_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-iio/lib/fmcomms2_source_impl.h')
-rw-r--r--gr-iio/lib/fmcomms2_source_impl.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/gr-iio/lib/fmcomms2_source_impl.h b/gr-iio/lib/fmcomms2_source_impl.h
index ebad428de7..1fa848eba4 100644
--- a/gr-iio/lib/fmcomms2_source_impl.h
+++ b/gr-iio/lib/fmcomms2_source_impl.h
@@ -17,10 +17,13 @@
#include <thread>
#include <vector>
+#include <volk/volk_alloc.hh>
+
namespace gr {
namespace iio {
-class fmcomms2_source_impl : public fmcomms2_source, public device_source_impl
+template <typename T>
+class fmcomms2_source_impl : public fmcomms2_source<T>, public device_source_impl
{
private:
std::vector<std::string>
@@ -29,6 +32,17 @@ private:
std::thread overflow_thd;
void check_overflow(void);
+ const static int s_initial_device_buf_size = 8192;
+ std::vector<volk::vector<short>> d_device_bufs;
+ gr_vector_void_star d_device_item_ptrs;
+ volk::vector<float> d_float_rvec;
+ volk::vector<float> d_float_ivec;
+
+ int work(int noutput_items,
+ gr_vector_const_void_star& input_items,
+ gr_vector_void_star& output_items);
+
+
public:
fmcomms2_source_impl(iio_context* ctx,
const std::vector<bool>& ch_en,