GNU Radio Manual and C++ API Reference  v3.9.2.0-89-gb7c7001e
The Free & Open Software Radio Ecosystem
source_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2021 Jeff Long
4  * Copyright 2018-2021 Libre Space Foundation <http://libre.space>
5  *
6  * SPDX-License-Identifier: GPL-3.0-or-later
7  */
8 
9 #ifndef INCLUDED_GR_SOAPY_SOURCE_IMPL_H
10 #define INCLUDED_GR_SOAPY_SOURCE_IMPL_H
11 
12 #include <functional>
13 
14 #include "block_impl.h"
15 #include <gnuradio/io_signature.h>
16 #include <gnuradio/soapy/source.h>
17 
18 #include <SoapySDR/Device.hpp>
19 #include <SoapySDR/Modules.hpp>
20 #include <SoapySDR/Registry.hpp>
21 #include <SoapySDR/Version.hpp>
22 
23 namespace gr {
24 namespace soapy {
25 
26 /*!
27  * \brief Source block implementation for SDR devices.
28  */
29 
30 class source_impl : public source, public block_impl
31 {
32 public:
33  source_impl(const std::string& device,
34  const std::string& type,
35  size_t nchan,
36  const std::string& dev_args,
37  const std::string& stream_args,
38  const std::vector<std::string>& tune_args,
39  const std::vector<std::string>& other_settings);
40  ~source_impl() override{};
41 
42  int general_work(int noutput_items,
43  gr_vector_int& ninput_items,
44  gr_vector_const_void_star& input_items,
45  gr_vector_void_star& output_items) override;
46 };
47 
48 } // namespace soapy
49 } // namespace gr
50 
51 #endif /* INCLUDED_GR_SOAPY_SOURCE_IMPL_H */
Base block implementation for SDR devices.
Definition: block_impl.h:35
Source block implementation for SDR devices.
Definition: source_impl.h:31
~source_impl() override
Definition: source_impl.h:40
source_impl(const std::string &device, const std::string &type, size_t nchan, const std::string &dev_args, const std::string &stream_args, const std::vector< std::string > &tune_args, const std::vector< std::string > &other_settings)
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override
compute output items from input items
Definition: gr-soapy/include/gnuradio/soapy/source.h:41
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
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
std::vector< int > gr_vector_int
Definition: types.h:23