Imported Upstream version 3.2.2
[debian/gnuradio] / gr-usrp / src / usrp_source_base.i
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2008 Free Software Foundation, Inc.
4  * 
5  * This file is part of GNU Radio
6  * 
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  * 
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING.  If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22
23 %{
24 #include "usrp_source_base.h"
25 %}
26
27 class usrp_source_base : public usrp_base 
28 {
29 private:
30   usrp_source_base() throw (std::runtime_error);
31
32 public:
33   bool set_decim_rate (unsigned int rate);
34   bool set_nchannels (int nchan);
35   bool set_mux (int mux);
36   %rename(_real_determine_rx_mux_value) determine_rx_mux_value;
37   int determine_rx_mux_value(usrp_subdev_spec ss);
38   int determine_rx_mux_value(usrp_subdev_spec ss_a, usrp_subdev_spec ss_b);
39   bool set_rx_freq (int channel, double freq);
40   bool set_fpga_mode (int mode);
41   bool set_ddc_phase(int channel, int phase);
42   long adc_rate() const { return converter_rate(); }
43   long adc_freq() const { return converter_rate(); }
44   unsigned int decim_rate () const;
45   int nchannels () const;
46   int mux () const;
47   double rx_freq (int channel) const;
48   int noverruns () const { return d_noverruns; }
49   bool has_rx_halfband();
50   bool has_tx_halfband();
51   int nddcs();
52   int nducs();
53   bool set_format(unsigned int format);
54   static unsigned int make_format(int width=16, int shift=0,
55                                   bool want_q=true, bool bypass_halfband=false);
56   static int format_width(unsigned int format);
57   static int format_shift(unsigned int format);
58   static bool format_want_q(unsigned int format);
59   static bool format_bypass_halfband(unsigned int format);
60   %rename(_real_tune) tune;
61   bool tune(int chan, db_base_sptr db, double target_freq, usrp_tune_result *result);
62   %rename(_real_pick_rx_subdevice) pick_rx_subdevice();
63   usrp_subdev_spec pick_rx_subdevice();
64 };