10#ifndef INCLUDED_IIO_FMCOMMS2_SINK_IMPL_H
11#define INCLUDED_IIO_FMCOMMS2_SINK_IMPL_H
21#include <volk/volk_alloc.hh>
30 bool cyclic, stop_thread;
33 std::thread underflow_thd;
34 std::vector<std::string>
36 get_channels_vector(
bool ch1_en,
bool ch2_en,
bool ch3_en,
bool ch4_en);
37 std::vector<std::string> get_channels_vector(
const std::vector<bool>& ch_en);
38 void check_underflow(
void);
40 const static int s_initial_device_buf_size = 8192;
42 std::vector<volk::vector<short>> d_device_bufs;
44 volk::vector<float> d_float_r;
45 volk::vector<float> d_float_i;
47 int work(
int noutput_items,
53 const std::vector<bool>& ch_en,
67 const std::string& filter_filename =
"",
Definition: device_sink_impl.h:23
unsigned int buffer_size
Definition: device_sink_impl.h:34
iio_context * ctx
Definition: device_sink_impl.h:29
Definition: fmcomms2_sink_impl.h:28
virtual void set_rf_port_select(const std::string &rf_port_select)
std::string d_filter_source
Definition: fmcomms2_sink_impl.h:78
virtual void set_samplerate(unsigned long samplerate)
std::string d_rf_port_select
Definition: fmcomms2_sink_impl.h:77
unsigned long long d_frequency
Definition: fmcomms2_sink_impl.h:72
unsigned long d_samplerate
Definition: fmcomms2_sink_impl.h:73
virtual void set_attenuation(size_t chan, double gain)
fmcomms2_sink_impl(iio_context *ctx, const std::vector< bool > &ch_en, unsigned long buffer_size, bool cyclic)
virtual void set_len_tag_key(const std::string &len_tag_key)
virtual void set_bandwidth(unsigned long bandwidth)
float d_fstop
Definition: fmcomms2_sink_impl.h:81
virtual void set_filter_params(const std::string &filter_source, const std::string &filter_filename="", float fpass=0.0, float fstop=0.0)
float d_fpass
Definition: fmcomms2_sink_impl.h:80
virtual void set_frequency(double frequency)
unsigned long d_bandwidth
Definition: fmcomms2_sink_impl.h:74
std::string d_filter_filename
Definition: fmcomms2_sink_impl.h:79
std::vector< double > d_attenuation
Definition: fmcomms2_sink_impl.h:76
void update_dependent_params()
Device specific sink for FMComms evaluation cards.
Definition: fmcomms2_sink.h:35
GNU Radio logging wrapper.
Definition: basic_block.h:29
std::vector< const void * > gr_vector_const_void_star
Definition: types.h:28
std::vector< void * > gr_vector_void_star
Definition: types.h:27