GNU Radio's SDRPLAY Package
rspduo_source.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2018 HB9FXQ, Frank Werner-Krippendorf.
4  *
5  * This is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 3, or (at your option)
8  * any later version.
9  *
10  * This software is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this software; see the file COPYING. If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street,
18  * Boston, MA 02110-1301, USA.
19  */
20 
21 
22 #ifndef INCLUDED_SDRPLAY_RSPDUO_SOURCE_H
23 #define INCLUDED_SDRPLAY_RSPDUO_SOURCE_H
24 
25 #include <sdrplay/api.h>
26 #include <gnuradio/sync_block.h>
27 
28 #include <boost/assign.hpp>
29 #include <boost/format.hpp>
30 #include <boost/thread/mutex.hpp>
31 #include <boost/thread/condition_variable.hpp>
32 #include <boost/chrono.hpp>
33 
34 #include <iostream>
35 #include <mutex>
36 
37 
38 
39 namespace gr {
40  namespace sdrplay {
41 
42 
43 #define MAX_SUPPORTED_DEVICES 4
44 
45  /*!
46  * \brief <+description of block+>
47  * \ingroup sdrplay
48  *
49  */
50  class SDRPLAY_API rspduo_source : virtual public gr::sync_block
51  {
52  public:
53  typedef boost::shared_ptr<rspduo_source> sptr;
54 
55  static sptr make(double rf_freq, double bw, bool agc_enabled, double if_atten_db,
56  bool dc_offset_mode, bool iq_balance_mode, bool debug_enabled, int if_type, int lo_mode,
57  double sample_rate, bool bcast_notch, bool dab_notch, int lna_atten_step, bool bias_t,
58  std::string device_serial, std::string antenna);
59 
60  virtual void set_rf_freq(float rf_freq) = 0;
61 
62  virtual void set_agc_enabled(bool agc_enabled) = 0;
63 
64  virtual void set_if_atten_db(int if_atten_db) = 0;
65  virtual void set_lna_atten_step(int lna_atten_step) = 0;
66 
67 
68  virtual void set_biasT(bool bias_t) = 0;
69  };
70 
71  } // namespace sdrplay
72 } // namespace gr
73 
74 #endif /* INCLUDED_SDRPLAY_RSPDUO_SOURCE_H */
75 
<+description of block+>
Definition: rspduo_source.h:50
boost::shared_ptr< rspduo_source > sptr
Definition: rspduo_source.h:53
Definition: rsp1_source.h:28
#define SDRPLAY_API
Definition: api.h:31